[BraLUG] "Illegal instruction" - wie kriegt man mehr Infos

Michael Kürschner michael.kuerschner at googlemail.com
Do Jun 23 20:17:53 CEST 2011


Am 23.06.2011 19:36, schrieb Ingo Schaefer:
> Das ist in der Tat bloed.
> Welche Versionen der beteiligten Bibliotheken sind denn dabei?
xumac:~$ ldd /usr/local/bin/tuxpaint
    linux-vdso32.so.1 =>  (0x00100000)
    libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x0ff40000)
    libSDL_image-1.2.so.0 => /usr/lib/libSDL_image-1.2.so.0 (0x0ff02000)
    libSDL_ttf-2.0.so.0 => /usr/lib/libSDL_ttf-2.0.so.0 (0x0fedb000)
    libSDL_mixer-1.2.so.0 => /usr/lib/libSDL_mixer-1.2.so.0 (0x0fe57000)
    libSDL_Pango.so.1 => /usr/lib/libSDL_Pango.so.1 (0x0fe32000)
    librsvg-2.so.2 => /usr/lib/librsvg-2.so.2 (0x0fdd7000)
    libcairo.so.2 => /usr/lib/libcairo.so.2 (0x0fd30000)
    libpaper.so.1 => /usr/lib/libpaper.so.1 (0x0fd0d000)
    libm.so.6 => /lib/libm.so.6 (0x0fc3f000)
    libc.so.6 => /lib/libc.so.6 (0x0faac000)
    libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x0fa3f000)
    libpng12.so.0 => /lib/libpng12.so.0 (0x0f9f6000)
    libasound.so.2 => /usr/lib/libasound.so.2 (0x0f8ea000)
    librt.so.1 => /lib/librt.so.1 (0x0f8c1000)
    libdl.so.2 => /lib/libdl.so.2 (0x0f89d000)
    libdirectfb-1.2.so.0 => /usr/lib/libdirectfb-1.2.so.0 (0x0f7f7000)
    libfusion-1.2.so.0 => /usr/lib/libfusion-1.2.so.0 (0x0f7cc000)
    libdirect-1.2.so.0 => /usr/lib/libdirect-1.2.so.0 (0x0f791000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x0f756000)
    libtiff.so.4 => /usr/lib/libtiff.so.4 (0x0f6cf000)
    libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x0f688000)
    libz.so.1 => /lib/libz.so.1 (0x0f652000)
    libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x0f5ae000)
    libmikmod.so.2 => /usr/lib/libmikmod.so.2 (0x0f53b000)
    libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0x0f512000)
    libsmpeg-0.4.so.0 => /usr/lib/libsmpeg-0.4.so.0 (0x0f496000)
    libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x0f449000)
    libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x0f3da000)
    libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x0f381000)
    libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x0f35d000)
    libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x0f249000)
    libgsf-1.so.114 => /usr/lib/libgsf-1.so.114 (0x0f1e2000)
    libcroco-0.6.so.3 => /usr/lib/libcroco-0.6.so.3 (0x0f183000)
    libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x0f144000)
    libxml2.so.2 => /usr/lib/libxml2.so.2 (0x0efc3000)
    libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x0ef96000)
    libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x0eeb0000)
    libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x0ee3b000)
    libxcb-render-util.so.0 => /usr/lib/libxcb-render-util.so.0 (0x0ee17000)
    libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x0edef000)
    libxcb.so.1 => /usr/lib/libxcb.so.1 (0x0edb3000)
    libXrender.so.1 => /usr/lib/libXrender.so.1 (0x0ed88000)
    libX11.so.6 => /usr/lib/libX11.so.6 (0x0ec28000)
    /lib/ld.so.1 (0x201df000)
    libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x0ec03000)
    libpcre.so.3 => /lib/libpcre.so.3 (0x0ebb6000)
    libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x0eb69000)
    libogg.so.0 => /usr/lib/libogg.so.0 (0x0eb42000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0e9f2000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0e9ba000)
    libexpat.so.1 => /lib/libexpat.so.1 (0x0e96c000)
    libbz2.so.1.0 => /lib/libbz2.so.1.0 (0x0e939000)
    libresolv.so.2 => /lib/libresolv.so.2 (0x0e902000)
    libselinux.so.1 => /lib/libselinux.so.1 (0x0e8c2000)
    libXau.so.6 => /usr/lib/libXau.so.6 (0x0e89e000)
    libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x0e878000)

> Kannst Du das tuxpaint vielleicht mal im Debugger starten? (und ggf. von
> der libpng-Bibliothek das -debuginfo-Paket installieren?)
Debugger starten? Wie geht das?
> Laut Webseite gab es in den letzten Versionen der libpng einige "Bugs",
> die auch zu crashes gefuehrt haben.
>
> Tritt der Fehler schon beim Starten auf oder erst beim Laden eines PNGs?
Der Fehler tritt schon beim Starten auf. Er lädt aber auch ein PNG BIld
zum Schluss. Ob es aber wirklich daran liegt??? Die komplette Meldung
von strace ist in der Mail als Antwort auf Rob (23.Jun. 20:15)
....
open("/usr/local/share/tuxpaint/images/icon.png", O_RDONLY) = 8
fstat64(0x8, 0xbffdb3b8)                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x48203000
_llseek(8, 0, [0], SEEK_CUR)            = 0
_llseek(8, 0, [0], SEEK_SET)            = 0
read(8,
"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0(\0\0\0(\10\6\0\0\0\214\376\270"...,
4096) = 1735
_llseek(8, 1735, [1735], SEEK_SET)      = 0
_llseek(8, 1735, [1735], SEEK_SET)      = 0
_llseek(8, 1735, [1735], SEEK_SET)      = 0
_llseek(8, 1735, [1735], SEEK_SET)      = 0
_llseek(8, 1735, [1735], SEEK_SET)      = 0
_llseek(8, 1735, [1735], SEEK_SET)      = 0
_llseek(8, 1735, [1735], SEEK_SET)      = 0
_llseek(8, 1735, [1735], SEEK_SET)      = 0
_llseek(8, 1735, [1735], SEEK_SET)      = 0
_llseek(8, 1735, [1735], SEEK_SET)      = 0
_llseek(8, 1735, [1735], SEEK_SET)      = 0
_llseek(8, 1735, [1735], SEEK_SET)      = 0
_llseek(8, 1735, [1735], SEEK_SET)      = 0
_llseek(8, 1735, [1735], SEEK_SET)      = 0
_llseek(8, 1735, [1735], SEEK_SET)      = 0
_llseek(8, 1735, [1735], SEEK_SET)      = 0
close(8)                                = 0
munmap(0x48203000, 4096)                = 0
rt_sigaction(SIGILL, {0xff4f7e0, [ILL], SA_RESTART}, {SIG_DFL, [], 0},
8) = 0
--- SIGILL (Illegal instruction) @ 0 (0) ---
rt_sigaction(SIGILL, {SIG_DFL, [ILL], SA_RESTART}, {0xff4f7e0, [ILL],
SA_RESTART}, 8) = 0
poll([{fd=4, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=4, revents=POLLOUT}])
writev(4,
[{"5\1\0\4\2\340\0\f\2\340\0\3\0(\0(7\1\0\6\2\340\0\r\2\340\0\f\0\0\0\f"...,
6920}, {NULL, 0}, {"", 0}], 3) = 6920
poll([{fd=4, events=POLLIN}], 1, -1)    = 1 ([{fd=4, revents=POLLIN}])
read(4,
"\34\243\0N\2\340\0\3\0\0\0#\1\f\230\346\0\0\37\0p\4A\3\0\0A\3Z\4Q\3"..., 4096)
= 64
read(4, 0x107ca8c4, 4096)               = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=4, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=4, revents=POLLOUT}])
writev(4, [{"\22\0\0\t\2\340\0\3\0\0\0'\0\0\0\37\10\1\0\6\0\0\0\tTux
Pain"..., 56}, {NULL, 0}, {"", 0}], 3) = 56
poll([{fd=4, events=POLLIN}], 1, -1)    = 1 ([{fd=4, revents=POLLIN}])
read(4,
"\34\243\0P\2\340\0\3\0\0\0'\1\f\230\351\0\0\37\0p\4A\3\0\0A\3Z\4Q\3"..., 4096)
= 64
read(4, 0x107ca8c4, 4096)               = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=4, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=4, revents=POLLOUT}])
writev(4, [{"\22\0\0\t\2\340\0\3\0\0\1#\0\0\1\24\10\1\0\6\0\0\0\tTux
Pain"..., 112}, {NULL, 0}, {"", 0}], 3) = 112
poll([{fd=4, events=POLLIN}], 1, -1)    = 1 ([{fd=4, revents=POLLIN}])
read(4,
"\34\243\0R\2\340\0\3\0\0\1#\1\f\230\354\0\0\37\0p\4A\3\0\0A\3Z\4Q\3"..., 4096)
= 128
read(4, 0x107ca8c4, 4096)               = -1 EAGAIN (Resource
temporarily unavailable)
--- SIGILL (Illegal instruction) @ 0 (0) ---
+++ killed by SIGILL +++



Gruß
Micha




Mehr Informationen über die Mailingliste Bralug