Short-lived input devices crash applications
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Geis |
Fix Released
|
High
|
Stephen M. Webb | ||
utouch-geis (Ubuntu) |
Fix Released
|
High
|
Stephen M. Webb |
Bug Description
Input devices that appear and disappear quickly cause a race condition in utouch-geis that results in a null pointer dereference and subsequent application crash. This can lead to unfortunate consequences when the application is compiz.
Here's a backtrace of the situation in flagrante delicto.
#0 XIFreeDeviceInfo (info=0x0) at ../../src/
ptr = 0x0
#1 0x00007ff8331e7569 in _report_xcb_devices (be=0x1cc4cf8, deviceid=18)
at geis_xcb_
devices = 0x0
num_devices = -1
#2 0x00007ff8331e8320 in _report_
event=
he = 0x25b9ef0
info = 0x25b9fd4
i = 16
#3 0x00007ff8331e8509 in _xcb_dispatch (be=0x1cc4cf8)
at geis_xcb_
ge = 0x25b9ef0
event = 0x25b9ef0
#4 0x00007ff8331e85c0 in _fd_callback (fd=26, ev=GEIS_
ctx=0x1cc4cf8) at geis_xcb_
be = 0x1cc4cf8
#5 0x00007ff8331da886 in geis_backend_
at geis_backend_
flags = GEIS_BE_
i = 0
status = GEIS_STATUS_
events = {{events = 1, data = {ptr = 0x1cc52e0, fd = 30167776,
u32 = 30167776, u64 = 30167776}}, {events = 0, data = {
ptr = 0x1406f10, fd = 20999952, u32 = 20999952,
u64 = 20999952}}, {events = 0, data = {ptr = 0xa721c8000000000,
fd = 0, u32 = 0, u64 = 752695423805685
data = {ptr = 0xa7bf740, fd = 175896384, u32 = 175896384,
u64 = 175896384}}}
#6 0x00007ff8331e3ba0 in geis_dispatch_
status = GEIS_STATUS_SUCCESS
#7 0x00007ff8331e1ea8 in geis_event_dispatch (instance=
at geis_v1.c:632
No locals.
#8 0x00007ff82142bde0 in GeisAdapter:
No symbol table info available.
Related branches
- Chase Douglas (community): Approve
-
Diff: 24 lines (+8/-5)1 file modifiedlibutouch-geis/backend/xcb/geis_xcb_backend.c (+8/-5)
Changed in utouch-geis: | |
milestone: | none → utouch-geis-2.2.2 |
status: | Triaged → In Progress |
summary: |
- Short-lived input devices crash compiz + Short-lived input devices crash applications |
Changed in utouch-geis (Ubuntu): | |
status: | New → In Progress |
importance: | Undecided → High |
assignee: | nobody → Stephen M. Webb (bregma) |
Changed in utouch-geis: | |
status: | In Progress → Fix Committed |
status: | Fix Committed → Fix Released |
This bug came to light while exercising the utouch-evemu test suite, which creates and destroys input devices very quickly.