bugnano / rnr

The RNR File Manager (RNR's Not Ranger)
GNU General Public License v3.0
51 stars 1 forks source link

RNR quits on root dir when EFI partition is unmounted #4

Closed Alteus closed 3 years ago

Alteus commented 3 years ago

Hi! As I indicated on youtube, RNR quits on my system with OSError: [Errno 19] No such device: '/efi'. My EFI partition isn't mounted, but it doesn't bother other file managers. After I mount it, there is no problem.

ls -l: ls: 'efi' nem érhető el: Nincs ilyen eszköz összesen 136 lrwxrwxrwx 1 root root 7 jan 19 02.32 bin -> usr/bin drwxr-xr-x 2 root root 4096 máj 21 05.50 boot drwxr-xr-x 22 root root 4160 máj 21 05.47 dev d????????? ? ? ? ? ? efi drwxr-xr-x 86 root root 4096 máj 21 06.03 etc drwxr-xr-x 3 root root 4096 febr 21 15.27 home lrwxrwxrwx 1 root root 7 jan 19 02.32 lib -> usr/lib lrwxrwxrwx 1 root root 7 jan 19 02.32 lib64 -> usr/lib drwx------ 2 root root 16384 febr 21 15.44 lost+found drwxr-xr-x 5 root root 4096 máj 1 21.14 mnt drwxr-xr-x 6 root root 4096 máj 16 22.45 opt dr-xr-xr-x 213 root root 0 máj 21 05.46 proc drwxr-x--- 14 root root 4096 máj 11 06.38 root drwxr-xr-x 19 root root 500 máj 21 08.04 run lrwxrwxrwx 1 root root 7 jan 19 02.32 sbin -> usr/bin drwxr-xr-x 4 root root 4096 febr 21 15.16 srv dr-xr-xr-x 13 root root 0 máj 21 05.46 sys drwxrwxrwt 13 root root 320 máj 21 06.03 tmp drwxr-xr-x 9 root root 4096 máj 21 06.03 usr drwxr-xr-x 12 root root 4096 máj 19 17.21 var -rw-r--r-- 1 root root 83145 máj 20 21.46 shutdown-log.txt

"nem érhető el: Nincs ilyen eszköz" means can't reach: no such device.

Vanilla, updated Arch system, aur/rnr-fm 1.0.5-1 package.

bugnano commented 3 years ago

Ok, I see that even ls has trouble with that efi directory.

Can you paste me the full stack trace, the full error messages that show up when rnr crashes, please?

Alteus commented 3 years ago

Sorry for the delay. My system was altered somewhat, so couldn't reproduce the issue. RNR doesn't quits anymore on root directory. But I had the error today on /mnt after a kernel update (without rebooting). "raspiusb" is a nfs mount. After reboot everything is normal, until another kernel update arrives. I know, I have to reboot after kernel updates, but RNR shouldn't just quit with errors.

ls: 'raspiusb' nem érhető el: Nincs ilyen eszköz összesen 8 d????????? ? ? ? ? ? raspiusb drwxr-x--- 1 zoli root 4096 ápr 16 07.53 seagate drwxrwxr-x 1 zoli zoli 4096 máj 11 14.42 ssd-data

Traceback (most recent call last):
  File "/usr/bin/rnr", line 8, in <module>
    sys.exit(main())
  File "/usr/lib/python3.9/site-packages/rnr/__main__.py", line 1065, in main
    app.run()
  File "/usr/lib/python3.9/site-packages/rnr/__main__.py", line 246, in run
    self.loop.run()
  File "/usr/lib/python3.9/site-packages/urwid/main_loop.py", line 287, in run
    self._run()
  File "/usr/lib/python3.9/site-packages/urwid/main_loop.py", line 385, in _run
    self.event_loop.run()
  File "/usr/lib/python3.9/site-packages/urwid/main_loop.py", line 790, in run
    self._loop()
  File "/usr/lib/python3.9/site-packages/urwid/main_loop.py", line 827, in _loop
    self._watch_files[fd]()
  File "/usr/lib/python3.9/site-packages/urwid/raw_display.py", line 416, in <lambda>
    wrapper = lambda: self.parse_input(
  File "/usr/lib/python3.9/site-packages/urwid/raw_display.py", line 515, in parse_input
    callback(processed, processed_codes)
  File "/usr/lib/python3.9/site-packages/urwid/main_loop.py", line 412, in _update
    self.process_input(keys)
  File "/usr/lib/python3.9/site-packages/urwid/main_loop.py", line 513, in process_input
    k = self._topmost_widget.keypress(self.screen_size, k)
  File "/usr/lib/python3.9/site-packages/urwid/container.py", line 1626, in keypress
    key = self.focus.keypress(tsize, key)
  File "/usr/lib/python3.9/site-packages/urwid/container.py", line 2316, in keypress
    key = w.keypress((mc,) + size[1:], key)
  File "/usr/lib/python3.9/site-packages/urwid/container.py", line 1626, in keypress
    key = self.focus.keypress(tsize, key)
  File "/usr/lib/python3.9/site-packages/urwid/container.py", line 1626, in keypress
    key = self.focus.keypress(tsize, key)
  File "/usr/lib/python3.9/site-packages/urwid/container.py", line 2316, in keypress
    key = w.keypress((mc,) + size[1:], key)
  File "/usr/lib/python3.9/site-packages/rnr/panel.py", line 306, in keypress
    self.model.enter(self.model.walker.get_focus()[0].model)
  File "/usr/lib/python3.9/site-packages/rnr/panel.py", line 623, in enter
    self.chdir(file['file'])
  File "/usr/lib/python3.9/site-packages/rnr/panel.py", line 483, in chdir
    if self._reload(cwd, focus_path):
  File "/usr/lib/python3.9/site-packages/rnr/panel.py", line 540, in _reload
    files = get_file_list(cwd, count_directories=count_directories, unarchive_path=self.unarchive_path)
  File "/usr/lib/python3.9/site-packages/rnr/panel.py", line 192, in get_file_list
    length = len(list(file.iterdir()))
  File "/usr/lib/python3.9/pathlib.py", line 1150, in iterdir
    for name in self._accessor.listdir(self):
OSError: [Errno 19] Nincs ilyen eszköz: '/mnt/raspiusb'
bugnano commented 3 years ago

Try version 1.0.6, it should fix this problem.

Alteus commented 3 years ago

Tried to downgrade then upgrade my kernel, that didn't crash rnr on /mnt. I'm waiting now for a real kernel update to test and I'll give feedback.

Alteus commented 3 years ago

Everything is ok after kernel update. Thank you!