[spread] crashes in event loop

Bug #747648 reported by Bill Filler
118
This bug affects 14 people
Affects Status Importance Assigned to Milestone
unity-2d
Fix Released
Critical
Unassigned
unity-2d (Ubuntu)
Fix Released
Critical
Unassigned

Bug Description

Binary package hint: unity-2d

Got the apport dialog that spread crashed. I manually unpacked the apport crash file found in /var/crash then ran gdb and installed all -dbg versions of the packages. Here is a good stacktrace:

Core was generated by `/usr/bin/unity-2d-spread'.
Program terminated with signal 6, Aborted.
#0 0x00725416 in __kernel_vsyscall ()
(gdb) bt
#0 0x00725416 in __kernel_vsyscall ()
#1 0x0271ce71 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2 0x0272034e in abort () at abort.c:92
#3 0x02715888 in __assert_fail (
    assertion=0x4812acc "(((long) (event_sequence) - (long) (dpy->request)) <= 0)",
    file=0x48128ef "../../src/xcb_io.c", line=221, function=0x4812bc4 "poll_for_event")
    at assert.c:81
#4 0x0479ae5a in poll_for_event (dpy=0x8af3928) at ../../src/xcb_io.c:221
#5 0x0479b245 in poll_for_response (dpy=0x8af3928) at ../../src/xcb_io.c:235
#6 0x0479b7bf in _XEventsQueued (dpy=0x8af3928, mode=2) at ../../src/xcb_io.c:304
#7 0x0478c548 in XPending (dpy=0x8af3928) at ../../src/Pending.c:55
#8 0x0046cad4 in gdk_check_xpending (source=0x8b07ba8)
    at /build/buildd/gtk+2.0-2.24.3/gdk/x11/gdkevents-x11.c:159
#9 gdk_event_check (source=0x8b07ba8)
    at /build/buildd/gtk+2.0-2.24.3/gdk/x11/gdkevents-x11.c:2352
#10 0x07af071d in g_main_context_check (context=0x8b07c78, max_priority=2147483647,
    fds=0x8d5c860, n_fds=11) at /build/buildd/glib2.0-2.28.4/./glib/gmain.c:2961
#11 0x07af103a in g_main_context_iterate (context=0x8b07c78, block=128981024, dispatch=1,
    self=<value optimized out>) at /build/buildd/glib2.0-2.28.4/./glib/gmain.c:3088
#12 0x07af1524 in g_main_context_iteration (context=0x8b07c78, may_block=1)
    at /build/buildd/glib2.0-2.28.4/./glib/gmain.c:3154
#13 0x0029253c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQtCore.so.4
#14 0x00d64775 in ?? () from /usr/lib/libQtGui.so.4
#15 0x00264289 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQtCore.so.4
#16 0x00264522 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQtCore.so.4
#17 0x00268ecc in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#18 0x00cae8e7 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#19 0x0804ced6 in main ()
(gdb)

Bill Filler (bfiller)
Changed in unity-2d:
milestone: none → 3.8.2
importance: Undecided → Critical
Changed in unity-2d:
milestone: 3.8.2 → 3.10
Changed in unity-2d:
milestone: 3.10 → 3.8.4
Bill Filler (bfiller)
Changed in unity-2d:
assignee: nobody → Ugo Riboni (uriboni)
Revision history for this message
Ugo Riboni (uriboni) wrote :

From the stack trace it looks like QT ran another iteration of the event loop, and as part of that ran another iteration of the GTK event loop (which we use for icons, among other things).
This iteration crashed due to a miscommunication between GTK and X11 (via XLib via XCB).
GTK last call is to XPending, which just returns the number of pending events for the display.

I don't think this is caused by anything we do in the spread.
I think we should report this bug against either GTK or most likely against X11 or XCB.

Revision history for this message
Ugo Riboni (uriboni) wrote :

I found lots of duplicates of this exact bug in spread, all with pretty much the same stack trace, which have been marked as duplicates of this bug.

Additionally, many crashers with the similar stack traces and the *same* assertion failure in XLib during the normal event loop handling have been reported against the dash too, and are marked as duplicates of Bug 745964

Changed in unity-2d:
milestone: 3.8.4 → 3.10
Changed in unity-2d:
milestone: 3.8.10 → 3.8.12
Changed in unity-2d (Ubuntu):
status: New → Confirmed
Changed in unity-2d (Ubuntu):
importance: Undecided → Critical
Changed in unity-2d:
status: New → Confirmed
Changed in unity-2d:
milestone: 3.8.12 → 3.8.14
Changed in unity-2d:
milestone: 3.8.14 → 3.8.16
Changed in unity-2d:
milestone: 4.0 → 4.2
Changed in unity-2d:
milestone: 4.2 → none
assignee: Ugo Riboni (uriboni) → nobody
Revision history for this message
Alberto Mardegan (mardy) wrote :

Thanks for reporting this bug.

Since there haven't been more reports of this crash for a few months now (the most recent duplicate bug dates back to April), we'll hopefully assume that these crashes are no longer reproducible. Therefore, marking the bug as resolved.

Changed in unity-2d:
status: Confirmed → Fix Released
Changed in unity-2d (Ubuntu):
status: Confirmed → Fix Released
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.