cairo-dock crashed with SIGSEGV in g_main_context_check()

Bug #1033190 reported by Bill Risch
24
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Cairo-Dock Core
Fix Released
High
Matthieu Baerts
cairo-dock (Ubuntu)
Fix Released
High
Matthieu Baerts
dbus (Ubuntu)
Invalid
Undecided
Unassigned
upower (Ubuntu)
Invalid
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

Revision history for this message
Bill Risch (brisch) wrote :
visibility: private → public
Revision history for this message
Apport retracing service (apport) wrote :

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

Revision history for this message
Apport retracing service (apport) wrote : Stacktrace.txt
Revision history for this message
Apport retracing service (apport) wrote : StacktraceSource.txt
Revision history for this message
Apport retracing service (apport) wrote : ThreadStacktrace.txt
Changed in cairo-dock (Ubuntu):
importance: Undecided → Medium
tags: removed: need-amd64-retrace
Revision history for this message
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
Revision history for this message
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
Revision history for this message
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
Revision history for this message
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)
Revision history for this message
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  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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