← Back to team overview

touch-packages team mailing list archive

[Bug 1385624] Re: wrapper-2.0 crashed with SIGSEGV in strrchr()

 

This bit of code is from _gtk_menu_tracker_item_new():

513  self->action_and_target = gtk_print_action_and_target (action_namespace, action_name, target);
514 
515  if (target)
516  g_variant_unref (target);
517 
518  action_name = strrchr (self->action_and_target, '|') + 1;

If we examine gtk_print_action_and_target(), we can see this:

890  g_return_val_if_fail (strchr (action_name, '|') == NULL, NULL);
891  g_return_val_if_fail (action_namespace == NULL || strchr (action_namespace, '|') == NULL, NULL);

On line 891 is where our problems start. This is from my GDB session:

(gdb) p action_name
$2 = (const gchar *) 0x7f0a1e18a9e8 "src.mailbox:///home/wilx/.thunderbird/2de4mlx2.default/Mail/Feeds/Standard%20C++%20|%20Articles%20&%20Books"
(gdb) p action_namespace 
$3 = (const gchar *) 0x7f0a1e17e970 "indicator.thunderbird"

Notice that action_namespace does not contain a '|' character. The
function fails and returns NULL, which is stored into
self->action_and_target without checking for failure which subsequently
dies on line 518 in _gtk_menu_tracker_item_new().

Conclusion:

1. _gtk_menu_tracker_item_new() should check for failure of gtk_print_action_and_target(). 
2. Somebody somewhere should send action namespace in the expected format.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to gtk+3.0 in Ubuntu.
https://bugs.launchpad.net/bugs/1385624

Title:
  wrapper-2.0 crashed with SIGSEGV in strrchr()

Status in gtk+3.0 package in Ubuntu:
  New
Status in xfce4-panel package in Ubuntu:
  Confirmed

Bug description:
  It just crashed.

  ProblemType: Crash
  DistroRelease: Ubuntu 14.10
  Package: xfce4-panel 4.11.1-0ubuntu2
  ProcVersionSignature: Ubuntu 3.16.0-23.31-lowlatency 3.16.4
  Uname: Linux 3.16.0-23-lowlatency x86_64
  ApportVersion: 2.14.7-0ubuntu8
  Architecture: amd64
  CurrentDesktop: XFCE
  Date: Sat Oct 25 12:26:05 2014
  ExecutablePath: /usr/lib/x86_64-linux-gnu/xfce4/panel/wrapper-2.0
  InstallationDate: Installed on 2011-11-13 (1076 days ago)
  InstallationMedia: Xubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
  ProcCmdline: /usr/lib/x86_64-linux-gnu/xfce4/panel/wrapper-2.0 /usr/lib/x86_64-linux-gnu/xfce4/panel/plugins/libindicator-plugin.so 5 18874401 indicator Indicator\ Plugin Provides\ a\ panel\ area\ for\ Unity\ indicators.\ Indicators\ allow\ applications\ and\ system\ services\ to\ display\ their\ status\ and\ interact\ with\ the\ user.
  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/x86_64/strrchr.S:32
   ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
   ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
   ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
   ffi_call_unix64 () from /usr/lib/x86_64-linux-gnu/libffi.so.6
  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

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gtk+3.0/+bug/1385624/+subscriptions