various apps abort on assertion - g_file_monitor_source_handle_event: code should not be reached
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
GLib |
Fix Released
|
High
|
|||
glib2.0 (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
I was opening "War Thunder"- Steam game and when I changed settings in game and it restarted I saw also in desktop error-message. I do not remember did I have anything from "nautilus" open.
ProblemType: Crash
DistroRelease: Ubuntu 15.10
Package: nautilus 1:3.14.2-0ubuntu10
ProcVersionSign
Uname: Linux 4.2.0-7-generic x86_64
NonfreeKernelMo
ApportVersion: 2.18.1-0ubuntu1
Architecture: amd64
CurrentDesktop: Unity
Date: Fri Sep 11 22:00:01 2015
ExecutablePath: /usr/bin/nautilus
GsettingsChanges:
InstallationDate: Installed on 2015-09-11 (0 days ago)
InstallationMedia: Ubuntu 15.10 "Wily Werewolf" - Alpha amd64 (20150910)
ProcCmdline: nautilus -n
Signal: 6
SourcePackage: nautilus
StacktraceTop:
g_assertion_
g_assertion_
g_file_
?? () from /usr/lib/
?? () from /usr/lib/
Title: nautilus crashed with SIGABRT in g_assertion_
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare saned scanner sudo
information type: | Private → Public |
affects: | nautilus (Ubuntu) → glib2.0 (Ubuntu) |
summary: |
- nautilus crashed with SIGABRT in g_assertion_message() + various apps abort on assertion - g_file_monitor_source_handle_event: + code should not be reached |
Changed in glib: | |
importance: | Unknown → High |
status: | Unknown → Fix Released |
Line 430 of gio/glocalfilem onitor. c doesn't handle case G_FILE_ MONITOR_ EVENT_MOVED, crashing many programs.
The list of programs affected includes but is not limited to:
xfdesktop https:/ /bugs.launchpad .net/ubuntu/ +source/ xfdesktop4/ +bug/1598360
pcmanfm https:/ /bugs.launchpad .net/ubuntu/ +source/ pcmanfm/ +bug/1598488
and caja https:/ /bugs.launchpad .net/ubuntu/ +source/ caja/+bug/ 1598359
The affected code can be found at https:/ /github. com/GNOME/ glib/blob/ master/ gio/glocalfilem onitor. c and looks like this:
switch (event_type)
{
(other conditions are located here)
case G_FILE_ MONITOR_ EVENT_MOVED: assert_ not_reached ();
/* was never available in this API */
default:
g_
}
This matches with the g_assertion_ message( ) crash that these programs are experiencing. So, I think we've found the culprit, and the solution would be to do something to handle case G_FILE_ MONITOR_ EVENT_MOVED so that these programs do not crash. Alternatively, if this API function should never be used, then the maintainers of these programs should be notified of this easily reproducible bug and be shown how to fix it. Right now, many packages that come default on major distros such as Ubuntu flavors are completely broken.