[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