linux-l: sigill
Robert Sander
ml-belug at epigenomics.de
Fr Jul 13 14:08:27 CEST 2001
On 13 Jul 2001 13:55:29 +0200,
Matthias Kranz <mskranz at acm.org> wrote:
> SIGILL? Schande. Das heißt, es versucht, einen Befehl auszuführen, den
> die Hardware nicht zulässt?! Wer macht denn sowas? ;)
Na, nur in Binärformat vorhandene Programme eben...
> Trotzdem kann man immer noch stracen oder?
richtig, bringt aber auch nicht viel:
getpid() = 13522
close(4) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigaction(SIGTSTP, {SIG_DFL}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTTIN, {SIG_DFL}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTTOU, {SIG_DFL}, {SIG_DFL}, 8) = 0
getpid() = 13522
rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_IGN}, 8) = 0
rt_sigaction(SIGCHLD, {SIG_DFL}, {0x806c3b8, [], 0x4000000}, 8) = 0
open("/dev/null", O_RDONLY|0x8000) = 4
dup2(4, 0) = 0
close(4) = 0
rt_sigaction(SIGINT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0
execve("./runInstaller", ["./runInstaller"], [/* 26 vars */]) = 0
brk(0) = 0x804dc94
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/debug/i686/mmx/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib/debug/i686/mmx", 0x7ffff534) = -1 ENOENT (No such file or directory)
open("/usr/lib/debug/i686/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib/debug/i686", 0x7ffff534) = -1 ENOENT (No such file or directory)
open("/usr/lib/debug/mmx/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib/debug/mmx", 0x7ffff534) = -1 ENOENT (No such file or directory)
open("/usr/lib/debug/libc.so.6", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=3907591, ...}) = 0
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\244\213"..., 4096) = 4096
old_mmap(NULL, 902044, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x2aabf000
mprotect(0x2ab94000, 29596, PROT_NONE) = 0
old_mmap(0x2ab94000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0xd4000) = 0x2ab94000
old_mmap(0x2ab98000, 13212, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ab98000
close(4) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2ab9c000
getpid() = 13522
--- SIGILL (Illegal instruction) ---
Die C-Bibliothek wird aus dem libc6-dbg Paket geladen, wir haben uns
daraus mehr Infos erhofft, ist aber kein Unterschied.
Laut Oracle-Support soll danach auf /tmp zugegriffen werden, das
Verzeichnis sieht so aus:
drwxrwxrwt 5 root root 4096 Jul 13 14:04 /tmp
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/sda7 4664632 76 4427600 0% /tmp
Der ausführende Benutzer spielt auch keine Rolle.
Grüße
--
Robert Sander
Computer Scientist Epigenomics AG
Bioinformatics R&D www.epigenomics.com Kastanienallee 24
+493024345330 10435 Berlin
Mehr Informationen über die Mailingliste linux-l