Comment 1 for bug 1538049

Revision history for this message
Stefan Bader (smb) wrote :

Hm, when repeating with a xenstored that prints additional trace messages about domain->interface values, I now got a case where the SIGBUS seems to have happened while the interface pointer looks valid.

(gdb) where
#0 domain_can_read (conn=conn@entry=0x8eb890) at xenstored_domain.c:261
#1 0x0000000000402718 in main (argc=<optimized out>, argv=<optimized out>)
    at xenstored_core.c:2145
(gdb) p *((struct connection *) 0x8eb890)
$1 = {list = {next = 0x8eca60, prev = 0x8ecdf0}, fd = -1, pollfd_idx = -1,
  id = 1, can_write = true, in = 0x8ef290, out_list = {next = 0x8eb8b8,
    prev = 0x8eb8b8}, transaction = 0x0, transaction_list = {next = 0x8eb8d0,
    prev = 0x8eb8d0}, next_transaction_id = 10, transaction_started = 0,
  domain = 0x8eced0, target = 0x0, watches = {next = 0x8edd30,
    prev = 0x8ee9a0}, write = 0x406140 <writechn>, read = 0x406240 <readchn>}
(gdb) p *((struct domain *) 0x8eced0)
$2 = {list = {next = 0x8e81b0, prev = 0x6145a0 <domains>}, domid = 1,
  port = 48, remote_port = 1, mfn = 2173329,
  path = 0x8ec460 "/local/domain/1", interface = 0x7fc8acb0f000,
  conn = 0x8eb890, shutdown = 0, nbentry = 44, nbwatch = 9}