Comment 6 for bug 438637

Revision history for this message
Arthur Hartwig (a-hartwig) wrote :

I installed italc-master-dbgsym as requested but it doesn't seem to have made any difference to the availability of debug symbols.

root@ubuntu:~# apt-cache show italc-master-dbgsym
Package: italc-master-dbgsym
Priority: extra
Section: x11
Installed-Size: 32
Maintainer: Ubuntu Core Developers <email address hidden>
Original-Maintainer: Patrick Winnertz <email address hidden>
Architecture: i386
Source: italc
Version: 1:1.0.9.1-0ubuntu9
Depends: italc-master (= 1:1.0.9.1-0ubuntu9)
Filename: pool/main/i/italc/italc-master-dbgsym_1.0.9.1-0ubuntu9_i386.ddeb
Size: 1940
MD5sum: 54816632abcec6eb4638df68ca2754a7
SHA1: 1808cf396527fc1407f3c000dd5b008abdf2173d
SHA256: 390ec3b80598bae15f0f198a5c959999d8df8cdaaad189bf7f3cd02e690598e8
Description: debug symbols for package italc-master
 iTALC makes it possible, to access and influence the pupils
 activities just from the computer of the teacher. With the
 help of iTALC, for example the teacher is able to see the
 content of the pupils screens on his screen. If a pupil needs
 help, the teacher can access the pupils desktop and give support
 from his computer. The pupil can watch all activities, the
 teacher is doing on his desktop. So the pupil can learn new processes.
 For teaching something to all pupils, you can switch into demo-mode
 where all screens of the pupils show the teacher-screen.
 Furthermore things like locking pupil's screens, killing games,
 power on/off clients and much more can be done with iTALC.
 .
 This package contains the software necessary to observe and control iTALC
 clients provided by the italc-client package.
Homepage: http://italc.sourceforge.net/home.php

root@ubuntu:~#

root@ubuntu:~# italc
/usr/share/themes/EdubuntuColors/gtk-2.0/gtkrc:77: Murrine configuration option
"hilight_ratio" will be deprecated in future releases. Please use "highlight_sha
de" instead.
Illegal instruction
root@ubuntu:~# gdb italc
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
(no debugging symbols found)
(no debugging symbols found)
(gdb) run
Starting program: /usr/bin/italc
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[New Thread 0xb68d9700 (LWP 20037)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
/usr/share/themes/EdubuntuColors/gtk-2.0/gtkrc:77: Murrine configuration option
"hilight_ratio" will be deprecated in future releases. Please use "highlight_sha
de" instead.
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)

Program received signal SIGILL, Illegal instruction.
[Switching to Thread 0xb68d9700 (LWP 20037)]
0xb6f95e8a in ?? () from /usr/lib/italc/libitalc_core.so
(gdb) x/i 0xb6f95e8a
0xb6f95e8a: pshufw $0x0,%mm7,%mm7
(gdb) bt
#0 0xb6f95e8a in ?? () from /usr/lib/italc/libitalc_core.so
#1 0xb6f96334 in fastQImage::scaleTo () from /usr/lib/italc/libitalc_core.so
#2 0x080661a0 in ?? ()
#3 0x0805f338 in ?? ()
#4 0x0806b651 in ?? ()
#5 0x08079450 in ?? ()
#6 0x08091d17 in ?? ()
#7 0x0809e848 in ?? ()
#8 0xb6cdf775 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#9 0x0805bb11 in ?? ()
(gdb) x/i 0xb6f96334
0xb6f96334 <_ZNK10fastQImage7scaleToER6QImage+740>: cmp -0x58(%ebp),%edi
(gdb) x/i 0xb6f96334-1
0xb6f96333 <_ZNK10fastQImage7scaleToER6QImage+739>: add %bh,(%ebx)
(gdb) x/i 0xb6f96334-2
0xb6f96332 <_ZNK10fastQImage7scaleToER6QImage+738>: add %al,(%eax)
(gdb) x/i 0xb6f96334-3
0xb6f96331 <_ZNK10fastQImage7scaleToER6QImage+737>: pop %es
(gdb) x/i 0xb6f96334-4
0xb6f96330 <_ZNK10fastQImage7scaleToER6QImage+736>: clc
(gdb) x/i 0xb6f96334-5
0xb6f9632f <_ZNK10fastQImage7scaleToER6QImage+735>: xchg %eax,%ebx
(gdb) x/i 0xb6f96334-6
0xb6f9632e <_ZNK10fastQImage7scaleToER6QImage+734>: call *0x7f8(%ebx)
(gdb) p/x $ebx
$1 = 0xb6fd5ff4
(gdb) x/x 0xb6fd5ff4+0x7f8
0xb6fd67ec: 0xb6f95e00
(gdb) x/i 0xb6f95e00,40
0x28: Cannot access memory at address 0x28
(gdb) x/40i 0xb6f95e00
0xb6f95e00: push %ebp
0xb6f95e01: mov %esp,%ebp
0xb6f95e03: sub $0x48,%esp
0xb6f95e06: mov 0x1c(%ebp),%eax
0xb6f95e09: mov %edi,-0x4(%ebp)
0xb6f95e0c: mov 0x14(%ebp),%ecx
0xb6f95e0f: mov 0x20(%ebp),%edi
0xb6f95e12: mov %esi,-0x8(%ebp)
0xb6f95e15: mov 0x18(%ebp),%esi
0xb6f95e18: lea 0x0(,%eax,4),%edx
0xb6f95e1f: sub %edx,%ecx
0xb6f95e21: lea 0x0(,%edi,4),%edx
0xb6f95e28: sub %edx,%esi
0xb6f95e2a: xor %edx,%edx
0xb6f95e2c: shl $0xe,%eax
0xb6f95e2f: div %edi
0xb6f95e31: mov %ebx,-0xc(%ebp)
0xb6f95e34: call 0xb6f93007 <DSA_free@plt+207>
0xb6f95e39: add $0x401bb,%ebx
0xb6f95e3f: movl $0x0,0xc(%esp)
0xb6f95e47: movl $0x40000000,(%esp)
0xb6f95e4e: movl $0x0,0x4(%esp)
0xb6f95e56: mov %esi,-0x18(%ebp)
---Type <return> to continue, or q <return> to quit---
0xb6f95e59: mov %ecx,-0x14(%ebp)
0xb6f95e5c: mov %eax,0x8(%esp)
0xb6f95e60: mov %eax,-0x1c(%ebp)
0xb6f95e63: call 0xb6f91538 <__divdi3@plt>
0xb6f95e68: mov 0xc(%ebp),%edi
0xb6f95e6b: movl $0x40004000,-0x28(%ebp)
0xb6f95e72: mov 0x8(%ebp),%esi
0xb6f95e75: movl $0x40004000,-0x24(%ebp)
0xb6f95e7c: mov %eax,-0x20(%ebp)
0xb6f95e7f: pxor %mm0,%mm0
0xb6f95e82: movd -0x20(%ebp),%mm7
0xb6f95e86: movq -0x28(%ebp),%mm6
0xb6f95e8a: pshufw $0x0,%mm7,%mm7
0xb6f95e8e: mov -0x1c(%ebp),%ecx
0xb6f95e91: pxor %mm1,%mm1
0xb6f95e94: mov 0x1c(%ebp),%edx
0xb6f95e97: cmp $0x4000,%ecx
(gdb) quit
The program is running. Exit anyway? (y or n) y
root@ubuntu:~#

=========================================================
It looks to me from the gdb output that the problem was found on attempt to execute the instruction at 0xb6f95e8a in library /usr/lib/italc/libitalc_core.so
The instruction there is pshufw $0x0,%mm7,%mm7
The Intel 64 and IA-32 Architectures Software Developer's Manual Volume 1: Basic Architecture says (in section 5.5.3 page 152) that pshufw is a SSE instruction. Pentium II CPUs don't have SSE instructions.

Its not obvious how to locate the source code resulting in the pshufw instruction.
It would appear from the call stack that the offending code is called indirectly through offset 0x7f8 of a data structure used in _ZNK10fastQImage7scaleToER6QImage