! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Mousepad crashes when Remote Editing files via FTP with Linux Kernels >= 5.4
Status:
RESOLVED: FIXED
Product:
Mousepad
Component:
General

Comments

Description Scorp 2020-01-08 23:44:59 CET
I have a VERY strange bug that is only happening when using Thunar with Linux Kernels >= 5.4, everything 5.3 and below is working fine. I recommend using Arch Linux since it is rolling release and will use the latest Kernel. This issue can be easily replicated by opening an FTP site via thunar and open a file on the FTP site to edit (a text file for example). The file will never open, instead it will generate a core dump (Program terminated with signal SIGBUS, Bus error).

I am not 100% certain if this is a dbus, gvfs, etc issue instead, but I wanted to report it here since it is causing remote FTP editing of files to break with Thunar. I would be happy to provide any further information that could be helpful.


Here is the backtrace of the coredump.

[Thread debugging using libthread_db enabled]
=> Using host libthread_db library "/usr/lib/libthread_db.so.1".
=> Core was generated by `mousepad /run/user/1000/gvfs/ftp:host=ftp.host.com/somefile.txt'.
=> Program terminated with signal SIGBUS, Bus error.
#0  0x000055849f613fd1 in ?? ()
[Current thread is 1 (Thread 0x7fa4fb7c9980 (LWP 1464))]
/usr/lib/../share/gcc-9.2.0/python/libstdcxx/v6/xmethods.py:731: SyntaxWarning: list indices must be integers or slices, not str; perhaps you missed a comma?
  refcounts = ['_M_refcount']['_M_pi']
(gdb) bt
#0  0x000055849f613fd1 in  ()
#1  0x000055849f6245ff in  ()
#2  0x000055849f624bbd in  ()
#3  0x000055849f611207 in  ()
#4  0x000055849f60e173 in  ()
#5  0x00007fa4fe870153 in __libc_start_main () at /usr/lib/libc.so.6
#6  0x000055849f60e39e in  ()
Comment 1 Andre Miranda editbugs 2020-01-09 05:25:30 CET
Try another file manager (e.g. Nemo or Nautilus) and other text editor (e.g. Geany).
Comment 2 Scorp 2020-01-09 14:34:28 CET
(In reply to Andre Miranda from comment #1)
> Try another file manager (e.g. Nemo or Nautilus) and other text editor (e.g.
> Geany).

Thanks for your reply Andre.

Right Click on File => Open With...

Same issue happens with Nautilus+Mousepad, HOWEVER, using Geany in both Thunar and Nautilus opens the file correctly. To try another option, I used Atom to test the same scenario, it will open Atom up and focus the window... no crash happens and no file is opened from the remote FTP.
Comment 3 Andre Miranda editbugs 2020-01-09 17:06:33 CET
So it seems a mousepad bug, even the coredump indicates that: 'mousepad /run/user/1000/gvfs/ftp:host=ftp.host.com/somefile.txt', however debug symbols would be very helpful. In any case, I'm moving this bug to mousepad.
Comment 4 Scorp 2020-01-09 17:16:15 CET
(In reply to Andre Miranda from comment #3)
> So it seems a mousepad bug, even the coredump indicates that: 'mousepad
> /run/user/1000/gvfs/ftp:host=ftp.host.com/somefile.txt', however debug
> symbols would be very helpful. In any case, I'm moving this bug to mousepad.

Thanks Andre. I am still baffled as to why it wont open in Atom with a newer Kernel, only Geany. I am guessing this is going to end up being a more widespread issue regarding gvfs, kernel, etc. If I reproduce this on a 5.3x Kernel, it opens find in any application including Atom.

At any rate, here is from gdb coredump info regarding symbols, it says no debugging symbols found.

Thanks again for your help and insight.

Reading symbols from /usr/bin/mousepad...
(No debugging symbols found in /usr/bin/mousepad)
[New LWP 2186]
[New LWP 2189]
[New LWP 2191]
[New LWP 2190]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `mousepad /run/user/1000/gvfs/ftp:host=ftp.host.com/somefile.txt'.
Program terminated with signal SIGBUS, Bus error.
#0  0x000056528eb8efd1 in ?? ()
[Current thread is 1 (Thread 0x7fc746f4b980 (LWP 2186))]
/usr/lib/../share/gcc-9.2.0/python/libstdcxx/v6/xmethods.py:731: SyntaxWarning: list indices must be integers or slices, not str; perhaps you missed a comma?
  refcounts = ['_M_refcount']['_M_pi']
Comment 5 Andre Miranda editbugs 2020-01-09 17:22:47 CET
(In reply to admin from comment #4)
> At any rate, here is from gdb coredump info regarding symbols, it says no
> debugging symbols found.

That's because you need to install "-dbg" packages (Ubuntu/Debian) or build mousepad from source with --enable-debug.
Comment 6 Scorp 2020-01-09 23:09:47 CET
(In reply to Andre Miranda from comment #5)
> (In reply to admin from comment #4)
> > At any rate, here is from gdb coredump info regarding symbols, it says no
> > debugging symbols found.
> 
> That's because you need to install "-dbg" packages (Ubuntu/Debian) or build
> mousepad from source with --enable-debug.

Compiled from source with "--enable-debug" option, here is a more detailed output from gdb with bactrace. Hope this will help!


Reading symbols from /usr/local/bin/mousepad...
[New LWP 23128]
[New LWP 23132]
[New LWP 23131]
[New LWP 23130]
^[[B[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `mousepad /run/user/1000/gvfs/ftp:host=ftp.host.com/somefile.txt'.
Program terminated with signal SIGBUS, Bus error.
#0  mousepad_file_encoding_read_bom (bom_length=<synthetic pointer>, length=1118, 
    contents=0x7ff02a4ff000 <error: Cannot access memory at address 0x7ff02a4ff000>) at mousepad-file.c:532
532	          bom_encoding = mousepad_file_encoding_read_bom (contents, file_size, &bom_length);
[Current thread is 1 (Thread 0x7ff02a7fd980 (LWP 23128))]
/usr/lib/../share/gcc-9.2.0/python/libstdcxx/v6/xmethods.py:731: SyntaxWarning: list indices must be integers or slices, not str; perhaps you missed a comma?
  refcounts = ['_M_refcount']['_M_pi']

(gdb) bt

#0  0x000055aa6d0d8050 in mousepad_file_encoding_read_bom
    (bom_length=<synthetic pointer>, length=1118, contents=0x7ff02a4ff000 <error: Cannot access memory at address 0x7ff02a4ff000>) at mousepad-file.c:532
#1  0x000055aa6d0d8050 in mousepad_file_open
    (file=0x55aa6e2139c0, template_filename=template_filename@entry=0x0, error=error@entry=0x7ffc3e7b99a8)
    at mousepad-file.c:532
#2  0x000055aa6d0d8628 in mousepad_file_open
    (file=<optimized out>, template_filename=template_filename@entry=0x0, error=error@entry=0x7ffc3e7b99a8)
    at mousepad-file.c:500
#3  0x000055aa6d0ef5cc in mousepad_window_open_file
    (window=window@entry=0x55aa6dfb62f0, filename=0x55aa6dd00fe0 "/run/user/1000/gvfs/ftp:host=ftp.host.com/somefile.txt", encoding=<optimized out>, encoding@entry=MOUSEPAD_ENCODING_UTF_8)
    at mousepad-window.c:1436
#4  0x000055aa6d0efe04 in mousepad_window_open_files
    (filenames=0x55aa6dcffed0, working_directory=0x55aa6dded4d0 "/run/user/1000/gvfs/ftp:host=ftp.host.com", window=0x55aa6dfb62f0) at mousepad-window.c:1572
#5  0x000055aa6d0efe04 in mousepad_window_open_files
    (window=0x55aa6dfb62f0, working_directory=working_directory@entry=0x55aa6dded4d0 "/run/user/1000/gvfs/ftp:host=ftp.host.com", filenames=filenames@entry=0x55aa6dcffed0) at mousepad-window.c:1536
#6  0x000055aa6d0d3c69 in mousepad_application_new_window_with_files
    (application=<optimized out>, screen=<optimized out>, working_directory=0x55aa6dded4d0 "/run/user/1000/gvfs/ftp:host=ftp.host.com", filenames=0x55aa6dcffed0) at mousepad-application.c:300
#7  0x000055aa6d0d0279 in main (argc=<optimized out>, argv=<optimized out>) at main.c:182
Comment 7 Andre Miranda editbugs 2020-01-10 01:17:23 CET
It looks like Mousepad crashes because contents returned by g_mapped_file_get_contents seem invalid.

Related: https://gitlab.gnome.org/GNOME/gvfs/issues/441 (thanks Theo for pointing this out).
Comment 8 Theo Linkspfeifer editbugs 2020-02-23 11:33:32 CET
Scorp, can you confirm that the bug was fixed?
Comment 9 Scorp 2020-02-23 15:11:08 CET
(In reply to Theo Linkspfeifer from comment #8)
> Scorp, can you confirm that the bug was fixed?

This actually ended up being a bug with fuse/linux kernel (gvfs and gvfs-fuse), affecting many applications that were trying to open files via those methods. It was fixed in Linux Kernels >= 5.5-rc7 and backported to 5.4.x kernels as well. All is working great now.

More info here:
https://gitlab.gnome.org/GNOME/gvfs/issues/441

Thanks!

Bug #16357

Reported by:
Scorp
Reported on: 2020-01-08
Last modified on: 2020-02-23

People

Assignee:
Matthew Brush
CC List:
3 users

Version

Version:
Unspecified
Target Milestone:
Mousepad 0.4.x

Attachments

Additional information