wrapper-2.0 crashed with SIGSEGV in strrchr()
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | gtk+3.0 (Ubuntu) |
Undecided
|
Unassigned | ||
| | xfce4-indicator-plugin (Ubuntu) |
Undecided
|
Unassigned | ||
| | xfce4-panel (Ubuntu) |
Medium
|
Unassigned | ||
Bug Description
It just crashed.
ProblemType: Crash
DistroRelease: Ubuntu 14.10
Package: xfce4-panel 4.11.1-0ubuntu2
ProcVersionSign
Uname: Linux 3.16.0-
ApportVersion: 2.14.7-0ubuntu8
Architecture: amd64
CurrentDesktop: XFCE
Date: Sat Oct 25 12:26:05 2014
ExecutablePath: /usr/lib/
InstallationDate: Installed on 2011-11-13 (1076 days ago)
InstallationMedia: Xubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
ProcCmdline: /usr/lib/
SegvAnalysis:
Segfault happened at: 0x7f6d654461f5 <strrchr+37>: movdqu (%rdi),%xmm0
PC (0x7f6d654461f5) ok
source "(%rdi)" (0x00000000) not located in a known VMA region (needed readable region)!
destination "%xmm0" ok
SegvReason: reading NULL VMA
Signal: 11
SourcePackage: xfce4-panel
StacktraceTop:
strrchr () at ../sysdeps/
?? () from /usr/lib/
?? () from /usr/lib/
?? () from /usr/lib/
ffi_call_unix64 () from /usr/lib/
Title: wrapper-2.0 crashed with SIGSEGV in strrchr()
UpgradeStatus: Upgraded to utopic on 2014-10-25 (0 days ago)
UserGroups: adm admin audio cdrom dialout dip fax floppy fuse lp lpadmin mythtv netdev plugdev sambashare scanner tape vboxusers video wireshark
| Václav Haisman (vzeman79) wrote : | #1 |
| Apport retracing service (apport) wrote : | #2 |
| Changed in xfce4-panel (Ubuntu): | |
| importance: | Undecided → Medium |
| tags: | removed: need-amd64-retrace |
| tags: | added: vivid |
| Launchpad Janitor (janitor) wrote : | #6 |
Status changed to 'Confirmed' because the bug affects multiple users.
| Changed in xfce4-panel (Ubuntu): | |
| status: | New → Confirmed |
| information type: | Private → Private Security |
| information type: | Private Security → Public |
| Václav Haisman (vzeman79) wrote : | #7 |
I think somebody with Gtk+ knowledge should examine this as well. I will post my analysis shortly.
| Václav Haisman (vzeman79) wrote : | #8 |
This bit of code is from _gtk_menu_
513 self->action_
514
515 if (target)
516 g_variant_unref (target);
517
518 action_name = strrchr (self->
If we examine gtk_print_
890 g_return_
891 g_return_
On line 891 is where our problems start. This is from my GDB session:
(gdb) p action_name
$2 = (const gchar *) 0x7f0a1e18a9e8 "src.mailbox:
(gdb) p action_namespace
$3 = (const gchar *) 0x7f0a1e17e970 "indicator.
Notice that action_namespace does not contain a '|' character. The function fails and returns NULL, which is stored into self->action_
Conclusion:
1. _gtk_menu_
2. Somebody somewhere should send action namespace in the expected format.
| Alistair Buxton (a-j-buxton) wrote : | #9 |
Did you attempt to add the indicator-menu (global menu indicator)? Because that does not work, will crash like this, and is unsupported.
| Václav Haisman (vzeman79) wrote : | #10 |
First of all, to me this looks like a bug in Gtk+. Whatever triggers this, the crash is ultimately caused by the failure to check return values in _gtk_menu_
Second, if the indicator-menu is unsupported, what replaces it? I believe it just worked fine a release or two back.
| Lars Karlitski (larsu) wrote : | #11 |
This crashes because indicator-messages sends and action name with a '|' in it, which is invalid. I fixed this in r433 by escaping all ids[1], which was released in 13.10.1+
Gtk currently assumes that those inputs are trusted and thus doesn't verify them. There's been some discussion about changing that at some point, but I think that's beyond the scope of this bug.
[1] http://
| Changed in gtk+3.0 (Ubuntu): | |
| status: | New → Won't Fix |
So, is this particular crash fixed in 15.04?
| Changed in xfce4-indicator-plugin (Ubuntu): | |
| status: | New → Incomplete |
| Changed in xfce4-panel (Ubuntu): | |
| status: | Confirmed → Incomplete |
| Václav Haisman (vzeman79) wrote : | #13 |
It is still there. It was "featured" even in the promotional video for Xubuntu: http://
| Launchpad Janitor (janitor) wrote : | #14 |
[Expired for xfce4-panel (Ubuntu) because there has been no activity for 60 days.]
| Changed in xfce4-panel (Ubuntu): | |
| status: | Incomplete → Expired |
| Launchpad Janitor (janitor) wrote : | #15 |
[Expired for xfce4-indicator
| Changed in xfce4-indicator-plugin (Ubuntu): | |
| status: | Incomplete → Expired |


StacktraceTop: x86_64/ strrchr. S:32 tracker_ item_new (observable= 0x7f6d6955dc80, model=0x7f6d695 5df40, item_index=0, action_ namespace= 0x7f6d6958c5e0 "indicator. thunderbird" , is_separator=0) at /build/ buildd/ gtk+3.0- 3.12.2/ ./gtk/gtkmenutr ackeritem. c:524 tracker_ add_items (tracker= tracker@ entry=0x7f6d540 0e290, change_ point=change_ point@entry= 0x7f6d5400d698, offset= offset@ entry=11, model=model@ entry=0x7f6d695 5df40, position= position@ entry=0, n_items=0, section= 0x7f6d5400d690) at /build/ buildd/ gtk+3.0- 3.12.2/ ./gtk/gtkmenutr acker.c: 342 tracker_ model_changed (model= 0x7f6d6955df40, position=0, removed=0, added=1, user_data= 0x7f6d5400e290) at /build/ buildd/ gtk+3.0- 3.12.2/ ./gtk/gtkmenutr acker.c: 445 x86/unix64. S:76
strrchr () at ../sysdeps/
_gtk_menu_
gtk_menu_
gtk_menu_
ffi_call_unix64 () at ../src/