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