From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:37818) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qwfe2-0003oj-Ru for qemu-devel@nongnu.org; Thu, 25 Aug 2011 15:31:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qwfe1-0006Ak-Ek for qemu-devel@nongnu.org; Thu, 25 Aug 2011 15:31:18 -0400 Received: from mx1.redhat.com ([209.132.183.28]:21769) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qwfe1-0006Ag-57 for qemu-devel@nongnu.org; Thu, 25 Aug 2011 15:31:17 -0400 Message-ID: <4E56A300.8020805@redhat.com> Date: Thu, 25 Aug 2011 22:31:12 +0300 From: Avi Kivity MIME-Version: 1.0 References: <4E54C730.1010602@redhat.com> <4E55465B.2000708@redhat.com> <4E55583C.5040407@redhat.com> <4E55D30D.4080501@redhat.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] PPC* and Sparc32 crash List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Blue Swirl Cc: qemu-devel On 08/25/2011 08:33 PM, Blue Swirl wrote: > (gdb) bt > #0 0x00007ffff3da2165 in *__GI_raise (sig=) > at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 > #1 0x00007ffff3da4f70 in *__GI_abort () at abort.c:92 > #2 0x00007ffff3d9b2b1 in *__GI___assert_fail ( > assertion=0x5c7390 "info->qdev.size>= sizeof(SysBusDevice)", > file=, line=0x9c, > function=0x5c73c0 "sysbus_register_withprop") at assert.c:81 > #3 0x000000000052e000 in sysbus_register_withprop (info=) > at /src/qemu/hw/sysbus.c:156 > #4 0x000000000041d9c3 in module_call_init (type=) > at /src/qemu/module.c:78 > #5 0x0000000000518b64 in main (argc=, > argv=, envp=) > at /src/qemu/vl.c:3241 > (gdb) up 3 > #3 0x000000000052e000 in sysbus_register_withprop (info=) > at /src/qemu/hw/sysbus.c:156 > 156 assert(info->qdev.size>= sizeof(SysBusDevice)); > (gdb) p *info > Cannot access memory at address 0x0 > (gdb) p info > $1 = -O1 fixes that. > (gdb) up > #4 0x000000000041d9c3 in module_call_init (type=) > at /src/qemu/module.c:78 > 78 e->init(); > (gdb) p *e > $2 = {type = MODULE_INIT_BLOCK, > init = 0x53cf50, node = { > tqe_next = 0x1051130, tqe_prev = 0x10510b0}} static SysBusDeviceInfo sun4c_intctl_info = { .init = sun4c_intctl_init1, .qdev.name = "sun4c_intctl", .qdev.size = sizeof(Sun4c_INTCTLState), .qdev.vmsd = &vmstate_sun4c_intctl, .qdev.reset = sun4c_intctl_reset, }; typedef struct Sun4c_INTCTLState { SysBusDevice busdev; ... } so the code looks fine. Can you dig deeper? Did something stomp on qdev.size? -- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.