PCManFM & Nautilus crash immediately after opening

Bug #1641099 reported by Cedders
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
pcmanfm (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Running Ubuntu 16.04.1 LTS ; LXDE, lightdm but not Lubuntu, pcmanfm 1.2.4 (my usual file manager) briefly displays the initial screen and folder side pane, but (possibly on attempting to show home directory contents) crashes. This produced at least one automatic apport report. Nautilus had the same behaviour; didn't try Caja. Removing libnautilus-extension1a and nautilus seemed to fix it last week, but the problem returned today.

Running pcmanfm on command line had produced:
  Gtk-Message: Failed to load module "atk-bridge"
Installing libatk-adaptor stopped this warning, but pcmanfm still crashed silently. However, reinstalling:
libatk-adaptor (2.18.1-2ubuntu1)
libatk-bridge2.0-0 (2.18.1-2ubuntu1)
libatk1.0-0 (2.18.0-1)
libatk1.0-data (2.18.0-1)
libatk1.0-dev (2.18.0-1)

seems to have fixed it.

Hard to reproduce perhaps, but may happen again, and wanted to log the history and possible workaround.

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: pcmanfm 1.2.4-1
ProcVersionSignature: Ubuntu 4.4.0-47.68-generic 4.4.24
Uname: Linux 4.4.0-47-generic i686
ApportVersion: 2.20.1-0ubuntu2.1
Architecture: i386
CurrentDesktop: LXDE
Date: Fri Nov 11 11:15:22 2016
InstallationDate: Installed on 2009-12-12 (2525 days ago)
InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Release i386 (20091028.5)
SourcePackage: pcmanfm
Udisks_dump: Error: [Errno 2] No such file or directory: 'udisks'
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Cedders (cedric-gn) wrote :
Revision history for this message
Cedders (cedric-gn) wrote :

Started segfaulting again, but resolved spontaneously and showed the files on the third try, with not changes. I also have Caja and Nemo installed, and intend to try Nemo if it happens again.

Revision history for this message
Cedders (cedric-gn) wrote :

This is annoyingly intermittent, in particular because there is a pattern of pcmanfm crashing after launch for 4-6 times in a row, then you attempt a fix and it appears to work after that. Could it be dependent on some uninitialised data? I can try a memtest.

Sometimes launching from gnome-terminal without any other changes stops the crash. I've also tried letting the window open and then choosing a shortcut from 'Places' and it stays open. So maybe it's related to a file in my home directory (I have some weird stuff there like tcpdumps). Note that current options are 'Show thumbnails of files' is not ticked, but 'Only show thumbnails for local files' is ticked - not that that combination makes much sense.

I also tried
  mkdir causing-pcmanfm-probs && find . -maxdepth 1 -type f -mtime -365 | grep -v '\./\.' | xargs -I{} mv {} causing-pcmanfm-probs/
and that seemed to allow pcmanfm to open - this time :)

I could try gdb on a dumped core to get some clues, but I always find it difficult to get one with Apport installed.

PS: comment 2 should read 'with no changes'.

Revision history for this message
Cedders (cedric-gn) wrote :

A few more notes:

strace shows:
...
connect(11, {sa_family=AF_LOCAL, sun_path="/tmp/.pcmanfm-socket--0-cedric"}, 32) = 0
fcntl64(11, F_GETFL) = 0x2 (flags O_RDWR)
stat64(".", {st_mode=S_IFDIR|0755, st_size=20480, ...}) = 0
stat64("/home/cedric", {st_mode=S_IFDIR|0755, st_size=20480, ...}) = 0
fstat64(11, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0
write(11, "/home/cedric\n0\n", 15) = 15
close(11) = 0
close(11) = -1 EBADF (Bad file descriptor)
exit_group(0) = ?
+++ exited with 0 +++

deleting this named socket also seems to allow pcmanfm to launch. Why does it try to close it twice?

Jan 20 10:53:29 PC-2 kernel: [ 2998.031176] pcmanfm[7486]: segfault at 0 ip b6dad314 sp bfd299ec error 4 in libfm.so.4.0.4[b6d9c000+51000]

pcmanfm ~ crashes
pcmanfm ~/Documents doesn't.
Caja seems to always work.
Memtest OK.

libfm-data:all/xenial-updates 1.2.4-1ubuntu1.1 uptodate
libfm-extra4:i386/xenial-updates 1.2.4-1ubuntu1.1 uptodate
libfm-gtk-data:all/xenial-updates 1.2.4-1ubuntu1.1 uptodate
libfm-gtk4:i386/xenial-updates 1.2.4-1ubuntu1.1 uptodate
libfm-modules:i386/xenial-updates 1.2.4-1ubuntu1.1 uptodate
libfm4:i386/xenial-updates 1.2.4-1ubuntu1.1 uptodate

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in pcmanfm (Ubuntu):
status: New → Confirmed
Revision history for this message
Ryan C. Underwood (nemesis-icequake) wrote :

I also had this segfault, and deleting the named socket also fixed it.

The only difference I could observe is that the initial connect() call to the socket produced -1 ECONNREFUSED on a failed run (where it already existed), and on a successful run (where it did not already exist) the connect() call produced -1 ENOENT. Everything subsequent looked identical until the crash. Could it just be bogus error handling when a defunct named socket is left around due to a system crash, resume failure, etc?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.