I guess that I see something that is 'normal', because I observerd the same 
thing without my program running. As you can see, I setted a breackpoint on 
ds_device_write and letted the kernel continue. After some time the 
breakpoint was hit with the result: kmsg != kmsg->ikm_next->ikm_prev.

wagi




(gdb) target remote /dev/ttyS1
Remote debugging using /dev/ttyS1
0x0012bfdc in main (argc=166432, argv=0x1)
    at ../../oskit-mach/oskit/x86/main.c:88
88      }
(gdb) b panic
Breakpoint 1 at 0x1f9bc6: file ../../../oskit-20010214/libc/gen/panic.c, line 31.
(gdb) b gdb_break_stub 
Breakpoint 2 at 0x118f4b: file ../../oskit-mach/kern/syscall_sw.c, line 296.
(gdb) c
Continuing.

[...]

Breakpoint 2, gdb_break_stub (addr=0x8048670)
    at ../../oskit-mach/kern/syscall_sw.c:296
296             return 0;
(gdb) b enable b 3
(gdb) c
Continuing.

Breakpoint 3, ds_device_write (dev=0x40799b4, reply_port=0x40986e4, 
    reply_port_type=18, mode=8, recnum=0, data=0x4088634 "\003", count=109, 
    bytes_written=0x412e034) at ../../oskit-mach/oskit/ds_routines.c:686
686     {
(gdb) bt
#0  ds_device_write (dev=0x40799b4, reply_port=0x40986e4, reply_port_type=18, 
    mode=8, recnum=0, data=0x4088634 "\003", count=109, 
    bytes_written=0x412e034) at ../../oskit-mach/oskit/ds_routines.c:686
#1  0x0013417b in _Xdevice_write (InHeadP=0x4035164, OutHeadP=0x412e010)
    at device_server.c:250
#2  0x0011314e in ipc_kobject_server (request=0x4035154)
    at ../../oskit-mach/kern/ipc_kobject.c:192
#3  0x0010d800 in mach_msg_trap (msg=0x12dbaf0, option=3, send_size=56, 
    rcv_size=40, rcv_name=110, time_out=0, notify=0)
    at ../../oskit-mach/ipc/mach_msg.c:1419
#4  0x0013e253 in mach_call_call ()
(gdb) f 3
#3  0x0010d800 in mach_msg_trap (msg=0x12dbaf0, option=3, send_size=56, 
    rcv_size=40, rcv_name=110, time_out=0, notify=0)
    at ../../oskit-mach/ipc/mach_msg.c:1419
1419                    kmsg = ipc_kobject_server(kmsg);
(gdb) p/x *kmsg
$52 = {ikm_next = 0x4088f04, ikm_prev = 0xffffff10, ikm_size = 0x100, 
  ikm_marequest = 0x0, ikm_header = {msgh_bits = 0x80001211, msgh_size = 0x38, 
    msgh_remote_port = 0x40799f8, msgh_local_port = 0x40986e4, 
    msgh_seqno = 0x0, msgh_id = 0xaf2}}
(gdb) p/x *kmsg->ikm_next
$53 = {ikm_next = 0x408920c, ikm_prev = 0xffffff10, ikm_size = 0x100, 
  ikm_marequest = 0x0, ikm_header = {msgh_bits = 0x1111, msgh_size = 0x20, 
    msgh_remote_port = 0x34, msgh_local_port = 0x28, msgh_seqno = 0x3ec, 
    msgh_id = 0x5214}}
(gdb) p/x kmsg
$54 = 0x4035154
(gdb) p/x kmsg->ikm_next
$55 = 0x4088f04
(gdb) p/x kmsg->ikm_next->ikm_prev
$56 = 0xffffff10


_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd

Reply via email to