Re: (fstat), uid 0: exited on signal 11

From: Harold Gutch <logix(at)foobar.franken.de>
Date: Sun, 17 Oct 2004 21:41:39 +0200

On Sun, Oct 17, 2004 at 07:48:49PM +0200, Matthias Teege wrote:
> On Sun, Oct 17, 2004 at 03:37:36PM +0200, Harold Gutch wrote:
> > Was sagt denn "print ofiles" bzw. "print i"?
>
> (gdb) print ofiles
> $1 = (struct file **) 0x804e000
> (gdb) print i
> $2 = 79872

Oha, das scheint mir etwas hoch zu sein. Der Kommentar vor der
Funktion im Quelltext sagt, dass die Funktion alle offenen
Filedescriptoren eines Prozesses ausgeben soll. Entweder der
Kernel schickt da irgendwo Bloedsinn raus, oder fstat
interpretiert Daten die vom Kernel kommen falsch.

> (gdb) print ofiles[i]
> Cannot access memory at address 0x809c000.

Das ist klar, genau deswegen kriegst du auch einen Segmentation
Fault - fstat will auf Speicher der ihm nicht gehoert zugreifen.

> (gdb) print filed.fd_lastfile
> No symbol "filed" in current context.

Oh, ich hab uebersehen, dass filed davor '#define't wurde.
Versuch mal "print filed0.fd_fd.fd_lastfile".

Oder schau mal die ganze filed0 Struktur an, vielleicht erkennst
du dort schon irgendetwas das komplett falsch aussieht.

bye,
  Harold

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sun 17 Oct 2004 - 21:42:35 CEST

search this site