reproducible crash (core dump) in skype, apparently when using scim input method
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
scim (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Skype was working fine on my ubuntu-7.10 (Gutsy) until I switch input method to using SCIM.
Skype now crashes at startup (100% reproducible) with core dump.
I have this in my environment (to be able to type accentuated characters using US keyboard):
pel@pel-laptop:~$ env | grep scim
QT_IM_MODULE=scim
GTK_IM_MODULE=scim
and this is how skype crashes at startup:
pel@pel-laptop:~$ skype
*** glibc detected *** skype: free(): invalid pointer: 0x08a3b3e0 ***
======= Backtrace: =========
/lib/tls/
/lib/tls/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
skype[0x81944a7]
skype[0x8078989]
skype[0x8075972]
/lib/tls/
skype(_
======= Memory map: ========
08048000-08988000 rwxp 00000000 08:03 2036820 /usr/bin/skype
08988000-08a44000 rw-p 08988000 00:00 0 [heap]
b6900000-b6921000 rw-p b6900000 00:00 0
b6921000-b6a00000 ---p b6921000 00:00 0
b6ac5000-b6aea000 r-xp 00000000 08:03 2500082 /usr/lib/
b6aea000-b6aeb000 rw-p 00024000 08:03 2500082 /usr/lib/
b6aeb000-b6bc1000 r-xp 00000000 08:03 2037768 /usr/lib/
b6bc1000-b6bcf000 rw-p 000d6000 08:03 2037768 /usr/lib/
b6bd5000-b6be0000 r-xp 00000000 08:03 2500083 /usr/lib/
b6be0000-b6be1000 rw-p 0000a000 08:03 2500083 /usr/lib/
b6be1000-b6c00000 r-xp 00000000 08:03 2500142 /usr/lib/
b6c00000-b6c01000 rw-p 0001f000 08:03 2500142 /usr/lib/
b6c01000-b6c8c000 r--p 00000000 08:03 2541247 /usr/share/
b6c8c000-b6cb9000 r-xp 00000000 08:03 2031703 /usr/lib/
b6cb9000-b6cbb000 rw-p 0002c000 08:03 2031703 /usr/lib/
b6cbb000-b6cbd000 rw-p b6cbb000 00:00 0
b6cbd000-b6d28000 r-xp 00000000 08:03 2033664 /usr/lib/
b6d28000-b6d2b000 rw-p 0006a000 08:03 2033664 /usr/lib/
b6d35000-b6d37000 r-xp 00000000 08:03 2037769 /usr/lib/
b6d37000-b6d38000 rw-p 00001000 08:03 2037769 /usr/lib/
b6d38000-b6d3c000 r-xp 00000000 08:03 2500078 /usr/lib/
b6d3c000-b6d3d000 rw-p 00003000 08:03 2500078 /usr/lib/
b6d3d000-b6d67000 r-xp 00000000 08:03 2036901 /usr/lib/
b6d67000-b6d68000 rw-p 0002a000 08:03 2036901 /usr/lib/
b6d6a000-b6d73000 r-xp 00000000 08:03 2495118 /usr/lib/
b6d73000-b6d74000 rw-p 00009000 08:03 2495118 /usr/lib/
b6d74000-b6d79000 r-xp 00000000 08:03 2495064 /usr/lib/
b6d79000-b6d7a000 rw-p 00004000 08:03 2495064 /usr/lib/
b6d7a000-b6d99000 r-xp 00000000 08:03 4636684 /usr/lib/
b6d99000-b6d9a000 rw-p 0001e000 08:03 4636684 /usr/lib/
b6d9a000-b6d9b000 ---p b6d9a000 00:00 0
b6d9b000-b6e1b000 rw-p b6d9b000 00:00 0
b6e1b000-b6e21000 r--s 00000000 08:03 2608149 /var/cache/
b6e21000-b6e24000 r--s 00000000 08:03 2608548 /var/cache/
b6e24000-b6e25000 r--s 00000000 08:03 2608547 /var/cache/
b6e25000-b6e27000 r--s 00000000 08:03 2608546 /var/cache/
b6e27000-b6e28000 r--s 00000000 08:03 2608544 /varAborted (core dumped)
If I try to run with valgrind, I see that skype accesses illegal address 0:
pel@pel-laptop:~$ valgrind skype
==24749== Memcheck, a memory error detector.
==24749== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==24749== Using LibVEX rev 1732, a library for dynamic binary translation.
==24749== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==24749== Using valgrind-
==24749== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==24749== For more details, rerun with: -v
==24749==
==24749== Invalid read of size 1
==24749== at 0x850E06B: (within /usr/bin/skype)
==24749== by 0x681: ???
==24749== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==24749==
==24749== Process terminating with default action of signal 11 (SIGSEGV): dumping core
==24749== Access not within mapped region at address 0x0
==24749== at 0x850E06B: (within /usr/bin/skype)
==24749== by 0x681: ???
==24749==
==24749== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 71 from 1)
==24749== malloc/free: in use at exit: 9,865 bytes in 413 blocks.
==24749== malloc/free: 413 allocs, 0 frees, 9,865 bytes allocated.
==24749== For counts of detected errors, rerun with: -v
==24749== searching for pointers to 413 not-freed blocks.
==24749== checked 10,481,288 bytes.
==24749==
==24749== LEAK SUMMARY:
==24749== definitely lost: 0 bytes in 0 blocks.
==24749== possibly lost: 0 bytes in 0 blocks.
==24749== still reachable: 9,865 bytes in 413 blocks.
==24749== suppressed: 0 bytes in 0 blocks.
==24749== Rerun with --leak-check=full to see details of leaked memory.
Segmentation fault (core dumped)
pel@pel-laptop:~$
If I unset the QT_IM_MODULE variable, then skype works fine:
$ unset QT_IM_MODULE
$ skype
(ok, works)
So bug is somehow triggered by input method QT_IM_MODULE=scim.
I am not sure whether it's a bug in skype itself, or in the Qt librarỵ (or even somewhere else)
If I look at the core file with gdb, I see this:
$ gdb /usr/bin/skype core
(gdb) bt
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7361875 in raise () from /lib/tls/
#2 0xb7363201 in abort () from /lib/tls/
#3 0xb7398e5c in ?? () from /lib/tls/
#4 0x00000008 in ?? ()
#5 0xbff48d54 in ?? ()
#6 0x00000400 in ?? ()
#7 0xb74630c8 in ?? () from /lib/tls/
#8 0x00000017 in ?? ()
#9 0xbff4b8f7 in ?? ()
#10 0x00000005 in ?? ()
#11 0xb74630e1 in ?? () from /lib/tls/
#12 0x00000002 in ?? ()
#13 0xb74600c4 in ?? () from /lib/tls/
#14 0x00000017 in ?? ()
#15 0xb74630e5 in ?? () from /lib/tls/
#16 0x00000004 in ?? ()
#17 0xbff492cb in ?? ()
#18 0x00000008 in ?? ()
#19 0xb74630eb in ?? () from /lib/tls/
#20 0x00000005 in ?? ()
#21 0x08a3aea8 in ?? ()
#22 0xbff48efc in ?? ()
#23 0xb6bf3881 in ?? () from /usr/lib/
#24 0xb6bf3875 in ?? () from /usr/lib/
#25 0xb7f92020 in ?? () from /lib/ld-linux.so.2
#26 0xb7f91ff4 in ?? () from /lib/ld-linux.so.2
#27 0xb74630eb in ?? () from /lib/tls/
#28 0x00000005 in ?? ()
#29 0xbff48ca0 in ?? ()
#30 0x00000025 in ?? ()
#31 0xb6bf386a in ?? () from /usr/lib/
#32 0xb7f92020 in ?? () from /lib/ld-linux.so.2
#33 0xb7f91ff4 in ?? () from /lib/ld-linux.so.2
#34 0xb7f775b8 in ?? () from /lib/ld-linux.so.2
#35 0xbff492cb in ?? ()
#36 0x00000008 in ?? ()
#37 0xbff48cb0 in ?? ()
#38 0xb6bf385e in ?? () from /usr/lib/
#39 0xb74630e5 in ?? () from /lib/tls/
#40 0x00000004 in ?? ()
#41 0xbff48cd0 in ?? ()
#42 0xb7398cf9 in ?? () from /lib/tls/
#43 0xb74630e6 in ?? () from /lib/tls/
#44 0x00000025 in ?? ()
#45 0xb6bf3851 in ?? () from /usr/lib/
#46 0xb7f92020 in ?? () from /lib/ld-linux.so.2
#47 0xb74600c4 in ?? () from /lib/tls/
#48 0x00000017 in ?? ()
#49 0xbff48cf0 in ?? ()
---Type <return> to continue, or q <return> to quit---
#50 0xb74600c4 in ?? () from /lib/tls/
#51 0xb6bf3851 in ?? () from /usr/lib/
#52 0xb6bf383e in ?? () from /usr/lib/
#53 0xb7f92020 in ?? () from /lib/ld-linux.so.2
#54 0xb7f91ff4 in ?? () from /lib/ld-linux.so.2
#55 0xb74630e1 in ?? () from /lib/tls/
#56 0x00000002 in ?? ()
#57 0xbff48d10 in ?? ()
#58 0x00000025 in ?? ()
#59 0xb7363ce5 in getenv () from /lib/tls/
#60 0xb73a0d65 in ?? () from /lib/tls/
#61 0x00000002 in ?? ()
#62 0xb74630c8 in ?? () from /lib/tls/
#63 0xbff4b8f7 in ?? ()
#64 0xb74600c4 in ?? () from /lib/tls/
#65 0xbff492cb in ?? ()
#66 0x08a3b664 in ?? ()
#67 0xbff492cb in ?? ()
#68 0x08a3b3d8 in ?? ()
#69 0xb74ded7d in ?? () from /usr/lib/
#70 0x000006f5 in ?? ()
#71 0xb74600c4 in ?? () from /lib/tls/
#72 0xbff49340 in ?? ()
#73 0x08a39990 in ?? ()
#74 0xb6b1234d in ?? () from /usr/lib/
#75 0xc37e5c95 in ?? ()
#76 0x00000000 in ?? ()
which also confirms that crash happens in
the input method /usr/lib/
I experience the same bug, same symptoms. Launching skype with scim disabled works.