[Pidgin] #8824: Segmentation fault on receiving message

Pidgin trac at pidgin.im
Mon Mar 30 12:56:13 EDT 2009


#8824: Segmentation fault on receiving message
--------------------------+-------------------------------------------------
     Reporter:  ysangkok  |        Type:  defect   
       Status:  new       |   Component:  libpurple
      Version:  2.5.5     |    Keywords:           
Launchpad_bug:            |  
--------------------------+-------------------------------------------------
 Pidgin was running in the tray and I received a message. The windows
 appeared and Pidgin crashed.

 Locale is Danish, that's why the string is in Danish.

 == Backtrace ==
 {{{
 (gdb) bt full
 #0  0xb74ec51b in g_slice_alloc () from /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #1  0xb74bfa04 in ?? () from /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #2  0xb74704f9 in purple_dbus_register_pointer (node=0x8c04b78,
     type=0xb7493cd0) at dbus-server.c:109
         last_id = 130143
         __PRETTY_FUNCTION__ = "purple_dbus_register_pointer"
 #3  0xb744468f in new_node (name=0x8c04b88 "0�\004\t&",
     type=XMLNODE_TYPE_ATTRIB) at xmlnode.c:56
 No locals.
 #4  0xb74459a7 in xmlnode_set_attrib (node=0x9a4fc00, attr=0xb7477806
 "name",
     value=0x8f7ef40 "Ikke-besked kontakter") at xmlnode.c:203
         attrib_node = <value optimized out>
         __PRETTY_FUNCTION__ = "xmlnode_set_attrib"
 #5  0xb73e7b31 in purple_blist_sync () at blist.c:248
         node = (xmlnode *) 0x9b39cd0
         data = <value optimized out>
 #6  0xb73e80b7 in save_cb (data=0x0) at blist.c:358
 No locals.
 #7  0xb74cde46 in ?? () from /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #8  0xb74cd718 in g_main_context_dispatch () from
 /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #9  0xb74d0dc3 in ?? () from /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #10 0xb74d12e2 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #11 0xb79aa3a9 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
 No symbol table info available.
 #12 0x080c30ba in main (argc=Cannot access memory at address 0x1
 ) at gtkmain.c:881
         opt_help = <value optimized out>
         opt_login = 0
         opt_nologin = 0
         opt_version = 0
         opt_si = 1
         opt_config_dir_arg = 0x0
         opt_login_arg = 0x0
         opt_session_arg = 0x0
         accounts = <value optimized out>
         sig_indx = <value optimized out>
         sigset = {__val = {82951, 0 <repeats 31 times>}}
         prev_sig_disp = (void (*)(int)) 0x8c04b78
         errmsg =
 "�W��\b\000\000\000\f\000\000\000��\v�,�ο�����\v���\v�\f\000\000\000���ο\b��hx;�\000\000\000\000\021\000\000\000\032\000\000\000\037�ο\030�ο\024�ο�V��\000\000\000\000?\000\000\000\000\000\000\000\035\000\000\000��---Type
 <return> to continue, or q <return> to quit---
 ����ο����\004\000\000\000\003\000\000\000<�ο�W��\b\000\000\000\020\000\000\000\230�\v�,�ο����\v�\230�\v�\020",
 '\0' <repeats 15 times>,
 "���\035�\b��hx;�\000\000\000\000\036\000\000\000:\000\000\000\037�ο\030�ο�"...
         error = (GError *) 0x0
         opt = <value optimized out>
         gui_check = <value optimized out>
         debug_enabled = <value optimized out>
         migration_failed = <value optimized out>
         active_accounts = <value optimized out>
         long_options = {{name = 0x810a86a "config", has_arg = 1, flag =
 0x0,
     val = 99}, {name = 0x80f9e9c "debug", has_arg = 0, flag = 0x0, val =
 100},
   {name = 0x80fd4e2 "help", has_arg = 0, flag = 0x0, val = 104}, {
     name = 0x80fa167 "login", has_arg = 2, flag = 0x0, val = 108}, {
     name = 0x8106c47 "multiple", has_arg = 0, flag = 0x0, val = 109}, {
     name = 0x8106c50 "nologin", has_arg = 0, flag = 0x0, val = 110}, {
     name = 0x8106c58 "nocrash", has_arg = 0, flag = 0x0, val = 120}, {
     name = 0x810a860 "session", has_arg = 1, flag = 0x0, val = 115}, {
     name = 0x80ff16a "version", has_arg = 0, flag = 0x0, val = 118}, {
     name = 0x810a873 "display", has_arg = 1, flag = 0x0, val = 68}, {
     name = 0x8106c60 "sync", has_arg = 0, flag = 0x0, val = 83}, {name =
 0x0,
     has_arg = 0, flag = 0x0, val = 0}}
 (gdb)
 }}}

 == Disassembly ==
 {{{
 (gdb) disass $pc-32 $pc+32
 Dump of assembler code from 0xb74ec4fb to 0xb74ec53b:
 0xb74ec4fb <g_slice_alloc+235>: add    -0x30764b83(%ecx),%ecx
 0xb74ec501 <g_slice_alloc+241>: add    (%esi),%edi
 0xb74ec503 <g_slice_alloc+243>: mov    %ecx,-0x48(%ebp)
 0xb74ec506 <g_slice_alloc+246>: mov    (%edi),%ecx
 0xb74ec508 <g_slice_alloc+248>: test   %ecx,%ecx
 0xb74ec50a <g_slice_alloc+250>: je     0xb74ec7d0 <g_slice_alloc+960>
 0xb74ec510 <g_slice_alloc+256>: mov    0x4(%ecx),%edx
 0xb74ec513 <g_slice_alloc+259>: test   %edx,%edx
 0xb74ec515 <g_slice_alloc+261>: je     0xb74ec7c0 <g_slice_alloc+944>
 0xb74ec51b <g_slice_alloc+267>: mov    (%edx),%eax
 0xb74ec51d <g_slice_alloc+269>: mov    %eax,0x4(%ecx)
 0xb74ec520 <g_slice_alloc+272>: mov    %edx,%ecx
 0xb74ec522 <g_slice_alloc+274>: mov    0x4(%edi),%eax
 0xb74ec525 <g_slice_alloc+277>: test   %eax,%eax
 0xb74ec527 <g_slice_alloc+279>: je     0xb74ec52f <g_slice_alloc+287>
 0xb74ec529 <g_slice_alloc+281>: sub    $0x1,%eax
 0xb74ec52c <g_slice_alloc+284>: mov    %eax,0x4(%edi)
 0xb74ec52f <g_slice_alloc+287>: mov    %ecx,%esi
 0xb74ec531 <g_slice_alloc+289>: mov    0x69c(%ebx),%eax
 0xb74ec537 <g_slice_alloc+295>: test   %eax,%eax
 0xb74ec539 <g_slice_alloc+297>: je     0xb74ec700 <g_slice_alloc+752>
 End of assembler dump.
 (gdb)
 }}}

 == Registers ==
 {{{
 (gdb) info all-registers
 eax            0x8c04b78        146819960
 ecx            0x904d830        151312432
 edx            0x1      1
 ebx            0xb7549ff4       -1219190796
 esp            0xbfce9e60       0xbfce9e60
 ebp            0xbfce9ed8       0xbfce9ed8
 esi            0x8c04b78        146819960
 edi            0x8c04b88        146819976
 eip            0xb74ec51b       0xb74ec51b <g_slice_alloc+267>
 eflags         0x10202  [ IF RF ]
 cs             0x73     115
 ss             0x7b     123
 ds             0x7b     123
 es             0x7b     123
 fs             0x0      0
 gs             0x33     51
 st0            0        (raw 0x00000000000000000000)
 st1            0.59568627450980386577039649154130529    (raw
 0x3ffe987ee54bb2187ae0)
 st2            3.9375000000000001665334536937734811     (raw
 0x4000fc00000000000300)
 st3            0.31250000000000003816391647148975608    (raw
 0x3ffda000000000000580)
 st4            0.9375   (raw 0x3ffef000000000000000)
 st5            1        (raw 0x3fff8000000000000000)
 st6            65536    (raw 0x400f8000000000000000)
 st7            65536    (raw 0x400f8000000000000000)
 fctrl          0x37f    895
 fstat          0x20     32
 ftag           0xffff   65535
 fiseg          0x73     115
 fioff          0xb77aa27c       -1216699780
 foseg          0x7b     123
 fooff          0xbfce79e8       -1076987416
 fop            0x1c9    457
 xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x58, 0x0, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x0, 0x5d, 0x0}, v8_int16 = {0x0, 0x0, 0x0, 0x58, 0x0, 0x0, 0x0,
     0x5d}, v4_int32 = {0x0, 0x580000, 0x0, 0x5d0000}, v2_int64 = {
     0x58000000000000, 0x5d000000000000},
   uint128 = 0x005d0000000000000058000000000000}
 xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xff, 0x0, 0xff,
     0x0, 0xff, 0x0, 0xff, 0x0}, v8_int16 = {0xf0, 0xf0, 0xf0, 0xf0, 0xff,
     0xff, 0xff, 0xff}, v4_int32 = {0xf000f0, 0xf000f0, 0xff00ff,
 0xff00ff},
   v2_int64 = {0xf000f000f000f0, 0xff00ff00ff00ff},
   uint128 = 0x00ff00ff00ff00ff00f000f000f000f0}
 xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0xdd, 0x0, 0xdd, 0x0, 0xdd, 0x0, 0xdd, 0x0, 0xe9, 0x0, 0xe9,
     0x0, 0xe9, 0x0, 0xe9, 0x0}, v8_int16 = {0xdd, 0xdd, 0xdd, 0xdd, 0xe9,
     0xe9, 0xe9, 0xe9}, v4_int32 = {0xdd00dd, 0xdd00dd, 0xe900e9,
 0xe900e9},
   v2_int64 = {0xdd00dd00dd00dd, 0xe900e900e900e9},
   uint128 = 0x00e900e900e900e900dd00dd00dd00dd}
 xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
     0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x0, 0x0, 0x0,
 0x7a,
     0x0, 0x0, 0x0, 0x73, 0x0, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x66},
   v8_int16 = {0x0, 0x7a00, 0x0, 0x7300, 0x0, 0x6f00, 0x0, 0x6600},
 v4_int32 = {
     0x7a000000, 0x73000000, 0x6f000000, 0x66000000}, v2_int64 = {
     0x730000007a000000, 0x660000006f000000},
   uint128 = 0x660000006f000000730000007a000000}
 xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x0, 0x66, 0x0}, v8_int16 = {0x0, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0,
     0x66}, v4_int32 = {0x0, 0x6f0000, 0x0, 0x660000}, v2_int64 = {
     0x6f000000000000, 0x66000000000000},
   uint128 = 0x0066000000000000006f000000000000}
 xmm5           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x0, 0x66, 0x0}, v8_int16 = {0x0, 0x0, 0x0, 0x60, 0x0, 0x0, 0x0,
     0x66}, v4_int32 = {0x0, 0x600000, 0x0, 0x660000}, v2_int64 = {
     0x60000000000000, 0x66000000000000},
   uint128 = 0x00660000000000000060000000000000}
 xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x1 <repeats 16 times>}, v8_int16 = {0x101, 0x101, 0x101,
 0x101,
     0x101, 0x101, 0x101, 0x101}, v4_int32 = {0x1010101, 0x1010101,
 0x1010101,
     0x1010101}, v2_int64 = {0x101010101010101, 0x101010101010101},
   uint128 = 0x01010101010101010101010101010101}
 xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80,
     0x0, 0x80, 0x0, 0x80, 0x0}, v8_int16 = {0x80, 0x80, 0x80, 0x80, 0x80,
     0x80, 0x80, 0x80}, v4_int32 = {0x800080, 0x800080, 0x800080,
 0x800080},
   v2_int64 = {0x80008000800080, 0x80008000800080},
   uint128 = 0x00800080008000800080008000800080}
 mxcsr          0x1f80   [ IM DM ZM OM UM PM ]
 mm0            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
     0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
 mm1            {uint64 = 0x987ee54bb2187ae0, v2_int32 = {0xb2187ae0,
     0x987ee54b}, v4_int16 = {0x7ae0, 0xb218, 0xe54b, 0x987e}, v8_int8 =
 {0xe0,
     0x7a, 0x18, 0xb2, 0x4b, 0xe5, 0x7e, 0x98}}
 mm2            {uint64 = 0xfc00000000000300, v2_int32 = {0x300,
 0xfc000000},
   v4_int16 = {0x300, 0x0, 0x0, 0xfc00}, v8_int8 = {0x0, 0x3, 0x0, 0x0,
 0x0,
     0x0, 0x0, 0xfc}}
 mm3            {uint64 = 0xa000000000000580, v2_int32 = {0x580,
 0xa0000000},
   v4_int16 = {0x580, 0x0, 0x0, 0xa000}, v8_int8 = {0x80, 0x5, 0x0, 0x0,
 0x0,
     0x0, 0x0, 0xa0}}
 mm4            {uint64 = 0xf000000000000000, v2_int32 = {0x0, 0xf0000000},
   v4_int16 = {0x0, 0x0, 0x0, 0xf000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0,
     0x0, 0xf0}}
 mm5            {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
   v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0,
     0x0, 0x80}}
 mm6            {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
   v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0,
     0x0, 0x80}}
 mm7            {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
   v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0,
     0x0, 0x80}}
 (gdb)
 }}}

-- 
Ticket URL: <http://developer.pidgin.im/ticket/8824>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list