[999] in NetBSD-Development
ilin's Xess problem
daemon@ATHENA.MIT.EDU (John Hawkinson)
Sun Sep 3 12:40:22 1995
Date: Sun, 3 Sep 1995 12:39:57 -0400
To: netbsd-dev@MIT.EDU
In-Reply-To: "[309] in netbsd-help mailing list archive"
From: John Hawkinson <jhawk@MIT.EDU>
I looked at ilin's problem with Xess the morning, and it's certainly
reproducable under NetBSD.
Under Linux, Xess continues on it's merry way and keesh died for about
5 minutes, but eventually got the graph up.
ktracing under NetBSD (I didn't strace under Linux) yields:
[...]
433 xess CALL linux_brk(0x118b000)
433 xess RET linux_brk 18391040/0x118a000
433 xess CALL linux_open(0xf7bf9660,0,0xf7bfab20)
433 xess NAMI "/emul/linux/usr/X386/lib/X11/XtErrorDB"
433 xess NAMI "/usr/X386/lib/X11/XtErrorDB"
433 xess RET linux_open JUSTRETURN
433 xess CALL write(0x2,0xf7bf9cf0,0x1d)
433 xess GIO fd 2 wrote 29 bytes
"Error: Cannot perform malloc
"
433 xess RET write 29/0x1d
433 xess CALL linux_fstat(0x1,0xf7bfa218)
433 xess RET linux_fstat 0
433 xess CALL linux_brk(0x118e000)
433 xess RET linux_brk 18391040/0x118a000
433 xess CALL linux_ioctl(0x1,0x5401 ,0xf7bfa1e0)
433 xess RET linux_ioctl 0
433 xess CALL exit(0x1)
I single-stepped through the linux_open()
(/sys/compat/linux/linux_file.c), and when it hits:
if ((error = open(p, &boa, retval)))
return error;
open() returns 2 (ENOENT), and seemingly so does linux_open(). So
I'm kind of at a loss why JUSTRETURN is returned, and I guess I don't
know what corresponds to the syscall/ktrace magic that actually invokes
linux_open().
??
Am I correct in assuming that ktrace should never show a JUSTRETURN,
and any such instance is a bug?
If so, linux_access, linux_open, and linux_stat are also affected in
some way.
--jhawk