cairo-dock crashed with SIGSEGV in g_main_context_check()

Bug #1033190 reported by Bill Risch on 2012-08-05
24
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Cairo-Dock Core
High
Matthieu Baerts
cairo-dock (Ubuntu)
High
Matthieu Baerts
dbus (Ubuntu)
Undecided
Unassigned
upower (Ubuntu)
Undecided
Unassigned

Bug Description

Failed when selecting logout

ProblemType: Crash
DistroRelease: Ubuntu 12.10
Package: cairo-dock-core 3.0.2-0ubuntu2
ProcVersionSignature: Ubuntu 3.5.0-7.7-generic 3.5.0
Uname: Linux 3.5.0-7-generic x86_64
NonfreeKernelModules: nvidia
ApportVersion: 2.4-0ubuntu6
Architecture: amd64
CrashCounter: 1
Date: Sun Aug 5 08:17:13 2012
ExecutablePath: /usr/bin/cairo-dock
InstallationMedia: Ubuntu 12.10 "Quantal Quetzal" - Alpha amd64 (20120511)
ProcCmdline: cairo-dock
ProcEnviron:
 LANGUAGE=en_CA:en
 PATH=(custom, no user)
 LANG=en_CA.UTF-8
 SHELL=/bin/bash
SegvAnalysis:
 Segfault happened at: 0x7fb50bf76983 <g_main_context_check+83>: cmpw $0x0,0x4(%rdi)
 PC (0x7fb50bf76983) ok
 source "$0x0" ok
 destination "0x4(%rdi)" (0x7d0000000000004) not located in a known VMA region (needed writable region)!
 Stack memory exhausted (SP below stack segment)
SegvReason: writing unknown VMA
Signal: 11
SourcePackage: cairo-dock
StacktraceTop:
 g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
 ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
 g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
 ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
 ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
Title: cairo-dock crashed with SIGSEGV in g_main_context_check()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
XsessionErrors:
 gnome-session[1848]: WARNING: Error while executing session-migration: Failed to execute child process "session-migration" (No such file or directory)
 gnome-session[1848]: WARNING: Could not parse desktop file /home/bill/.config/autostart/xfce4-settings-helper-autostart.desktop: Key file does not have key 'Name'
 gnome-session[1848]: WARNING: could not read /home/bill/.config/autostart/xfce4-settings-helper-autostart.desktop

Related branches

Bill Risch (brisch) wrote :
visibility: private → public

StacktraceTop:
 g_main_context_check (context=context@entry=0x1f319f0, max_priority=2147483647, fds=fds@entry=0x7fb4f8002e70, n_fds=n_fds@entry=7) at /build/buildd/glib2.0-2.33.6/./glib/gmain.c:3120
 g_main_context_iterate (context=0x1f319f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<error reading variable: Unhandled dwarf expression opcode 0xfa>) at /build/buildd/glib2.0-2.33.6/./glib/gmain.c:3263
 g_main_loop_run (loop=0x1f31980) at /build/buildd/glib2.0-2.33.6/./glib/gmain.c:3460
 gdbus_shared_thread_func (user_data=0x1f319c0) at /build/buildd/glib2.0-2.33.6/./gio/gdbusprivate.c:277
 g_thread_proxy (data=0x1f744a0) at /build/buildd/glib2.0-2.33.6/./glib/gthread.c:801

Changed in cairo-dock (Ubuntu):
importance: Undecided → Medium
tags: removed: need-amd64-retrace
Matthieu Baerts (matttbe) wrote :

Hello and thank you for this bug report!

I confirm that I also have this bug with the development version of the dock and Ubuntu 12.10!
I'll have a look asap (but it's currently not possible with this old smartphone ;) )

Changed in cairo-dock (Ubuntu):
status: New → Confirmed
status: Confirmed → Triaged
importance: Medium → High
assignee: nobody → Matthieu Baerts (matttbe)
Changed in upower (Ubuntu):
status: New → Invalid
Matthieu Baerts (matttbe) wrote :

It *seems* it's not due to Cairo-Dock because the code has not changed (we don't have this crash on Ubuntu Precise with the same version of Cairo-Dock).
It crashes after having called 'dbus_g_proxy_call' function (this function is called 3 times or more in a thread). Note that I don't have this crash if I use this function in the main loop.

Changed in cairo-dock (Ubuntu):
status: Triaged → Invalid
Matthieu Baerts (matttbe) wrote :
Download full text (5.6 KiB)

I've just re-installed the previous version of DBus (1.4.18) and DBus-GLib (0.98) and I still have this crash :-/

This is the backtrace of the crash with the latest version of DBus (1.6.4) and DBus-GLib (0.100)

 #0 _dbus_watch_invalidate (watch=0x0) at ../../dbus/dbus-watch.c:171
 No locals.
 #1 0x00007ffff032c77d in free_watches (transport=transport@entry=0x9bb1a0)
     at ../../dbus/dbus-transport-socket.c:83
  socket_transport = 0x9bb1a0
 #2 0x00007ffff032c7e9 in socket_disconnect (transport=0x9bb1a0)
     at ../../dbus/dbus-transport-socket.c:987
  socket_transport = 0x9bb1a0
 #3 0x00007ffff032bba7 in _dbus_transport_disconnect (transport=0x9bb1a0)
     at ../../dbus/dbus-transport.c:509
 No locals.
 #4 _dbus_transport_disconnect (transport=0x9bb1a0)
     at ../../dbus/dbus-transport.c:500
 No locals.
 #5 0x00007ffff032c3d5 in _dbus_transport_queue_messages (
     transport=transport@entry=0x9bb1a0) at ../../dbus/dbus-transport.c:1165
  status = <optimized out>
 #6 0x00007ffff032cdb4 in do_reading (transport=transport@entry=0x9bb1a0)
     at ../../dbus/dbus-transport-socket.c:851
  buffer = 0x9bb338
  bytes_read = 68
  total = 68
  oom = <optimized out>
 #7 0x00007ffff032d416 in do_reading (transport=0x9bb1a0)
     at ../../dbus/dbus-transport-socket.c:706
  socket_transport = 0x9bb1a0
 #8 socket_do_iteration (transport=0x9bb1a0, flags=6,
     timeout_milliseconds=<optimized out>)
     at ../../dbus/dbus-transport-socket.c:1162
  need_read = 1
  need_write = 0
  authentication_completed = 0
  socket_transport = 0x9bb1a0
  poll_fd = {fd = 21, events = 1, revents = 1}
  poll_res = <optimized out>
  poll_timeout = <optimized out>
 #9 0x00007ffff032c14d in _dbus_transport_do_iteration (transport=0x9bb1a0,
     flags=0, flags@entry=6, timeout_milliseconds=8172008,
     timeout_milliseconds@entry=25000) at ../../dbus/dbus-transport.c:976
 No locals.
 #10 0x00007ffff0316e74 in _dbus_connection_do_iteration_unlocked (
     connection=connection@entry=0x9bb7a0,
     pending=pending@entry=0x7fffb0004b10, flags=flags@entry=6,
     timeout_milliseconds=timeout_milliseconds@entry=25000)
     at ../../dbus/dbus-connection.c:1234
 No locals.
 #11 0x00007ffff031821d in _dbus_connection_block_pending_call (
     pending=pending@entry=0x7fffb0004b10) at ../../dbus/dbus-connection.c:2415
  start_tv_sec = <optimized out>
  start_tv_usec = <optimized out>
  tv_sec = <optimized out>
  tv_usec = <optimized out>
  status = <optimized out>
  connection = 0x9bb7a0
  client_serial = 25
  timeout = 0x7fffb0007520
  timeout_milliseconds = 25000
  elapsed_milliseconds = <optimized out>
 #12 0x00007ffff032619a in dbus_pending_call_block (
     pending=pending@entry=0x7fffb0004b10) at ../../dbus/dbus-pending-call.c:748
  __FUNCTION__ = "dbus_pending_call_block"
 #13 0x00007ffff5fba853 in dbus_g_proxy_end_call_internal (
     proxy=proxy@entry=0x19e3560, call_id=call_id@entry=2,
     error=error@entry=0x7fffcb8c2c10, first_arg_type=20,
     args=args@entry=0x7fffcb8c2ab8) at dbus-gproxy.c:2398
  reply = 0x0
  msgiter = {dummy1 = 0x2, dummy2 = 0x19e3560, dummy3 = 0, dummy4 = 0,
    dummy5 = 0, dummy6 = 1, dummy7 = 41106208, dummy8 = 0, dummy9 = 1,
   ...

Read more...

Changed in dbus (Ubuntu):
status: New → Invalid
Matthieu Baerts (matttbe) wrote :

Ok, it seems `dbus_g_thread_init` was not called and is required because logout applet uses D-Bus functions in a thread (but it's strange to have this bug now and not before...)
This bug is now fixed on BZR¹

[1] https://bazaar.launchpad.net/~cairo-dock-team/cairo-dock-core/cairo-dock/revision/1162/src/cairo-dock.c

Changed in cairo-dock (Ubuntu):
status: Invalid → Fix Committed
affects: cairo-dock (Ubuntu) → cairo-dock-core
Changed in cairo-dock (Ubuntu):
status: New → Fix Committed
importance: Undecided → High
assignee: nobody → Matthieu Baerts (matttbe)
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cairo-dock - 3.0.99.beta1-0ubuntu1

---------------
cairo-dock (3.0.99.beta1-0ubuntu1) quantal; urgency=low

  * New upstream beta release.
  * Upstream ChangeLog (main changes):
   - Better integration of Unity: support of the Launcher API and better
      support of indicators
   - All configuration windows have been merged into a single one.
   - Added progress bars in several applets and in the Dbus API
   - The Music Player applet can control players in the systray.
   - Icons of the taskbar can be separated from launchers or not
   - And as always ... various bug fixes and improvements :-)
  * Fixed a few bugs reported on Launchpad:
   - A crash with logout applet (LP: #1033190)
   - Shortcuts do not accept Control key entries (LP: #1007539)
  * debian/custom_cairo-dock_badge.png, debian/source/include-binaries:
   - Added a badge for LightDM (LP: #987247)
  * debian/patches/cairo-dock-session_without_fallback_session.patch,
    debian/cairo-dock-data.install:
   - Only installed 'Cairo-Dock' session without Unity-2D and Metacity support
      due to the suppression of Unity-2D and the use of llvmpipe
   - Renamed 'Cairo-Dock (Gnome + Effects)' to 'Cairo-Dock (GNOME)'
  * debian/control:
   - Added a new suggested dependence for cairo-dock-core: gnome-session
   - Updated my email address
  * debian: Used 'wrap-and-sort' tool
 -- Matthieu Baerts (matttbe) <email address hidden> Sun, 19 Aug 2012 00:15:54 +0200

Changed in cairo-dock (Ubuntu):
status: Fix Committed → Fix Released
Changed in cairo-dock-core:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers