lorri icon indicating copy to clipboard operation
lorri copied to clipboard

Crash report from lorri

Open kcalvinalvin opened this issue 1 year ago • 1 comments

Describe the bug Got a thread caused non-unwinding panic. aborting. and was asked to submit a crash report.

To Reproduce Steps to reproduce the behavior:

  1. lorri watch

Expected behavior Lorri watch to complete build without fail

Metadata

name = 'lorri'
operating_system = 'unix:Unknown'
crate_version = '1.6.0'
explanation = '''
Panic occurred in file 'library/core/src/panicking.rs' at line 126
'''
cause = 'panic in a function that cannot unwind'
method = 'Panic'
backtrace = '''

   0: 0x56550b165a47 - core::panicking::panic_nounwind::h6472c08d4f546031
   1: 0x56550b165ae3 - core::panicking::panic_cannot_unwind::h75a2a12f84e4c675
   2: 0x56550b1c4930 - lorri::run_async::Async<Res>::block::h7745a80ae84dd981
   3: 0x56550b1e3b80 - lorri::ops::watch::hc9b8d16578b0448c
   4: 0x56550b167dac - lorri::main::h166a684183b706f6
   5: 0x56550b16ed03 - std::sys_common::backtrace::__rust_begin_short_backtrace::h192a5b559516115b
   6: 0x56550b16d159 - std::rt::lang_start::{{closure}}::h53ed71a0308f27a7
   7: 0x56550b38c957 - std::rt::lang_start_internal::h691452d5fd9810c0
   8: 0x56550b169165 - main
   9: 0x7f87b3fb2fce - __libc_start_call_main
  10: 0x7f87b3fb3089 - __libc_start_main_impl
  11: 0x56550b165de5 - _start
  12:        0x0 - <unresolved>'''
$ lorri info
[I] deck@steamdeck ~/b/g/utreexo> lorri info
error: The following required arguments were not provided:
    --shell-file <nix_file>

USAGE:
    lorri info --shell-file <nix_file>

For more information try --help

[I] deck@steamdeck ~/b/g/utreexo> lorri info --shell-file shell.nix
GC roots exist, shell_gc_root: /home/deck/.cache/lorri/gc_roots/7b31e7bce9165b04d3806fff9dbcc1d6/gc_root/shell_gc_root
[N] deck@steamdeck ~/b/g/utreexo> lorri info --shell-file ./shell.nix
GC roots do not exist. Has the project been built with lorri yet?
$ uname -a
Linux steamdeck 6.1.52-valve9-1-neptune-61 #1 SMP PREEMPT_DYNAMIC Wed, 22 Nov 2023 23:43:34 +0000 x86_64 GNU/Linux

Additional context Not sure if it helps but I was trying to build this shell.nix file:

let                                                                                                                                                                                                    
  pkgs = import <nixpkgs> {};                                                                                                                                                                          
  PROJECT_ROOT = builtins.getEnv "PWD";                                                                                                                                                                
in                                                                                                                                                                                                     
with pkgs;                                                                                                                                                                                             
                                                                                                                                                                                                       
stdenv.mkDerivation rec {                                                                                                                                                                              
  name = "utreexo";                                                                                                                                                                                    
  env = buildEnv { name = name; paths = buildInputs; };                                                                                                                                                
  nativeBuildInputs = [                                                                                                                                                                                
    pkg-config                                                                                                                                                                                         
    autoreconfHook                                                                                                                                                                                     
    glibc                                                                                                                                                                                              
    binutils                                                                                                                                                                                           
  ];                                                                                                                                                                                                   
  buildInputs = [                                                                                                                                                                                      
    #go                                                                                                                                                                                                
    go                                                                                                                                                                                                 
    gopls                                                                                                                                                                                              
    graphviz # needed for pprof                                                                                                               
    #golangci-lint                                                                                                                            
                                                                                                                                              
    # cpp bitcoin deps                                                                                                                        
    openssl                                                                                                                 
    db48                                                                                                                    
    boost                                                                                                                   
    zlib                                                                                                                    
    zeromq                                                                                                                  
    miniupnpc                                                                                                               
    libevent                                                                                                                
    utillinux                                                                                                               
    python38Packages.pyzmq                                                                                                  
    ccache                                                                                                                  
                                                                                                                            
    ctags      

    gmp.dev 
    gmp.out
    ncurses.dev 
    ncurses.out                                               
                                                              
    valgrind                                                  
  ];                                             
  shellHook = ''                                 
    export GOPATH=${PROJECT_ROOT}/go                                                               
    export PATH=${PROJECT_ROOT}/go/bin:$PATH                                                       
    export GOENV=${PROJECT_ROOT}/go/env                                                            

    export NIX_SHELL_ENV=${name}                                                                   
    export USE_BOOST_LIBDIR="${boost.out}/lib"                                                     
    export LD_LIBRARY_PATH=${PROJECT_ROOT}/lib                                                     
  '';                                            
}                                                

EDIT: Might be a steam-deck specific permissions issue. Used sudo and it works?

[I] deck@steamdeck ~/b/g/utreexo [SIGABRT]> sudo lorri watch
Dec 02 03:26:15.252 INFO build message, message: BuildEvent(Started { nix_file: NixFile(AbsPathBuf("/home/deck/bitcoin-projects/go/utreexo/shell.nix")), reason: PingReceived }), nix_file: /home/deck/bitcoin-projects/go/utreexo/shell.nix
Dec 02 03:26:17.481 INFO build message, message: BuildEvent(Completed { nix_file: NixFile(AbsPathBuf("/home/deck/bitcoin-projects/go/utreexo/shell.nix")), rooted_output_paths: OutputPath { shell_gc_root: RootPath(AbsPathBuf("/root/.cache/lorri/gc_roots/7b31e7bce9165b04d3806fff9dbcc1d6/gc_root/shell_gc_root")) } }), nix_file: /home/deck/bitcoin-projects/go/utreexo/shell.nix
^C⏎                                                                                                                                                                                                    [I] deck@steamdeck ~/b/g/utreexo [SIGINT]> 

Though the steamos-readonly option is already disabled.

[I] deck@steamdeck ~/b/g/utreexo [1]> sudo steamos-readonly disable
Warning: The rootfs is already read-write!
         Nothing is performed.

kcalvinalvin avatar Dec 01 '23 18:12 kcalvinalvin

I've run across a couple of issues with read-only filesystems and Lorri - I've always gotten useful panics out of them. I'm not super familiar with the Steam deck though so it's hard to speculate as to the cause

nyarly avatar Feb 19 '24 23:02 nyarly

Is it possible this is related to https://github.com/nix-community/lorri/issues/119#issuecomment-2195297067 ?

nyarly avatar Jun 27 '24 17:06 nyarly

This bug is fixed in 1.7.0, which is in nixpkgs as of NixOS 24.05. Thank you for your patience!

nyarly avatar Jul 19 '24 21:07 nyarly