qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] system_reset command cause assert failed
@ 2010-01-31  8:28 Roy Tam
  2010-02-01 12:17 ` Luiz Capitulino
  0 siblings, 1 reply; 14+ messages in thread
From: Roy Tam @ 2010-01-31  8:28 UTC (permalink / raw)
  To: qemu-devel

Dear all,

In latest git revision, when guest OS restarts or system_reset command
issues from monitor console, it asserts failed:
Assertion failed: obj != NULL, file C:/msys/home/User/qemu/monitor.c, line 338

Best regards,
Roy Tam

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] system_reset command cause assert failed
  2010-01-31  8:28 [Qemu-devel] system_reset command cause assert failed Roy Tam
@ 2010-02-01 12:17 ` Luiz Capitulino
  2010-02-01 12:36   ` Roy Tam
  0 siblings, 1 reply; 14+ messages in thread
From: Luiz Capitulino @ 2010-02-01 12:17 UTC (permalink / raw)
  To: Roy Tam; +Cc: qemu-devel

On Sun, 31 Jan 2010 16:28:42 +0800
Roy Tam <roytam@gmail.com> wrote:

> Dear all,
> 
> In latest git revision, when guest OS restarts or system_reset command
> issues from monitor console, it asserts failed:
> Assertion failed: obj != NULL, file C:/msys/home/User/qemu/monitor.c, line 338

 Hm, I can't reproduce this on Linux. Can you, please provide a backtrace and
your git HEAD?

 Thanks.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] system_reset command cause assert failed
  2010-02-01 12:17 ` Luiz Capitulino
@ 2010-02-01 12:36   ` Roy Tam
  2010-02-01 13:22     ` Luiz Capitulino
  0 siblings, 1 reply; 14+ messages in thread
From: Roy Tam @ 2010-02-01 12:36 UTC (permalink / raw)
  To: Luiz Capitulino; +Cc: qemu-devel

2010/2/1 Luiz Capitulino <lcapitulino@redhat.com>:
> On Sun, 31 Jan 2010 16:28:42 +0800
> Roy Tam <roytam@gmail.com> wrote:
>
>> Dear all,
>>
>> In latest git revision, when guest OS restarts or system_reset command
>> issues from monitor console, it asserts failed:
>> Assertion failed: obj != NULL, file C:/msys/home/User/qemu/monitor.c, line 338
>
>  Hm, I can't reproduce this on Linux. Can you, please provide a backtrace and
> your git HEAD?
>

my environment:
Windows XP SP3
gcc version 3.4.5 (mingw-vista special r3)
GNU Binutils 2.19.1
GNU Make 3.81

QEMU git rev 059bca46bbfd7f16cd2ccca631b91334e08d9abb
config: ./configure --target-list="i386-softmmu x86_64-softmmu
mips64el-softmmu" --audio-drv-list=sdl
--audio-card-list=ac97,sb16,adlib --disable-linux-aio

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] system_reset command cause assert failed
  2010-02-01 12:36   ` Roy Tam
@ 2010-02-01 13:22     ` Luiz Capitulino
  2010-02-01 13:42       ` Roy Tam
  0 siblings, 1 reply; 14+ messages in thread
From: Luiz Capitulino @ 2010-02-01 13:22 UTC (permalink / raw)
  To: Roy Tam; +Cc: qemu-devel

On Mon, 1 Feb 2010 20:36:22 +0800
Roy Tam <roytam@gmail.com> wrote:

> 2010/2/1 Luiz Capitulino <lcapitulino@redhat.com>:
> > On Sun, 31 Jan 2010 16:28:42 +0800
> > Roy Tam <roytam@gmail.com> wrote:
> >
> >> Dear all,
> >>
> >> In latest git revision, when guest OS restarts or system_reset command
> >> issues from monitor console, it asserts failed:
> >> Assertion failed: obj != NULL, file C:/msys/home/User/qemu/monitor.c, line 338
> >
> >  Hm, I can't reproduce this on Linux. Can you, please provide a backtrace and
> > your git HEAD?
> >
> 
> my environment:
> Windows XP SP3
> gcc version 3.4.5 (mingw-vista special r3)
> GNU Binutils 2.19.1
> GNU Make 3.81
> 
> QEMU git rev 059bca46bbfd7f16cd2ccca631b91334e08d9abb
> config: ./configure --target-list="i386-softmmu x86_64-softmmu
> mips64el-softmmu" --audio-drv-list=sdl
> --audio-card-list=ac97,sb16,adlib --disable-linux-aio

 Still no fun. It's possible that there's something windows-specific
that makes qobject_from_jsonf() return NULL.

 Without a backtrace my only option is to install windows on
some machine here and try to reproduce the problem, but this will take
some time.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] system_reset command cause assert failed
  2010-02-01 13:22     ` Luiz Capitulino
@ 2010-02-01 13:42       ` Roy Tam
  2010-02-01 16:02         ` Luiz Capitulino
  0 siblings, 1 reply; 14+ messages in thread
From: Roy Tam @ 2010-02-01 13:42 UTC (permalink / raw)
  To: Luiz Capitulino; +Cc: qemu-devel

2010/2/1 Luiz Capitulino <lcapitulino@redhat.com>:
> On Mon, 1 Feb 2010 20:36:22 +0800
> Roy Tam <roytam@gmail.com> wrote:
>
>> 2010/2/1 Luiz Capitulino <lcapitulino@redhat.com>:
>> > On Sun, 31 Jan 2010 16:28:42 +0800
>> > Roy Tam <roytam@gmail.com> wrote:
>> >
>> >> Dear all,
>> >>
>> >> In latest git revision, when guest OS restarts or system_reset command
>> >> issues from monitor console, it asserts failed:
>> >> Assertion failed: obj != NULL, file C:/msys/home/User/qemu/monitor.c, line 338
>> >
>> >  Hm, I can't reproduce this on Linux. Can you, please provide a backtrace and
>> > your git HEAD?
>> >
>>
>> my environment:
>> Windows XP SP3
>> gcc version 3.4.5 (mingw-vista special r3)
>> GNU Binutils 2.19.1
>> GNU Make 3.81
>>
>> QEMU git rev 059bca46bbfd7f16cd2ccca631b91334e08d9abb
>> config: ./configure --target-list="i386-softmmu x86_64-softmmu
>> mips64el-softmmu" --audio-drv-list=sdl
>> --audio-card-list=ac97,sb16,adlib --disable-linux-aio
>
>  Still no fun. It's possible that there's something windows-specific
> that makes qobject_from_jsonf() return NULL.
>
>  Without a backtrace my only option is to install windows on
> some machine here and try to reproduce the problem, but this will take
> some time.
>

gdb step-in trace:

(gdb) run
Starting program: C:\msys\home\User\qemu\i386-softmmu/qemu.exe -L ../pc-bios/
[New Thread 776.0xbcc]
[New Thread 776.0xa30]

Breakpoint 1, monitor_protocol_event (event=???, data=???)
    at C:/msys/home/User/qemu/monitor.c:331
331         err = qemu_gettimeofday(&tv);
(gdb) next
386         qmp = qdict_new();
(gdb)
331         err = qemu_gettimeofday(&tv);
(gdb)
qemu_gettimeofday (tp=???) at osdep.c:169
169     {
(gdb)
175       if(tp)
(gdb)
177           GetSystemTimeAsFileTime (&_now.ft);
(gdb)
0x005e671c in GetSystemTimeAsFileTime@4 ()
(gdb)
Single stepping until exit from function GetSystemTimeAsFileTime@4,
which has no line number information.
0x7c8017e9 in KERNEL32!GetSystemTimeAsFileTime ()
   from C:\WINDOWS\system32\kernel32.dll
(gdb)
Single stepping until exit from function KERNEL32!GetSystemTimeAsFileTime,
which has no line number information.
qemu_gettimeofday (tp=???) at osdep.c:178
178           tp->tv_usec=(long)((_now.ns100 / 10ULL) % 1000000ULL );
(gdb)
0x005e0db4 in __udivdi3 ()
(gdb)
Single stepping until exit from function __udivdi3,
which has no line number information.
0x005e0ee4 in __umoddi3 ()
(gdb)
Single stepping until exit from function __umoddi3,
which has no line number information.
qemu_gettimeofday (tp=???) at osdep.c:179
179           tp->tv_sec= (long)((_now.ns100 - _W32_FT_OFFSET) / 10000000ULL);
(gdb)
0x005e0db4 in __udivdi3 ()
(gdb)
Single stepping until exit from function __udivdi3,
which has no line number information.
qemu_gettimeofday (tp=???) at osdep.c:184
184     }
(gdb)
monitor_protocol_event (event=???, data=???)
    at C:/msys/home/User/qemu/monitor.c:332
332         if (err < 0)
(gdb)
335         obj = qobject_from_jsonf("{ 'seconds': %" PRId64 ", "
(gdb)
qobject_from_jsonf (string=???) at qjson.c:57
57      {
(gdb)
39          JSONParsingState state = {};
(gdb)
57      {
(gdb)
39          JSONParsingState state = {};
(gdb)
57      {
(gdb)
61          va_start(ap, string);
(gdb)
39          JSONParsingState state = {};
(gdb)
61          va_start(ap, string);
(gdb)
41          state.ap = ap;
(gdb)
39          JSONParsingState state = {};
(gdb)
41          state.ap = ap;
(gdb)
43          json_message_parser_init(&state.parser, parse_json);
(gdb)
json_message_parser_init (parser=???, func=???) at json-streamer.c:64
64      {
(gdb)
65          parser->emit = func;
(gdb)
66          parser->brace_count = 0;
(gdb)
65          parser->emit = func;
(gdb)
67          parser->bracket_count = 0;
(gdb)
68          parser->tokens = qlist_new();
(gdb)
qlist_new () at qlist.c:30
30      {
(gdb)
33          qlist = qemu_malloc(sizeof(*qlist));
(gdb)
qemu_malloc (size=???) at qemu-malloc.c:55
55      {
(gdb)
56          if (!size && !allow_zero_malloc()) {
(gdb)
28      {
(gdb)
0x005e654c in malloc ()
(gdb)
Single stepping until exit from function malloc,
which has no line number information.
0x77bfc407 in msvcrt!malloc () from C:\WINDOWS\system32\msvcrt.dll
(gdb)
Single stepping until exit from function msvcrt!malloc,
which has no line number information.
0x77bfc3d4 in msvcrt!free () from C:\WINDOWS\system32\msvcrt.dll
(gdb)
Single stepping until exit from function msvcrt!free,
which has no line number information.
0x77c07420 in strerror () from C:\WINDOWS\system32\msvcrt.dll
(gdb)
Single stepping until exit from function strerror,
which has no line number information.
0x77bfc2f5 in msvcrt!free () from C:\WINDOWS\system32\msvcrt.dll
(gdb)
Single stepping until exit from function msvcrt!free,
which has no line number information.
0x7c9300c4 in ntdll!RtlAppendStringToString ()
   from C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function ntdll!RtlAppendStringToString,
which has no line number information.
0x7c92e8cb in strchr () from C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function strchr,
which has no line number information.
0x7c9300d3 in ntdll!RtlAppendStringToString ()
   from C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function ntdll!RtlAppendStringToString,
which has no line number information.
0x7c938f15 in ntdll!RtlDuplicateUnicodeString ()
   from C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function ntdll!RtlDuplicateUnicodeString,
which has no line number information.
Assertion failed: obj != NULL, file C:/msys/home/User/qemu/monitor.c, line 338

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

Program exited with code 03.
(gdb)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] system_reset command cause assert failed
  2010-02-01 13:42       ` Roy Tam
@ 2010-02-01 16:02         ` Luiz Capitulino
  2010-02-01 16:26           ` Roy Tam
  2010-02-01 16:33           ` Roy Tam
  0 siblings, 2 replies; 14+ messages in thread
From: Luiz Capitulino @ 2010-02-01 16:02 UTC (permalink / raw)
  To: Roy Tam; +Cc: qemu-devel

On Mon, 1 Feb 2010 21:42:37 +0800
Roy Tam <roytam@gmail.com> wrote:

> 2010/2/1 Luiz Capitulino <lcapitulino@redhat.com>:
> > On Mon, 1 Feb 2010 20:36:22 +0800
> > Roy Tam <roytam@gmail.com> wrote:
> >
> >> 2010/2/1 Luiz Capitulino <lcapitulino@redhat.com>:
> >> > On Sun, 31 Jan 2010 16:28:42 +0800
> >> > Roy Tam <roytam@gmail.com> wrote:
> >> >
> >> >> Dear all,
> >> >>
> >> >> In latest git revision, when guest OS restarts or system_reset command
> >> >> issues from monitor console, it asserts failed:
> >> >> Assertion failed: obj != NULL, file C:/msys/home/User/qemu/monitor.c, line 338
> >> >
> >> >  Hm, I can't reproduce this on Linux. Can you, please provide a backtrace and
> >> > your git HEAD?
> >> >
> >>
> >> my environment:
> >> Windows XP SP3
> >> gcc version 3.4.5 (mingw-vista special r3)
> >> GNU Binutils 2.19.1
> >> GNU Make 3.81
> >>
> >> QEMU git rev 059bca46bbfd7f16cd2ccca631b91334e08d9abb
> >> config: ./configure --target-list="i386-softmmu x86_64-softmmu
> >> mips64el-softmmu" --audio-drv-list=sdl
> >> --audio-card-list=ac97,sb16,adlib --disable-linux-aio
> >
> >  Still no fun. It's possible that there's something windows-specific
> > that makes qobject_from_jsonf() return NULL.
> >
> >  Without a backtrace my only option is to install windows on
> > some machine here and try to reproduce the problem, but this will take
> > some time.
> >
> 
> gdb step-in trace:
> 
> (gdb) run
> Starting program: C:\msys\home\User\qemu\i386-softmmu/qemu.exe -L ../pc-bios/
> [New Thread 776.0xbcc]
> [New Thread 776.0xa30]
> 
> Breakpoint 1, monitor_protocol_event (event=???, data=???)
>     at C:/msys/home/User/qemu/monitor.c:331
> 331         err = qemu_gettimeofday(&tv);
> (gdb) next
> 386         qmp = qdict_new();
> (gdb)
> 331         err = qemu_gettimeofday(&tv);
> (gdb)
> qemu_gettimeofday (tp=???) at osdep.c:169
> 169     {
> (gdb)
> 175       if(tp)
> (gdb)
> 177           GetSystemTimeAsFileTime (&_now.ft);
> (gdb)
> 0x005e671c in GetSystemTimeAsFileTime@4 ()
> (gdb)
> Single stepping until exit from function GetSystemTimeAsFileTime@4,
> which has no line number information.
> 0x7c8017e9 in KERNEL32!GetSystemTimeAsFileTime ()
>    from C:\WINDOWS\system32\kernel32.dll
> (gdb)
> Single stepping until exit from function KERNEL32!GetSystemTimeAsFileTime,
> which has no line number information.
> qemu_gettimeofday (tp=???) at osdep.c:178
> 178           tp->tv_usec=(long)((_now.ns100 / 10ULL) % 1000000ULL );
> (gdb)
> 0x005e0db4 in __udivdi3 ()
> (gdb)
> Single stepping until exit from function __udivdi3,
> which has no line number information.
> 0x005e0ee4 in __umoddi3 ()
> (gdb)
> Single stepping until exit from function __umoddi3,
> which has no line number information.
> qemu_gettimeofday (tp=???) at osdep.c:179
> 179           tp->tv_sec= (long)((_now.ns100 - _W32_FT_OFFSET) / 10000000ULL);
> (gdb)
> 0x005e0db4 in __udivdi3 ()
> (gdb)
> Single stepping until exit from function __udivdi3,
> which has no line number information.
> qemu_gettimeofday (tp=???) at osdep.c:184
> 184     }
> (gdb)
> monitor_protocol_event (event=???, data=???)
>     at C:/msys/home/User/qemu/monitor.c:332
> 332         if (err < 0)
> (gdb)
> 335         obj = qobject_from_jsonf("{ 'seconds': %" PRId64 ", "
> (gdb)
> qobject_from_jsonf (string=???) at qjson.c:57
> 57      {
> (gdb)
> 39          JSONParsingState state = {};
> (gdb)
> 57      {
> (gdb)
> 39          JSONParsingState state = {};
> (gdb)
> 57      {
> (gdb)
> 61          va_start(ap, string);
> (gdb)
> 39          JSONParsingState state = {};
> (gdb)
> 61          va_start(ap, string);
> (gdb)
> 41          state.ap = ap;
> (gdb)
> 39          JSONParsingState state = {};
> (gdb)
> 41          state.ap = ap;
> (gdb)
> 43          json_message_parser_init(&state.parser, parse_json);
> (gdb)
> json_message_parser_init (parser=???, func=???) at json-streamer.c:64
> 64      {
> (gdb)
> 65          parser->emit = func;
> (gdb)
> 66          parser->brace_count = 0;
> (gdb)
> 65          parser->emit = func;
> (gdb)
> 67          parser->bracket_count = 0;
> (gdb)
> 68          parser->tokens = qlist_new();
> (gdb)
> qlist_new () at qlist.c:30
> 30      {
> (gdb)
> 33          qlist = qemu_malloc(sizeof(*qlist));
> (gdb)
> qemu_malloc (size=???) at qemu-malloc.c:55
> 55      {
> (gdb)
> 56          if (!size && !allow_zero_malloc()) {
> (gdb)
> 28      {
> (gdb)
> 0x005e654c in malloc ()

 Hm, I'm puzzled. Is this failing on malloc()? At least qemu_malloc()
is the last qemu's function I see in the logs.

 From now on I only see msvcrt functions...

 Maybe, you can type run on gdb, run system_reset on the
Monitor and then switch back to gdb and type bt?

> (gdb)
> Single stepping until exit from function malloc,
> which has no line number information.
> 0x77bfc407 in msvcrt!malloc () from C:\WINDOWS\system32\msvcrt.dll
> (gdb)
> Single stepping until exit from function msvcrt!malloc,
> which has no line number information.
> 0x77bfc3d4 in msvcrt!free () from C:\WINDOWS\system32\msvcrt.dll
> (gdb)
> Single stepping until exit from function msvcrt!free,
> which has no line number information.
> 0x77c07420 in strerror () from C:\WINDOWS\system32\msvcrt.dll
> (gdb)
> Single stepping until exit from function strerror,
> which has no line number information.
> 0x77bfc2f5 in msvcrt!free () from C:\WINDOWS\system32\msvcrt.dll
> (gdb)
> Single stepping until exit from function msvcrt!free,
> which has no line number information.
> 0x7c9300c4 in ntdll!RtlAppendStringToString ()
>    from C:\WINDOWS\system32\ntdll.dll
> (gdb)
> Single stepping until exit from function ntdll!RtlAppendStringToString,
> which has no line number information.
> 0x7c92e8cb in strchr () from C:\WINDOWS\system32\ntdll.dll
> (gdb)
> Single stepping until exit from function strchr,
> which has no line number information.
> 0x7c9300d3 in ntdll!RtlAppendStringToString ()
>    from C:\WINDOWS\system32\ntdll.dll
> (gdb)
> Single stepping until exit from function ntdll!RtlAppendStringToString,
> which has no line number information.
> 0x7c938f15 in ntdll!RtlDuplicateUnicodeString ()
>    from C:\WINDOWS\system32\ntdll.dll
> (gdb)
> Single stepping until exit from function ntdll!RtlDuplicateUnicodeString,
> which has no line number information.
> Assertion failed: obj != NULL, file C:/msys/home/User/qemu/monitor.c, line 338
> 
> This application has requested the Runtime to terminate it in an unusual way.
> Please contact the application's support team for more information.
> 
> Program exited with code 03.
> (gdb)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] system_reset command cause assert failed
  2010-02-01 16:02         ` Luiz Capitulino
@ 2010-02-01 16:26           ` Roy Tam
  2010-02-01 18:58             ` Luiz Capitulino
  2010-02-01 16:33           ` Roy Tam
  1 sibling, 1 reply; 14+ messages in thread
From: Roy Tam @ 2010-02-01 16:26 UTC (permalink / raw)
  To: Luiz Capitulino; +Cc: qemu-devel

2010/2/2 Luiz Capitulino <lcapitulino@redhat.com>:

>  Hm, I'm puzzled. Is this failing on malloc()? At least qemu_malloc()
> is the last qemu's function I see in the logs.
>
>  From now on I only see msvcrt functions...
>
>  Maybe, you can type run on gdb, run system_reset on the
> Monitor and then switch back to gdb and type bt?
>
source-less debugging seems better...

(gdb) list monitor_protocol_event
344     /home/roy/qemu/monitor.c: No such file or directory.
        in /home/roy/qemu/monitor.c
(gdb) break 344
Breakpoint 1 at 0x40f6f9: file /home/roy/qemu/monitor.c, line 344.
(gdb) r
Starting program: D:\dbg-qemu/qemu.exe
[New Thread 6592.0x16cc]
[New Thread 6592.0x1c14]
pci_add_option_rom: failed to find romfile "pxe-e1000.bin"
warning: Hooking
warning: D:\DBG-QEMU\QEMU.EXE
warning: RPH:Injecting code at start up

warning: done...


Breakpoint 1, monitor_protocol_event (event=QEVENT_RESET, data=0x0) at
/home/roy/qemu/monitor.c:349
349     in /home/roy/qemu/monitor.c
(gdb) step
354     in /home/roy/qemu/monitor.c
(gdb)
356     in /home/roy/qemu/monitor.c
(gdb)
362     in /home/roy/qemu/monitor.c
(gdb)
386     in /home/roy/qemu/monitor.c
(gdb)
qdict_new () at qdict.c:34
34      qdict.c: No such file or directory.
        in qdict.c
(gdb)
37      in qdict.c
(gdb)
qemu_mallocz (size=2060) at qemu-malloc.c:73
73      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
75      in qemu-malloc.c
(gdb)
qemu_malloc (size=2060) at qemu-malloc.c:55
55      in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=2060) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0xd93d0d8) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qemu_mallocz (size=2060) at qemu-malloc.c:76
76      in qemu-malloc.c
(gdb)
75      in qemu-malloc.c
(gdb)
76      in qemu-malloc.c
(gdb)
78      in qemu-malloc.c
(gdb)
qdict_new () at qdict.c:38
38      qdict.c: No such file or directory.
        in qdict.c
(gdb)
41      in qdict.c
(gdb)
monitor_protocol_event (event=QEVENT_RESET, data=0x0) at
/home/roy/qemu/monitor.c:387
387     /home/roy/qemu/monitor.c: No such file or directory.
        in /home/roy/qemu/monitor.c
(gdb)
timestamp_put (event=QEVENT_RESET, data=0x0) at /home/roy/qemu/monitor.c:331
331     in /home/roy/qemu/monitor.c
(gdb)
monitor_protocol_event (event=QEVENT_RESET, data=0x0) at
/home/roy/qemu/monitor.c:386
386     in /home/roy/qemu/monitor.c
(gdb)
387     in /home/roy/qemu/monitor.c
(gdb)
timestamp_put (event=QEVENT_RESET, data=0x0) at /home/roy/qemu/monitor.c:331
331     in /home/roy/qemu/monitor.c
(gdb)
qemu_gettimeofday (tp=0x22fb60) at osdep.c:169
169     osdep.c: No such file or directory.
        in osdep.c
(gdb)
175     in osdep.c
(gdb)
177     in osdep.c
(gdb)
178     in osdep.c
(gdb)
179     in osdep.c
(gdb)
178     in osdep.c
(gdb)
179     in osdep.c
(gdb)
184     in osdep.c
(gdb)
timestamp_put (event=QEVENT_RESET, data=0x0) at /home/roy/qemu/monitor.c:332
332     /home/roy/qemu/monitor.c: No such file or directory.
        in /home/roy/qemu/monitor.c
(gdb)
335     in /home/roy/qemu/monitor.c
(gdb)
qobject_from_jsonf (string=0x5921d0 "{ 'seconds': %I64d,
'microseconds': %I64d }") at qjson.c:57
57      qjson.c: No such file or directory.
        in qjson.c
(gdb)
61      in qjson.c
(gdb)
62      in qjson.c
(gdb)
qobject_from_jsonv (string=0x5921d0 "{ 'seconds': %I64d,
'microseconds': %I64d }", ap=0x22fb20) at qjson.c:38
38      in qjson.c
(gdb)
39      in qjson.c
(gdb)
38      in qjson.c
(gdb)
39      in qjson.c
(gdb)
38      in qjson.c
(gdb)
39      in qjson.c
(gdb)
38      in qjson.c
(gdb)
39      in qjson.c
(gdb)
43      in qjson.c
(gdb)
38      in qjson.c
(gdb)
43      in qjson.c
(gdb)
41      in qjson.c
(gdb)
43      in qjson.c
(gdb)
json_message_parser_init (parser=0x22fabc, func=0x450ef0 <parse_json>)
at json-streamer.c:64
64      json-streamer.c: No such file or directory.
        in json-streamer.c
(gdb)
65      in json-streamer.c
(gdb)
66      in json-streamer.c
(gdb)
67      in json-streamer.c
(gdb)
68      in json-streamer.c
(gdb)
qlist_new () at qlist.c:30
30      qlist.c: No such file or directory.
        in qlist.c
(gdb)
33      in qlist.c
(gdb)
qemu_malloc (size=16) at qemu-malloc.c:55
55      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=76677192) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0x1398030) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qlist_new () at qlist.c:34
34      qlist.c: No such file or directory.
        in qlist.c
(gdb)
35      in qlist.c
(gdb)
38      in qlist.c
(gdb)
json_message_parser_init (parser=0x22fabc, func=0x450ef0 <parse_json>)
at json-streamer.c:70
70      json-streamer.c: No such file or directory.
        in json-streamer.c
(gdb)
71      in json-streamer.c
(gdb)
json_message_parser_init (parser=0x5921d0, func=0x22fb20) at json-streamer.c:70
70      in json-streamer.c
(gdb)
json_lexer_init (lexer=0x22fac0, func=0x451290
<json_message_process_token>) at json-lexer.c:258
258     json-lexer.c: No such file or directory.
        in json-lexer.c
(gdb)
259     in json-lexer.c
(gdb)
260     in json-lexer.c
(gdb)
261     in json-lexer.c
(gdb)
qstring_new () at qstring.c:29
29      qstring.c: No such file or directory.
        in qstring.c
(gdb)
30      in qstring.c
(gdb)
qstring_from_str (str=0x5af11a "") at qstring.c:62
62      in qstring.c
(gdb)
63      in qstring.c
(gdb)
qstring_from_substr (str=0x5af11a "", start=0, end=-1) at qstring.c:39
39      in qstring.c
(gdb)
42      in qstring.c
(gdb)
39      in qstring.c
(gdb)
42      in qstring.c
(gdb)
qemu_malloc (size=20) at qemu-malloc.c:55
55      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=5959962) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0x1398058) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qstring_from_substr (str=0x5af11a "", start=0, end=-1) at qstring.c:44
44      qstring.c: No such file or directory.
        in qstring.c
(gdb)
47      in qstring.c
(gdb)
44      in qstring.c
(gdb)
45      in qstring.c
(gdb)
47      in qstring.c
(gdb)
qemu_malloc (size=1) at qemu-malloc.c:55
55      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=5959962) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0x1398088) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qstring_from_substr (str=0x5af11a "", start=0, end=-1) at qstring.c:48
48      qstring.c: No such file or directory.
        in qstring.c
(gdb)
49      in qstring.c
(gdb)
51      in qstring.c
(gdb)
54      in qstring.c
(gdb)
qstring_from_str (str=0x5af11a "") at qstring.c:64
64      in qstring.c
(gdb)
qstring_new () at qstring.c:31
31      in qstring.c
(gdb)
json_lexer_init (lexer=0x22fac0, func=0x451290
<json_message_process_token>) at json-lexer.c:262
262     json-lexer.c: No such file or directory.
        in json-lexer.c
(gdb)
qobject_from_jsonv (string=0x5921d0 "{ 'seconds': %I64d,
'microseconds': %I64d }", ap=0x22fb20) at qjson.c:44
44      qjson.c: No such file or directory.
        in qjson.c
(gdb)
json_message_parser_feed (parser=0x22fabc, buffer=0x5921d0 "{
'seconds': %I64d, 'microseconds': %I64d }", size=43)
    at json-streamer.c:75
75      json-streamer.c: No such file or directory.
        in json-streamer.c
(gdb)
76      in json-streamer.c
(gdb)
77      in json-streamer.c
(gdb)
json_message_parser_feed (parser=0x5921d0, buffer=0x5921d0 "{
'seconds': %I64d, 'microseconds': %I64d }", size=43)
    at json-streamer.c:76
76      in json-streamer.c
(gdb)
json_lexer_feed (lexer=0x22fac0, buffer=0x5921d0 "{ 'seconds': %I64d,
'microseconds': %I64d }", size=43)
    at json-lexer.c:304
304     json-lexer.c: No such file or directory.
        in json-lexer.c
(gdb)
307     in json-lexer.c
(gdb)
310     in json-lexer.c
(gdb)
json_lexer_feed_char (lexer=0x22fac0, ch=123 '{') at json-lexer.c:265
265     in json-lexer.c
(gdb)
268     in json-lexer.c
(gdb)
269     in json-lexer.c
(gdb)
268     in json-lexer.c
(gdb)
269     in json-lexer.c
(gdb)
274     in json-lexer.c
(gdb)
276     in json-lexer.c
(gdb)
274     in json-lexer.c
(gdb)
276     in json-lexer.c
(gdb)
295     in json-lexer.c
(gdb)
298     in json-lexer.c
(gdb)
295     in json-lexer.c
(gdb)
298     in json-lexer.c
(gdb)
296     in json-lexer.c
(gdb)
298     in json-lexer.c
(gdb)
qstring_append (qstring=0x1398058, str=0x22fa56 "{") at qstring.c:79
79      qstring.c: No such file or directory.
        in qstring.c
(gdb)
80      in qstring.c
(gdb)
79      in qstring.c
(gdb)
80      in qstring.c
(gdb)
82      in qstring.c
(gdb)
80      in qstring.c
(gdb)
82      in qstring.c
(gdb)
capacity_increase (qstring=0x1398058, len=1) at qstring.c:67
67      in qstring.c
(gdb)
68      in qstring.c
(gdb)
69      in qstring.c
(gdb)
72      in qstring.c
(gdb)
70      in qstring.c
(gdb)
72      in qstring.c
(gdb)
70      in qstring.c
(gdb)
72      in qstring.c
(gdb)
qemu_realloc (ptr=0x1398088, size=3) at qemu-malloc.c:63
63      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
64      in qemu-malloc.c
(gdb)
65      in qemu-malloc.c
(gdb)
67      in qemu-malloc.c
(gdb)
70      in qemu-malloc.c
(gdb)
qemu_realloc (ptr=0x77bfc3e7, size=16) at qemu-malloc.c:67
67      in qemu-malloc.c
(gdb)
oom_check (ptr=0x1398088) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
capacity_increase (qstring=0x1398058, len=2009057140) at qstring.c:74
74      qstring.c: No such file or directory.
        in qstring.c
(gdb)
qstring_append (qstring=0x1398058, str=0x22fa56 "{") at qstring.c:83
83      in qstring.c
(gdb)
84      in qstring.c
(gdb)
85      in qstring.c
(gdb)
84      in qstring.c
(gdb)
85      in qstring.c
(gdb)
86      in qstring.c
(gdb)
json_lexer_feed_char (lexer=0x22fac0, ch=123 '{') at json-lexer.c:301
301     json-lexer.c: No such file or directory.
        in json-lexer.c
(gdb)
json_lexer_feed (lexer=0x22fac0, buffer=0x5921d0 "{ 'seconds': %I64d,
'microseconds': %I64d }", size=43)
    at json-lexer.c:311
311     in json-lexer.c
(gdb)
310     in json-lexer.c
(gdb)
json_lexer_feed_char (lexer=0x22fac0, ch=32 ' ') at json-lexer.c:265
265     in json-lexer.c
(gdb)
268     in json-lexer.c
(gdb)
269     in json-lexer.c
(gdb)
268     in json-lexer.c
(gdb)
269     in json-lexer.c
(gdb)
274     in json-lexer.c
(gdb)
276     in json-lexer.c
(gdb)
274     in json-lexer.c
(gdb)
276     in json-lexer.c
(gdb)
283     in json-lexer.c
(gdb)
json_message_process_token (lexer=0x22fac0, token=0x1398058,
type=JSON_OPERATOR, x=2, y=0) at json-streamer.c:22
22      json-streamer.c: No such file or directory.
        in json-streamer.c
(gdb)
23      in json-streamer.c
(gdb)
22      in json-streamer.c
(gdb)
23      in json-streamer.c
(gdb)
22      in json-streamer.c
(gdb)
26      in json-streamer.c
(gdb)
27      in json-streamer.c
(gdb)
qstring_get_str (qstring=0x1398058) at qstring.c:124
124     qstring.c: No such file or directory.
        in qstring.c
(gdb)
126     in qstring.c
(gdb)
124     in qstring.c
(gdb)
126     in qstring.c
(gdb)
json_message_process_token (lexer=0x22fac0, token=0x1398058,
type=JSON_OPERATOR, x=2, y=0) at json-streamer.c:29
29      json-streamer.c: No such file or directory.
        in json-streamer.c
(gdb)
45      in json-streamer.c
(gdb)
qdict_new () at qdict.c:34
34      qdict.c: No such file or directory.
        in qdict.c
(gdb)
37      in qdict.c
(gdb)
qemu_mallocz (size=2060) at qemu-malloc.c:73
73      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
75      in qemu-malloc.c
(gdb)
qemu_malloc (size=2060) at qemu-malloc.c:55
55      in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=2060) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0x139c020) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qemu_mallocz (size=2060) at qemu-malloc.c:76
76      in qemu-malloc.c
(gdb)
75      in qemu-malloc.c
(gdb)
76      in qemu-malloc.c
(gdb)
78      in qemu-malloc.c
(gdb)
qdict_new () at qdict.c:38
38      qdict.c: No such file or directory.
        in qdict.c
(gdb)
41      in qdict.c
(gdb)
json_message_process_token (lexer=0x22fac0, token=0x1398058,
type=JSON_OPERATOR, x=2, y=0) at json-streamer.c:46
46      json-streamer.c: No such file or directory.
        in json-streamer.c
(gdb)
45      in json-streamer.c
(gdb)
46      in json-streamer.c
(gdb)
qint_from_int (value=100) at qint.c:29
29      qint.c: No such file or directory.
        in qint.c
(gdb)
32      in qint.c
(gdb)
qemu_malloc (size=16) at qemu-malloc.c:55
55      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=100) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0x13980a8) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qint_from_int (value=100) at qint.c:33
33      qint.c: No such file or directory.
        in qint.c
(gdb)
34      in qint.c
(gdb)
37      in qint.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b1180 "type", value=0x13980a8)
at qdict.c:111
111     qdict.c: No such file or directory.
        in qdict.c
(gdb)
115     in qdict.c
(gdb)
111     in qdict.c
(gdb)
115     in qdict.c
(gdb)
tdb_hash (name=0x5b1180 "type") at qdict.c:59
59      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
68      in qdict.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b1180 "type", value=0x13980a8)
at qdict.c:116
116     in qdict.c
(gdb)
115     in qdict.c
(gdb)
116     in qdict.c
(gdb)
qdict_find (qdict=0x139c020, key=0x5b1180 "type", hash=425) at qdict.c:89
89      in qdict.c
(gdb)
92      in qdict.c
(gdb)
97      in qdict.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b1180 "type", value=0x13980a8)
at qdict.c:117
117     in qdict.c
(gdb)
123     in qdict.c
(gdb)
alloc_entry (qdict=0x139c020, key=0x5b1180 "type", value=0x13980a8) at
qdict.c:77
77      in qdict.c
(gdb)
qemu_mallocz (size=16) at qemu-malloc.c:73
73      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
75      in qemu-malloc.c
(gdb)
qemu_malloc (size=16) at qemu-malloc.c:55
55      in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=16) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0x13980d0) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qemu_mallocz (size=16) at qemu-malloc.c:76
76      in qemu-malloc.c
(gdb)
75      in qemu-malloc.c
(gdb)
76      in qemu-malloc.c
(gdb)
78      in qemu-malloc.c
(gdb)
alloc_entry (qdict=0x139c020, key=0x5b1180 "type", value=0x13980a8) at
qdict.c:78
78      qdict.c: No such file or directory.
        in qdict.c
(gdb)
77      in qdict.c
(gdb)
78      in qdict.c
(gdb)
qemu_strdup (str=0x5b1180 "type") at qemu-malloc.c:81
81      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
83      in qemu-malloc.c
(gdb)
84      in qemu-malloc.c
(gdb)
qemu_malloc (size=5) at qemu-malloc.c:55
55      in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=5968256) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0x4950008) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qemu_strdup (str=0x5b1180 "type") at qemu-malloc.c:85
85      in qemu-malloc.c
(gdb)
84      in qemu-malloc.c
(gdb)
85      in qemu-malloc.c
(gdb)
87      in qemu-malloc.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b1180 "type", value=0x13980a8)
at qdict.c:124
124     qdict.c: No such file or directory.
        in qdict.c
(gdb)
123     in qdict.c
(gdb)
alloc_entry (qdict=0x139c020, key=0x5b1180 "type", value=0x13980a8) at
qdict.c:78
78      in qdict.c
(gdb)
79      in qdict.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b1180 "type", value=0x13980a8)
at qdict.c:124
124     in qdict.c
(gdb)
125     in qdict.c
(gdb)
127     in qdict.c
(gdb)
json_message_process_token (lexer=0x22fac0, token=0x1398058,
type=JSON_OPERATOR, x=2, y=0) at json-streamer.c:47
47      json-streamer.c: No such file or directory.
        in json-streamer.c
(gdb)
qobject_incref (lexer=0x22fac0, token=0x1398058, type=JSON_OPERATOR,
x=2, y=0) at qobject.h:86
86      qobject.h: No such file or directory.
        in qobject.h
(gdb)
87      in qobject.h
(gdb)
json_message_process_token (lexer=0x22fac0, token=0x1398058,
type=JSON_OPERATOR, x=2, y=0) at json-streamer.c:48
48      json-streamer.c: No such file or directory.
        in json-streamer.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b1185 "token", value=0x1398058)
at qdict.c:111
111     qdict.c: No such file or directory.
        in qdict.c
(gdb)
115     in qdict.c
(gdb)
111     in qdict.c
(gdb)
115     in qdict.c
(gdb)
tdb_hash (name=0x5b1185 "token") at qdict.c:59
59      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
68      in qdict.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b1185 "token", value=0x1398058)
at qdict.c:116
116     in qdict.c
(gdb)
115     in qdict.c
(gdb)
116     in qdict.c
(gdb)
qdict_find (qdict=0x139c020, key=0x5b1185 "token", hash=14) at qdict.c:89
89      in qdict.c
(gdb)
92      in qdict.c
(gdb)
97      in qdict.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b1185 "token", value=0x1398058)
at qdict.c:117
117     in qdict.c
(gdb)
123     in qdict.c
(gdb)
alloc_entry (qdict=0x139c020, key=0x5b1185 "token", value=0x1398058)
at qdict.c:77
77      in qdict.c
(gdb)
qemu_mallocz (size=16) at qemu-malloc.c:73
73      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
75      in qemu-malloc.c
(gdb)
qemu_malloc (size=16) at qemu-malloc.c:55
55      in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=16) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0x4950028) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qemu_mallocz (size=16) at qemu-malloc.c:76
76      in qemu-malloc.c
(gdb)
75      in qemu-malloc.c
(gdb)
76      in qemu-malloc.c
(gdb)
78      in qemu-malloc.c
(gdb)
alloc_entry (qdict=0x139c020, key=0x5b1185 "token", value=0x1398058)
at qdict.c:78
78      qdict.c: No such file or directory.
        in qdict.c
(gdb)
77      in qdict.c
(gdb)
78      in qdict.c
(gdb)
qemu_strdup (str=0x5b1185 "token") at qemu-malloc.c:81
81      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
83      in qemu-malloc.c
(gdb)
84      in qemu-malloc.c
(gdb)
qemu_malloc (size=6) at qemu-malloc.c:55
55      in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=5968261) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0x4950050) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qemu_strdup (str=0x5b1185 "token") at qemu-malloc.c:85
85      in qemu-malloc.c
(gdb)
84      in qemu-malloc.c
(gdb)
85      in qemu-malloc.c
(gdb)
87      in qemu-malloc.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b1185 "token", value=0x1398058)
at qdict.c:124
124     qdict.c: No such file or directory.
        in qdict.c
(gdb)
123     in qdict.c
(gdb)
alloc_entry (qdict=0x139c020, key=0x5b1185 "token", value=0x1398058)
at qdict.c:78
78      in qdict.c
(gdb)
79      in qdict.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b1185 "token", value=0x1398058)
at qdict.c:124
124     in qdict.c
(gdb)
125     in qdict.c
(gdb)
127     in qdict.c
(gdb)
json_message_process_token (lexer=0x22fac0, token=0x1398058,
type=JSON_OPERATOR, x=2, y=0) at json-streamer.c:49
49      json-streamer.c: No such file or directory.
        in json-streamer.c
(gdb)
qint_from_int (value=2) at qint.c:29
29      qint.c: No such file or directory.
        in qint.c
(gdb)
32      in qint.c
(gdb)
qemu_malloc (size=16) at qemu-malloc.c:55
55      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=2) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0x4950070) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qint_from_int (value=2) at qint.c:33
33      qint.c: No such file or directory.
        in qint.c
(gdb)
34      in qint.c
(gdb)
37      in qint.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b118b "x", value=0x4950070) at
qdict.c:111
111     qdict.c: No such file or directory.
        in qdict.c
(gdb)
115     in qdict.c
(gdb)
111     in qdict.c
(gdb)
115     in qdict.c
(gdb)
tdb_hash (name=0x5b118b "x") at qdict.c:59
59      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
68      in qdict.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b118b "x", value=0x4950070) at
qdict.c:116
116     in qdict.c
(gdb)
115     in qdict.c
(gdb)
116     in qdict.c
(gdb)
qdict_find (qdict=0x139c020, key=0x5b118b "x", hash=134) at qdict.c:89
89      in qdict.c
(gdb)
92      in qdict.c
(gdb)
97      in qdict.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b118b "x", value=0x4950070) at
qdict.c:117
117     in qdict.c
(gdb)
123     in qdict.c
(gdb)
alloc_entry (qdict=0x139c020, key=0x5b118b "x", value=0x4950070) at qdict.c:77
77      in qdict.c
(gdb)
qemu_mallocz (size=16) at qemu-malloc.c:73
73      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
75      in qemu-malloc.c
(gdb)
qemu_malloc (size=16) at qemu-malloc.c:55
55      in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=16) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0x4950098) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qemu_mallocz (size=16) at qemu-malloc.c:76
76      in qemu-malloc.c
(gdb)
75      in qemu-malloc.c
(gdb)
76      in qemu-malloc.c
(gdb)
78      in qemu-malloc.c
(gdb)
alloc_entry (qdict=0x139c020, key=0x5b118b "x", value=0x4950070) at qdict.c:78
78      qdict.c: No such file or directory.
        in qdict.c
(gdb)
77      in qdict.c
(gdb)
78      in qdict.c
(gdb)
qemu_strdup (str=0x5b118b "x") at qemu-malloc.c:81
81      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
83      in qemu-malloc.c
(gdb)
84      in qemu-malloc.c
(gdb)
qemu_malloc (size=2) at qemu-malloc.c:55
55      in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=5968267) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0x49500c0) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qemu_strdup (str=0x5b118b "x") at qemu-malloc.c:85
85      in qemu-malloc.c
(gdb)
84      in qemu-malloc.c
(gdb)
85      in qemu-malloc.c
(gdb)
87      in qemu-malloc.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b118b "x", value=0x4950070) at
qdict.c:124
124     qdict.c: No such file or directory.
        in qdict.c
(gdb)
123     in qdict.c
(gdb)
alloc_entry (qdict=0x139c020, key=0x5b118b "x", value=0x4950070) at qdict.c:78
78      in qdict.c
(gdb)
79      in qdict.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b118b "x", value=0x4950070) at
qdict.c:124
124     in qdict.c
(gdb)
125     in qdict.c
(gdb)
127     in qdict.c
(gdb)
json_message_process_token (lexer=0x22fac0, token=0x1398058,
type=JSON_OPERATOR, x=2, y=0) at json-streamer.c:50
50      json-streamer.c: No such file or directory.
        in json-streamer.c
(gdb)
qint_from_int (value=0) at qint.c:29
29      qint.c: No such file or directory.
        in qint.c
(gdb)
32      in qint.c
(gdb)
qemu_malloc (size=16) at qemu-malloc.c:55
55      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=0) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0x49500e0) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qint_from_int (value=0) at qint.c:33
33      qint.c: No such file or directory.
        in qint.c
(gdb)
34      in qint.c
(gdb)
37      in qint.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b118d "y", value=0x49500e0) at
qdict.c:111
111     qdict.c: No such file or directory.
        in qdict.c
(gdb)
115     in qdict.c
(gdb)
111     in qdict.c
(gdb)
115     in qdict.c
(gdb)
tdb_hash (name=0x5b118d "y") at qdict.c:59
59      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
65      in qdict.c
(gdb)
64      in qdict.c
(gdb)
68      in qdict.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b118d "y", value=0x49500e0) at
qdict.c:116
116     in qdict.c
(gdb)
115     in qdict.c
(gdb)
116     in qdict.c
(gdb)
qdict_find (qdict=0x139c020, key=0x5b118d "y", hash=241) at qdict.c:89
89      in qdict.c
(gdb)
92      in qdict.c
(gdb)
97      in qdict.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b118d "y", value=0x49500e0) at
qdict.c:117
117     in qdict.c
(gdb)
123     in qdict.c
(gdb)
alloc_entry (qdict=0x139c020, key=0x5b118d "y", value=0x49500e0) at qdict.c:77
77      in qdict.c
(gdb)
qemu_mallocz (size=16) at qemu-malloc.c:73
73      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
75      in qemu-malloc.c
(gdb)
qemu_malloc (size=16) at qemu-malloc.c:55
55      in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=16) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0x4950108) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qemu_mallocz (size=16) at qemu-malloc.c:76
76      in qemu-malloc.c
(gdb)
75      in qemu-malloc.c
(gdb)
76      in qemu-malloc.c
(gdb)
78      in qemu-malloc.c
(gdb)
alloc_entry (qdict=0x139c020, key=0x5b118d "y", value=0x49500e0) at qdict.c:78
78      qdict.c: No such file or directory.
        in qdict.c
(gdb)
77      in qdict.c
(gdb)
78      in qdict.c
(gdb)
qemu_strdup (str=0x5b118d "y") at qemu-malloc.c:81
81      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
83      in qemu-malloc.c
(gdb)
84      in qemu-malloc.c
(gdb)
qemu_malloc (size=2) at qemu-malloc.c:55
55      in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=5968269) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0x4950130) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qemu_strdup (str=0x5b118d "y") at qemu-malloc.c:85
85      in qemu-malloc.c
(gdb)
84      in qemu-malloc.c
(gdb)
85      in qemu-malloc.c
(gdb)
87      in qemu-malloc.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b118d "y", value=0x49500e0) at
qdict.c:124
124     qdict.c: No such file or directory.
        in qdict.c
(gdb)
123     in qdict.c
(gdb)
alloc_entry (qdict=0x139c020, key=0x5b118d "y", value=0x49500e0) at qdict.c:78
78      in qdict.c
(gdb)
79      in qdict.c
(gdb)
qdict_put_obj (qdict=0x139c020, key=0x5b118d "y", value=0x49500e0) at
qdict.c:124
124     in qdict.c
(gdb)
125     in qdict.c
(gdb)
127     in qdict.c
(gdb)
json_message_process_token (lexer=0x22fac0, token=0x1398058,
type=JSON_OPERATOR, x=2, y=0) at json-streamer.c:52
52      json-streamer.c: No such file or directory.
        in json-streamer.c
(gdb)
qlist_append_obj (qlist=0x1398030, value=0x139c020) at qlist.c:63
63      qlist.c: No such file or directory.
        in qlist.c
(gdb)
66      in qlist.c
(gdb)
qemu_malloc (size=12) at qemu-malloc.c:55
55      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=20545584) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0x1398198) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qlist_append_obj (qlist=0x1398030, value=0x139c020) at qlist.c:69
69      qlist.c: No such file or directory.
        in qlist.c
(gdb)
67      in qlist.c
(gdb)
69      in qlist.c
(gdb)
70      in qlist.c
(gdb)
json_message_process_token (lexer=0x22fac0, token=0x1398058,
type=JSON_OPERATOR, x=2, y=0) at json-streamer.c:54
54      json-streamer.c: No such file or directory.
        in json-streamer.c
(gdb)
60      in json-streamer.c
(gdb)
json_lexer_feed_char (lexer=0x22fac0, ch=32 ' ') at json-lexer.c:285
285     json-lexer.c: No such file or directory.
        in json-lexer.c
(gdb)
286     in json-lexer.c
(gdb)
285     in json-lexer.c
(gdb)
286     in json-lexer.c
(gdb)
qobject_decref (lexer=0x22fac0, ch=32 ' ') at qobject.h:96
96      qobject.h: No such file or directory.
        in qobject.h
(gdb)
json_lexer_feed_char (lexer=0x22fac0, ch=32 ' ') at json-lexer.c:285
285     json-lexer.c: No such file or directory.
        in json-lexer.c
(gdb)
286     in json-lexer.c
(gdb)
qobject_decref (lexer=0x22fac0, ch=32 ' ') at qobject.h:96
96      qobject.h: No such file or directory.
        in qobject.h
(gdb)
json_lexer_feed_char (lexer=0x22fac0, ch=32 ' ') at json-lexer.c:287
287     json-lexer.c: No such file or directory.
        in json-lexer.c
(gdb)
qstring_new () at qstring.c:29
29      qstring.c: No such file or directory.
        in qstring.c
(gdb)
30      in qstring.c
(gdb)
qstring_from_str (str=0x5af11a "") at qstring.c:62
62      in qstring.c
(gdb)
63      in qstring.c
(gdb)
qstring_from_substr (str=0x5af11a "", start=0, end=-1) at qstring.c:39
39      in qstring.c
(gdb)
42      in qstring.c
(gdb)
39      in qstring.c
(gdb)
42      in qstring.c
(gdb)
qemu_malloc (size=20) at qemu-malloc.c:55
55      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=5959962) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0x13981c0) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qstring_from_substr (str=0x5af11a "", start=0, end=-1) at qstring.c:44
44      qstring.c: No such file or directory.
        in qstring.c
(gdb)
47      in qstring.c
(gdb)
44      in qstring.c
(gdb)
45      in qstring.c
(gdb)
47      in qstring.c
(gdb)
qemu_malloc (size=1) at qemu-malloc.c:55
55      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
56      in qemu-malloc.c
(gdb)
59      in qemu-malloc.c
(gdb)
60      in qemu-malloc.c
(gdb)
qemu_malloc (size=5959962) at qemu-malloc.c:59
59      in qemu-malloc.c
(gdb)
oom_check (ptr=0x13981f0) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
qstring_from_substr (str=0x5af11a "", start=0, end=-1) at qstring.c:48
48      qstring.c: No such file or directory.
        in qstring.c
(gdb)
49      in qstring.c
(gdb)
51      in qstring.c
(gdb)
54      in qstring.c
(gdb)
qstring_from_str (str=0x5af11a "") at qstring.c:64
64      in qstring.c
(gdb)
qstring_new () at qstring.c:31
31      in qstring.c
(gdb)
json_lexer_feed_char (lexer=0x22fac0, ch=32 ' ') at json-lexer.c:295
295     json-lexer.c: No such file or directory.
        in json-lexer.c
(gdb)
298     in json-lexer.c
(gdb)
295     in json-lexer.c
(gdb)
298     in json-lexer.c
(gdb)
296     in json-lexer.c
(gdb)
298     in json-lexer.c
(gdb)
qstring_append (qstring=0x13981c0, str=0x22fa56 " ") at qstring.c:79
79      qstring.c: No such file or directory.
        in qstring.c
(gdb)
80      in qstring.c
(gdb)
79      in qstring.c
(gdb)
80      in qstring.c
(gdb)
82      in qstring.c
(gdb)
80      in qstring.c
(gdb)
82      in qstring.c
(gdb)
capacity_increase (qstring=0x13981c0, len=1) at qstring.c:67
67      in qstring.c
(gdb)
68      in qstring.c
(gdb)
69      in qstring.c
(gdb)
72      in qstring.c
(gdb)
70      in qstring.c
(gdb)
72      in qstring.c
(gdb)
70      in qstring.c
(gdb)
72      in qstring.c
(gdb)
qemu_realloc (ptr=0x13981f0, size=3) at qemu-malloc.c:63
63      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
64      in qemu-malloc.c
(gdb)
65      in qemu-malloc.c
(gdb)
67      in qemu-malloc.c
(gdb)
70      in qemu-malloc.c
(gdb)
qemu_realloc (ptr=0xff0a0000, size=2292416) at qemu-malloc.c:67
67      in qemu-malloc.c
(gdb)
oom_check (ptr=0x13981f0) at qemu-malloc.c:28
28      in qemu-malloc.c
(gdb)
29      in qemu-malloc.c
(gdb)
33      in qemu-malloc.c
(gdb)
capacity_increase (qstring=0x13981c0, len=2009057140) at qstring.c:74
74      qstring.c: No such file or directory.
        in qstring.c
(gdb)
qstring_append (qstring=0x13981c0, str=0x22fa56 " ") at qstring.c:83
83      in qstring.c
(gdb)
84      in qstring.c
(gdb)
85      in qstring.c
(gdb)
84      in qstring.c
(gdb)
85      in qstring.c
(gdb)
86      in qstring.c
(gdb)
json_lexer_feed_char (lexer=0x22fac0, ch=32 ' ') at json-lexer.c:301
301     json-lexer.c: No such file or directory.
        in json-lexer.c
(gdb)
json_lexer_feed (lexer=0x22fac0, buffer=0x5921d0 "{ 'seconds': %I64d,
'microseconds': %I64d }", size=43)
    at json-lexer.c:311
311     in json-lexer.c
(gdb)
310     in json-lexer.c
(gdb)
json_lexer_feed_char (lexer=0x22fac0, ch=39 '\'') at json-lexer.c:265
265     in json-lexer.c
(gdb)
268     in json-lexer.c
(gdb)
269     in json-lexer.c
(gdb)
268     in json-lexer.c
(gdb)
269     in json-lexer.c
(gdb)
274     in json-lexer.c
(gdb)
276     in json-lexer.c
(gdb)
274     in json-lexer.c
(gdb)
276     in json-lexer.c
(gdb)
285     in json-lexer.c
(gdb)
286     in json-lexer.c
(gdb)
285     in json-lexer.c
(gdb)
286     in json-lexer.c
(gdb)
qobject_decref (lexer=0x22fac0, ch=39 '\'') at qobject.h:96
96      qobject.h: No such file or directory.
        in qobject.h
(gdb)
json_lexer_feed_char (lexer=0x22fac0, ch=39 '\'') at json-lexer.c:285
285     json-lexer.c: No such file or directory.
        in json-lexer.c
(gdb)
286     in json-lexer.c
(gdb)
qobject_decref (lexer=0x22fac0, ch=39 '\'') at qobject.h:96
96      qobject.h: No such file or directory.
        in qobject.h
(gdb)
97      in qobject.h
(gdb)
98      in qobject.h
(gdb)
99      in qobject.h
(gdb)
qstring_destroy_obj (obj=0x13981c0) at qstring.c:133
133     qstring.c: No such file or directory.
        in qstring.c
(gdb)
136     in qstring.c
(gdb)
137     in qstring.c
(gdb)
qobject_to_qstring (obj=0x13981c0) at qstring.c:110
110     in qstring.c
(gdb)
111     in qstring.c
(gdb)
qobject_type (obj=0x13981c0) at qobject.h:108
108     qobject.h: No such file or directory.
        in qobject.h
(gdb)
qobject_to_qstring (obj=0x13981c0) at qstring.c:111
111     qstring.c: No such file or directory.
        in qstring.c
(gdb)
114     in qstring.c
(gdb)
115     in qstring.c
(gdb)
qstring_destroy_obj (obj=0x13981c0) at qstring.c:138
138     in qstring.c
(gdb)
qemu_free (ptr=0x13981f0) at qemu-malloc.c:41
41      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
42      in qemu-malloc.c
(gdb)
41      in qemu-malloc.c
(gdb)
42      in qemu-malloc.c
(gdb)
43      in qemu-malloc.c
(gdb)
qemu_free (ptr=0x13981f0) at qemu-malloc.c:42
42      in qemu-malloc.c
(gdb)
0x0057c398 in free ()
(gdb)
Single stepping until exit from function free,
which has no line number information.
0x77bfc21b in msvcrt!free () from C:\WINDOWS\system32\msvcrt.dll
(gdb)
Single stepping until exit from function msvcrt!free,
which has no line number information.
0x77c07420 in strerror () from C:\WINDOWS\system32\msvcrt.dll
(gdb)
Single stepping until exit from function strerror,
which has no line number information.
0x77bfc227 in msvcrt!free () from C:\WINDOWS\system32\msvcrt.dll
(gdb)
Single stepping until exit from function msvcrt!free,
which has no line number information.
0x7c92ff2d in ntdll!RtlFreeThreadActivationContextStack () from
C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function
ntdll!RtlFreeThreadActivationContextStack,
which has no line number information.
0x7c92e8cb in strchr () from C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function strchr,
which has no line number information.
0x7c92ff3c in ntdll!RtlFreeThreadActivationContextStack () from
C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function
ntdll!RtlFreeThreadActivationContextStack,
which has no line number information.
0x7c947569 in ntdll!RtlPcToFileHeader () from C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function ntdll!RtlPcToFileHeader,
which has no line number information.
Assertion failed: obj != NULL, file /home/roy/qemu/monitor.c, line 338

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

Program exited with code 03.
(gdb)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] system_reset command cause assert failed
  2010-02-01 16:02         ` Luiz Capitulino
  2010-02-01 16:26           ` Roy Tam
@ 2010-02-01 16:33           ` Roy Tam
  1 sibling, 0 replies; 14+ messages in thread
From: Roy Tam @ 2010-02-01 16:33 UTC (permalink / raw)
  To: Luiz Capitulino; +Cc: qemu-devel

2010/2/2 Luiz Capitulino <lcapitulino@redhat.com>:
>
>  Hm, I'm puzzled. Is this failing on malloc()? At least qemu_malloc()
> is the last qemu's function I see in the logs.
>
>  From now on I only see msvcrt functions...
>
>  Maybe, you can type run on gdb, run system_reset on the
> Monitor and then switch back to gdb and type bt?
>

for backtrace, I got Backtrace stopped.

(gdb) bt
#0  monitor_protocol_event (event=QEVENT_RESET, data=0x0) at
/home/roy/qemu/monitor.c:349
#1  0x0040f6f9 in monitor_protocol_event (event=4199152,
data=0xff0a0000) at /home/roy/qemu/monitor.c:349
Backtrace stopped: frame did not save the PC

and there's a double free at the end.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] system_reset command cause assert failed
  2010-02-01 16:26           ` Roy Tam
@ 2010-02-01 18:58             ` Luiz Capitulino
  2010-02-02  1:35               ` Roy Tam
  0 siblings, 1 reply; 14+ messages in thread
From: Luiz Capitulino @ 2010-02-01 18:58 UTC (permalink / raw)
  To: Roy Tam; +Cc: qemu-devel

On Tue, 2 Feb 2010 00:26:53 +0800
Roy Tam <roytam@gmail.com> wrote:

> 2010/2/2 Luiz Capitulino <lcapitulino@redhat.com>:
> 
> >  Hm, I'm puzzled. Is this failing on malloc()? At least qemu_malloc()
> > is the last qemu's function I see in the logs.
> >
> >  From now on I only see msvcrt functions...
> >
> >  Maybe, you can type run on gdb, run system_reset on the
> > Monitor and then switch back to gdb and type bt?
> >
> source-less debugging seems better...

 As far as I can understand something bad happens while the parser
is processing the first "'" character of the qobject_from_jsonf()
call in monitor.c:4524.

 Strange. Can you try 'info pci', 'info block' and 'info version'?
Do they work?

 Maybe this is a refcount problem?

 Anthony, could you take a look too please?

> 
> (gdb) list monitor_protocol_event
> 344     /home/roy/qemu/monitor.c: No such file or directory.
>         in /home/roy/qemu/monitor.c
> (gdb) break 344
> Breakpoint 1 at 0x40f6f9: file /home/roy/qemu/monitor.c, line 344.
> (gdb) r
> Starting program: D:\dbg-qemu/qemu.exe
> [New Thread 6592.0x16cc]
> [New Thread 6592.0x1c14]
> pci_add_option_rom: failed to find romfile "pxe-e1000.bin"
> warning: Hooking
> warning: D:\DBG-QEMU\QEMU.EXE
> warning: RPH:Injecting code at start up
> 
> warning: done...
> 
> 
> Breakpoint 1, monitor_protocol_event (event=QEVENT_RESET, data=0x0) at
> /home/roy/qemu/monitor.c:349
> 349     in /home/roy/qemu/monitor.c
> (gdb) step
> 354     in /home/roy/qemu/monitor.c
> (gdb)
> 356     in /home/roy/qemu/monitor.c
> (gdb)
> 362     in /home/roy/qemu/monitor.c
> (gdb)
> 386     in /home/roy/qemu/monitor.c
> (gdb)
> qdict_new () at qdict.c:34
> 34      qdict.c: No such file or directory.
>         in qdict.c
> (gdb)
> 37      in qdict.c
> (gdb)
> qemu_mallocz (size=2060) at qemu-malloc.c:73
> 73      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 75      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=2060) at qemu-malloc.c:55
> 55      in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=2060) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0xd93d0d8) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qemu_mallocz (size=2060) at qemu-malloc.c:76
> 76      in qemu-malloc.c
> (gdb)
> 75      in qemu-malloc.c
> (gdb)
> 76      in qemu-malloc.c
> (gdb)
> 78      in qemu-malloc.c
> (gdb)
> qdict_new () at qdict.c:38
> 38      qdict.c: No such file or directory.
>         in qdict.c
> (gdb)
> 41      in qdict.c
> (gdb)
> monitor_protocol_event (event=QEVENT_RESET, data=0x0) at
> /home/roy/qemu/monitor.c:387
> 387     /home/roy/qemu/monitor.c: No such file or directory.
>         in /home/roy/qemu/monitor.c
> (gdb)
> timestamp_put (event=QEVENT_RESET, data=0x0) at /home/roy/qemu/monitor.c:331
> 331     in /home/roy/qemu/monitor.c
> (gdb)
> monitor_protocol_event (event=QEVENT_RESET, data=0x0) at
> /home/roy/qemu/monitor.c:386
> 386     in /home/roy/qemu/monitor.c
> (gdb)
> 387     in /home/roy/qemu/monitor.c
> (gdb)
> timestamp_put (event=QEVENT_RESET, data=0x0) at /home/roy/qemu/monitor.c:331
> 331     in /home/roy/qemu/monitor.c
> (gdb)
> qemu_gettimeofday (tp=0x22fb60) at osdep.c:169
> 169     osdep.c: No such file or directory.
>         in osdep.c
> (gdb)
> 175     in osdep.c
> (gdb)
> 177     in osdep.c
> (gdb)
> 178     in osdep.c
> (gdb)
> 179     in osdep.c
> (gdb)
> 178     in osdep.c
> (gdb)
> 179     in osdep.c
> (gdb)
> 184     in osdep.c
> (gdb)
> timestamp_put (event=QEVENT_RESET, data=0x0) at /home/roy/qemu/monitor.c:332
> 332     /home/roy/qemu/monitor.c: No such file or directory.
>         in /home/roy/qemu/monitor.c
> (gdb)
> 335     in /home/roy/qemu/monitor.c
> (gdb)
> qobject_from_jsonf (string=0x5921d0 "{ 'seconds': %I64d,
> 'microseconds': %I64d }") at qjson.c:57
> 57      qjson.c: No such file or directory.
>         in qjson.c
> (gdb)
> 61      in qjson.c
> (gdb)
> 62      in qjson.c
> (gdb)
> qobject_from_jsonv (string=0x5921d0 "{ 'seconds': %I64d,
> 'microseconds': %I64d }", ap=0x22fb20) at qjson.c:38
> 38      in qjson.c
> (gdb)
> 39      in qjson.c
> (gdb)
> 38      in qjson.c
> (gdb)
> 39      in qjson.c
> (gdb)
> 38      in qjson.c
> (gdb)
> 39      in qjson.c
> (gdb)
> 38      in qjson.c
> (gdb)
> 39      in qjson.c
> (gdb)
> 43      in qjson.c
> (gdb)
> 38      in qjson.c
> (gdb)
> 43      in qjson.c
> (gdb)
> 41      in qjson.c
> (gdb)
> 43      in qjson.c
> (gdb)
> json_message_parser_init (parser=0x22fabc, func=0x450ef0 <parse_json>)
> at json-streamer.c:64
> 64      json-streamer.c: No such file or directory.
>         in json-streamer.c
> (gdb)
> 65      in json-streamer.c
> (gdb)
> 66      in json-streamer.c
> (gdb)
> 67      in json-streamer.c
> (gdb)
> 68      in json-streamer.c
> (gdb)
> qlist_new () at qlist.c:30
> 30      qlist.c: No such file or directory.
>         in qlist.c
> (gdb)
> 33      in qlist.c
> (gdb)
> qemu_malloc (size=16) at qemu-malloc.c:55
> 55      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=76677192) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x1398030) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qlist_new () at qlist.c:34
> 34      qlist.c: No such file or directory.
>         in qlist.c
> (gdb)
> 35      in qlist.c
> (gdb)
> 38      in qlist.c
> (gdb)
> json_message_parser_init (parser=0x22fabc, func=0x450ef0 <parse_json>)
> at json-streamer.c:70
> 70      json-streamer.c: No such file or directory.
>         in json-streamer.c
> (gdb)
> 71      in json-streamer.c
> (gdb)
> json_message_parser_init (parser=0x5921d0, func=0x22fb20) at json-streamer.c:70
> 70      in json-streamer.c
> (gdb)
> json_lexer_init (lexer=0x22fac0, func=0x451290
> <json_message_process_token>) at json-lexer.c:258
> 258     json-lexer.c: No such file or directory.
>         in json-lexer.c
> (gdb)
> 259     in json-lexer.c
> (gdb)
> 260     in json-lexer.c
> (gdb)
> 261     in json-lexer.c
> (gdb)
> qstring_new () at qstring.c:29
> 29      qstring.c: No such file or directory.
>         in qstring.c
> (gdb)
> 30      in qstring.c
> (gdb)
> qstring_from_str (str=0x5af11a "") at qstring.c:62
> 62      in qstring.c
> (gdb)
> 63      in qstring.c
> (gdb)
> qstring_from_substr (str=0x5af11a "", start=0, end=-1) at qstring.c:39
> 39      in qstring.c
> (gdb)
> 42      in qstring.c
> (gdb)
> 39      in qstring.c
> (gdb)
> 42      in qstring.c
> (gdb)
> qemu_malloc (size=20) at qemu-malloc.c:55
> 55      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=5959962) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x1398058) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qstring_from_substr (str=0x5af11a "", start=0, end=-1) at qstring.c:44
> 44      qstring.c: No such file or directory.
>         in qstring.c
> (gdb)
> 47      in qstring.c
> (gdb)
> 44      in qstring.c
> (gdb)
> 45      in qstring.c
> (gdb)
> 47      in qstring.c
> (gdb)
> qemu_malloc (size=1) at qemu-malloc.c:55
> 55      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=5959962) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x1398088) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qstring_from_substr (str=0x5af11a "", start=0, end=-1) at qstring.c:48
> 48      qstring.c: No such file or directory.
>         in qstring.c
> (gdb)
> 49      in qstring.c
> (gdb)
> 51      in qstring.c
> (gdb)
> 54      in qstring.c
> (gdb)
> qstring_from_str (str=0x5af11a "") at qstring.c:64
> 64      in qstring.c
> (gdb)
> qstring_new () at qstring.c:31
> 31      in qstring.c
> (gdb)
> json_lexer_init (lexer=0x22fac0, func=0x451290
> <json_message_process_token>) at json-lexer.c:262
> 262     json-lexer.c: No such file or directory.
>         in json-lexer.c
> (gdb)
> qobject_from_jsonv (string=0x5921d0 "{ 'seconds': %I64d,
> 'microseconds': %I64d }", ap=0x22fb20) at qjson.c:44
> 44      qjson.c: No such file or directory.
>         in qjson.c
> (gdb)
> json_message_parser_feed (parser=0x22fabc, buffer=0x5921d0 "{
> 'seconds': %I64d, 'microseconds': %I64d }", size=43)
>     at json-streamer.c:75
> 75      json-streamer.c: No such file or directory.
>         in json-streamer.c
> (gdb)
> 76      in json-streamer.c
> (gdb)
> 77      in json-streamer.c
> (gdb)
> json_message_parser_feed (parser=0x5921d0, buffer=0x5921d0 "{
> 'seconds': %I64d, 'microseconds': %I64d }", size=43)
>     at json-streamer.c:76
> 76      in json-streamer.c
> (gdb)
> json_lexer_feed (lexer=0x22fac0, buffer=0x5921d0 "{ 'seconds': %I64d,
> 'microseconds': %I64d }", size=43)
>     at json-lexer.c:304
> 304     json-lexer.c: No such file or directory.
>         in json-lexer.c
> (gdb)
> 307     in json-lexer.c
> (gdb)
> 310     in json-lexer.c
> (gdb)
> json_lexer_feed_char (lexer=0x22fac0, ch=123 '{') at json-lexer.c:265
> 265     in json-lexer.c
> (gdb)
> 268     in json-lexer.c
> (gdb)
> 269     in json-lexer.c
> (gdb)
> 268     in json-lexer.c
> (gdb)
> 269     in json-lexer.c
> (gdb)
> 274     in json-lexer.c
> (gdb)
> 276     in json-lexer.c
> (gdb)
> 274     in json-lexer.c
> (gdb)
> 276     in json-lexer.c
> (gdb)
> 295     in json-lexer.c
> (gdb)
> 298     in json-lexer.c
> (gdb)
> 295     in json-lexer.c
> (gdb)
> 298     in json-lexer.c
> (gdb)
> 296     in json-lexer.c
> (gdb)
> 298     in json-lexer.c
> (gdb)
> qstring_append (qstring=0x1398058, str=0x22fa56 "{") at qstring.c:79
> 79      qstring.c: No such file or directory.
>         in qstring.c
> (gdb)
> 80      in qstring.c
> (gdb)
> 79      in qstring.c
> (gdb)
> 80      in qstring.c
> (gdb)
> 82      in qstring.c
> (gdb)
> 80      in qstring.c
> (gdb)
> 82      in qstring.c
> (gdb)
> capacity_increase (qstring=0x1398058, len=1) at qstring.c:67
> 67      in qstring.c
> (gdb)
> 68      in qstring.c
> (gdb)
> 69      in qstring.c
> (gdb)
> 72      in qstring.c
> (gdb)
> 70      in qstring.c
> (gdb)
> 72      in qstring.c
> (gdb)
> 70      in qstring.c
> (gdb)
> 72      in qstring.c
> (gdb)
> qemu_realloc (ptr=0x1398088, size=3) at qemu-malloc.c:63
> 63      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 64      in qemu-malloc.c
> (gdb)
> 65      in qemu-malloc.c
> (gdb)
> 67      in qemu-malloc.c
> (gdb)
> 70      in qemu-malloc.c
> (gdb)
> qemu_realloc (ptr=0x77bfc3e7, size=16) at qemu-malloc.c:67
> 67      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x1398088) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> capacity_increase (qstring=0x1398058, len=2009057140) at qstring.c:74
> 74      qstring.c: No such file or directory.
>         in qstring.c
> (gdb)
> qstring_append (qstring=0x1398058, str=0x22fa56 "{") at qstring.c:83
> 83      in qstring.c
> (gdb)
> 84      in qstring.c
> (gdb)
> 85      in qstring.c
> (gdb)
> 84      in qstring.c
> (gdb)
> 85      in qstring.c
> (gdb)
> 86      in qstring.c
> (gdb)
> json_lexer_feed_char (lexer=0x22fac0, ch=123 '{') at json-lexer.c:301
> 301     json-lexer.c: No such file or directory.
>         in json-lexer.c
> (gdb)
> json_lexer_feed (lexer=0x22fac0, buffer=0x5921d0 "{ 'seconds': %I64d,
> 'microseconds': %I64d }", size=43)
>     at json-lexer.c:311
> 311     in json-lexer.c
> (gdb)
> 310     in json-lexer.c
> (gdb)
> json_lexer_feed_char (lexer=0x22fac0, ch=32 ' ') at json-lexer.c:265
> 265     in json-lexer.c
> (gdb)
> 268     in json-lexer.c
> (gdb)
> 269     in json-lexer.c
> (gdb)
> 268     in json-lexer.c
> (gdb)
> 269     in json-lexer.c
> (gdb)
> 274     in json-lexer.c
> (gdb)
> 276     in json-lexer.c
> (gdb)
> 274     in json-lexer.c
> (gdb)
> 276     in json-lexer.c
> (gdb)
> 283     in json-lexer.c
> (gdb)
> json_message_process_token (lexer=0x22fac0, token=0x1398058,
> type=JSON_OPERATOR, x=2, y=0) at json-streamer.c:22
> 22      json-streamer.c: No such file or directory.
>         in json-streamer.c
> (gdb)
> 23      in json-streamer.c
> (gdb)
> 22      in json-streamer.c
> (gdb)
> 23      in json-streamer.c
> (gdb)
> 22      in json-streamer.c
> (gdb)
> 26      in json-streamer.c
> (gdb)
> 27      in json-streamer.c
> (gdb)
> qstring_get_str (qstring=0x1398058) at qstring.c:124
> 124     qstring.c: No such file or directory.
>         in qstring.c
> (gdb)
> 126     in qstring.c
> (gdb)
> 124     in qstring.c
> (gdb)
> 126     in qstring.c
> (gdb)
> json_message_process_token (lexer=0x22fac0, token=0x1398058,
> type=JSON_OPERATOR, x=2, y=0) at json-streamer.c:29
> 29      json-streamer.c: No such file or directory.
>         in json-streamer.c
> (gdb)
> 45      in json-streamer.c
> (gdb)
> qdict_new () at qdict.c:34
> 34      qdict.c: No such file or directory.
>         in qdict.c
> (gdb)
> 37      in qdict.c
> (gdb)
> qemu_mallocz (size=2060) at qemu-malloc.c:73
> 73      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 75      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=2060) at qemu-malloc.c:55
> 55      in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=2060) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x139c020) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qemu_mallocz (size=2060) at qemu-malloc.c:76
> 76      in qemu-malloc.c
> (gdb)
> 75      in qemu-malloc.c
> (gdb)
> 76      in qemu-malloc.c
> (gdb)
> 78      in qemu-malloc.c
> (gdb)
> qdict_new () at qdict.c:38
> 38      qdict.c: No such file or directory.
>         in qdict.c
> (gdb)
> 41      in qdict.c
> (gdb)
> json_message_process_token (lexer=0x22fac0, token=0x1398058,
> type=JSON_OPERATOR, x=2, y=0) at json-streamer.c:46
> 46      json-streamer.c: No such file or directory.
>         in json-streamer.c
> (gdb)
> 45      in json-streamer.c
> (gdb)
> 46      in json-streamer.c
> (gdb)
> qint_from_int (value=100) at qint.c:29
> 29      qint.c: No such file or directory.
>         in qint.c
> (gdb)
> 32      in qint.c
> (gdb)
> qemu_malloc (size=16) at qemu-malloc.c:55
> 55      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=100) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x13980a8) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qint_from_int (value=100) at qint.c:33
> 33      qint.c: No such file or directory.
>         in qint.c
> (gdb)
> 34      in qint.c
> (gdb)
> 37      in qint.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b1180 "type", value=0x13980a8)
> at qdict.c:111
> 111     qdict.c: No such file or directory.
>         in qdict.c
> (gdb)
> 115     in qdict.c
> (gdb)
> 111     in qdict.c
> (gdb)
> 115     in qdict.c
> (gdb)
> tdb_hash (name=0x5b1180 "type") at qdict.c:59
> 59      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 68      in qdict.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b1180 "type", value=0x13980a8)
> at qdict.c:116
> 116     in qdict.c
> (gdb)
> 115     in qdict.c
> (gdb)
> 116     in qdict.c
> (gdb)
> qdict_find (qdict=0x139c020, key=0x5b1180 "type", hash=425) at qdict.c:89
> 89      in qdict.c
> (gdb)
> 92      in qdict.c
> (gdb)
> 97      in qdict.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b1180 "type", value=0x13980a8)
> at qdict.c:117
> 117     in qdict.c
> (gdb)
> 123     in qdict.c
> (gdb)
> alloc_entry (qdict=0x139c020, key=0x5b1180 "type", value=0x13980a8) at
> qdict.c:77
> 77      in qdict.c
> (gdb)
> qemu_mallocz (size=16) at qemu-malloc.c:73
> 73      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 75      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=16) at qemu-malloc.c:55
> 55      in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=16) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x13980d0) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qemu_mallocz (size=16) at qemu-malloc.c:76
> 76      in qemu-malloc.c
> (gdb)
> 75      in qemu-malloc.c
> (gdb)
> 76      in qemu-malloc.c
> (gdb)
> 78      in qemu-malloc.c
> (gdb)
> alloc_entry (qdict=0x139c020, key=0x5b1180 "type", value=0x13980a8) at
> qdict.c:78
> 78      qdict.c: No such file or directory.
>         in qdict.c
> (gdb)
> 77      in qdict.c
> (gdb)
> 78      in qdict.c
> (gdb)
> qemu_strdup (str=0x5b1180 "type") at qemu-malloc.c:81
> 81      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 83      in qemu-malloc.c
> (gdb)
> 84      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=5) at qemu-malloc.c:55
> 55      in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=5968256) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x4950008) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qemu_strdup (str=0x5b1180 "type") at qemu-malloc.c:85
> 85      in qemu-malloc.c
> (gdb)
> 84      in qemu-malloc.c
> (gdb)
> 85      in qemu-malloc.c
> (gdb)
> 87      in qemu-malloc.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b1180 "type", value=0x13980a8)
> at qdict.c:124
> 124     qdict.c: No such file or directory.
>         in qdict.c
> (gdb)
> 123     in qdict.c
> (gdb)
> alloc_entry (qdict=0x139c020, key=0x5b1180 "type", value=0x13980a8) at
> qdict.c:78
> 78      in qdict.c
> (gdb)
> 79      in qdict.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b1180 "type", value=0x13980a8)
> at qdict.c:124
> 124     in qdict.c
> (gdb)
> 125     in qdict.c
> (gdb)
> 127     in qdict.c
> (gdb)
> json_message_process_token (lexer=0x22fac0, token=0x1398058,
> type=JSON_OPERATOR, x=2, y=0) at json-streamer.c:47
> 47      json-streamer.c: No such file or directory.
>         in json-streamer.c
> (gdb)
> qobject_incref (lexer=0x22fac0, token=0x1398058, type=JSON_OPERATOR,
> x=2, y=0) at qobject.h:86
> 86      qobject.h: No such file or directory.
>         in qobject.h
> (gdb)
> 87      in qobject.h
> (gdb)
> json_message_process_token (lexer=0x22fac0, token=0x1398058,
> type=JSON_OPERATOR, x=2, y=0) at json-streamer.c:48
> 48      json-streamer.c: No such file or directory.
>         in json-streamer.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b1185 "token", value=0x1398058)
> at qdict.c:111
> 111     qdict.c: No such file or directory.
>         in qdict.c
> (gdb)
> 115     in qdict.c
> (gdb)
> 111     in qdict.c
> (gdb)
> 115     in qdict.c
> (gdb)
> tdb_hash (name=0x5b1185 "token") at qdict.c:59
> 59      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 68      in qdict.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b1185 "token", value=0x1398058)
> at qdict.c:116
> 116     in qdict.c
> (gdb)
> 115     in qdict.c
> (gdb)
> 116     in qdict.c
> (gdb)
> qdict_find (qdict=0x139c020, key=0x5b1185 "token", hash=14) at qdict.c:89
> 89      in qdict.c
> (gdb)
> 92      in qdict.c
> (gdb)
> 97      in qdict.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b1185 "token", value=0x1398058)
> at qdict.c:117
> 117     in qdict.c
> (gdb)
> 123     in qdict.c
> (gdb)
> alloc_entry (qdict=0x139c020, key=0x5b1185 "token", value=0x1398058)
> at qdict.c:77
> 77      in qdict.c
> (gdb)
> qemu_mallocz (size=16) at qemu-malloc.c:73
> 73      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 75      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=16) at qemu-malloc.c:55
> 55      in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=16) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x4950028) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qemu_mallocz (size=16) at qemu-malloc.c:76
> 76      in qemu-malloc.c
> (gdb)
> 75      in qemu-malloc.c
> (gdb)
> 76      in qemu-malloc.c
> (gdb)
> 78      in qemu-malloc.c
> (gdb)
> alloc_entry (qdict=0x139c020, key=0x5b1185 "token", value=0x1398058)
> at qdict.c:78
> 78      qdict.c: No such file or directory.
>         in qdict.c
> (gdb)
> 77      in qdict.c
> (gdb)
> 78      in qdict.c
> (gdb)
> qemu_strdup (str=0x5b1185 "token") at qemu-malloc.c:81
> 81      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 83      in qemu-malloc.c
> (gdb)
> 84      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=6) at qemu-malloc.c:55
> 55      in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=5968261) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x4950050) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qemu_strdup (str=0x5b1185 "token") at qemu-malloc.c:85
> 85      in qemu-malloc.c
> (gdb)
> 84      in qemu-malloc.c
> (gdb)
> 85      in qemu-malloc.c
> (gdb)
> 87      in qemu-malloc.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b1185 "token", value=0x1398058)
> at qdict.c:124
> 124     qdict.c: No such file or directory.
>         in qdict.c
> (gdb)
> 123     in qdict.c
> (gdb)
> alloc_entry (qdict=0x139c020, key=0x5b1185 "token", value=0x1398058)
> at qdict.c:78
> 78      in qdict.c
> (gdb)
> 79      in qdict.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b1185 "token", value=0x1398058)
> at qdict.c:124
> 124     in qdict.c
> (gdb)
> 125     in qdict.c
> (gdb)
> 127     in qdict.c
> (gdb)
> json_message_process_token (lexer=0x22fac0, token=0x1398058,
> type=JSON_OPERATOR, x=2, y=0) at json-streamer.c:49
> 49      json-streamer.c: No such file or directory.
>         in json-streamer.c
> (gdb)
> qint_from_int (value=2) at qint.c:29
> 29      qint.c: No such file or directory.
>         in qint.c
> (gdb)
> 32      in qint.c
> (gdb)
> qemu_malloc (size=16) at qemu-malloc.c:55
> 55      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=2) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x4950070) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qint_from_int (value=2) at qint.c:33
> 33      qint.c: No such file or directory.
>         in qint.c
> (gdb)
> 34      in qint.c
> (gdb)
> 37      in qint.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b118b "x", value=0x4950070) at
> qdict.c:111
> 111     qdict.c: No such file or directory.
>         in qdict.c
> (gdb)
> 115     in qdict.c
> (gdb)
> 111     in qdict.c
> (gdb)
> 115     in qdict.c
> (gdb)
> tdb_hash (name=0x5b118b "x") at qdict.c:59
> 59      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 68      in qdict.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b118b "x", value=0x4950070) at
> qdict.c:116
> 116     in qdict.c
> (gdb)
> 115     in qdict.c
> (gdb)
> 116     in qdict.c
> (gdb)
> qdict_find (qdict=0x139c020, key=0x5b118b "x", hash=134) at qdict.c:89
> 89      in qdict.c
> (gdb)
> 92      in qdict.c
> (gdb)
> 97      in qdict.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b118b "x", value=0x4950070) at
> qdict.c:117
> 117     in qdict.c
> (gdb)
> 123     in qdict.c
> (gdb)
> alloc_entry (qdict=0x139c020, key=0x5b118b "x", value=0x4950070) at qdict.c:77
> 77      in qdict.c
> (gdb)
> qemu_mallocz (size=16) at qemu-malloc.c:73
> 73      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 75      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=16) at qemu-malloc.c:55
> 55      in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=16) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x4950098) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qemu_mallocz (size=16) at qemu-malloc.c:76
> 76      in qemu-malloc.c
> (gdb)
> 75      in qemu-malloc.c
> (gdb)
> 76      in qemu-malloc.c
> (gdb)
> 78      in qemu-malloc.c
> (gdb)
> alloc_entry (qdict=0x139c020, key=0x5b118b "x", value=0x4950070) at qdict.c:78
> 78      qdict.c: No such file or directory.
>         in qdict.c
> (gdb)
> 77      in qdict.c
> (gdb)
> 78      in qdict.c
> (gdb)
> qemu_strdup (str=0x5b118b "x") at qemu-malloc.c:81
> 81      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 83      in qemu-malloc.c
> (gdb)
> 84      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=2) at qemu-malloc.c:55
> 55      in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=5968267) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x49500c0) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qemu_strdup (str=0x5b118b "x") at qemu-malloc.c:85
> 85      in qemu-malloc.c
> (gdb)
> 84      in qemu-malloc.c
> (gdb)
> 85      in qemu-malloc.c
> (gdb)
> 87      in qemu-malloc.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b118b "x", value=0x4950070) at
> qdict.c:124
> 124     qdict.c: No such file or directory.
>         in qdict.c
> (gdb)
> 123     in qdict.c
> (gdb)
> alloc_entry (qdict=0x139c020, key=0x5b118b "x", value=0x4950070) at qdict.c:78
> 78      in qdict.c
> (gdb)
> 79      in qdict.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b118b "x", value=0x4950070) at
> qdict.c:124
> 124     in qdict.c
> (gdb)
> 125     in qdict.c
> (gdb)
> 127     in qdict.c
> (gdb)
> json_message_process_token (lexer=0x22fac0, token=0x1398058,
> type=JSON_OPERATOR, x=2, y=0) at json-streamer.c:50
> 50      json-streamer.c: No such file or directory.
>         in json-streamer.c
> (gdb)
> qint_from_int (value=0) at qint.c:29
> 29      qint.c: No such file or directory.
>         in qint.c
> (gdb)
> 32      in qint.c
> (gdb)
> qemu_malloc (size=16) at qemu-malloc.c:55
> 55      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=0) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x49500e0) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qint_from_int (value=0) at qint.c:33
> 33      qint.c: No such file or directory.
>         in qint.c
> (gdb)
> 34      in qint.c
> (gdb)
> 37      in qint.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b118d "y", value=0x49500e0) at
> qdict.c:111
> 111     qdict.c: No such file or directory.
>         in qdict.c
> (gdb)
> 115     in qdict.c
> (gdb)
> 111     in qdict.c
> (gdb)
> 115     in qdict.c
> (gdb)
> tdb_hash (name=0x5b118d "y") at qdict.c:59
> 59      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 65      in qdict.c
> (gdb)
> 64      in qdict.c
> (gdb)
> 68      in qdict.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b118d "y", value=0x49500e0) at
> qdict.c:116
> 116     in qdict.c
> (gdb)
> 115     in qdict.c
> (gdb)
> 116     in qdict.c
> (gdb)
> qdict_find (qdict=0x139c020, key=0x5b118d "y", hash=241) at qdict.c:89
> 89      in qdict.c
> (gdb)
> 92      in qdict.c
> (gdb)
> 97      in qdict.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b118d "y", value=0x49500e0) at
> qdict.c:117
> 117     in qdict.c
> (gdb)
> 123     in qdict.c
> (gdb)
> alloc_entry (qdict=0x139c020, key=0x5b118d "y", value=0x49500e0) at qdict.c:77
> 77      in qdict.c
> (gdb)
> qemu_mallocz (size=16) at qemu-malloc.c:73
> 73      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 75      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=16) at qemu-malloc.c:55
> 55      in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=16) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x4950108) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qemu_mallocz (size=16) at qemu-malloc.c:76
> 76      in qemu-malloc.c
> (gdb)
> 75      in qemu-malloc.c
> (gdb)
> 76      in qemu-malloc.c
> (gdb)
> 78      in qemu-malloc.c
> (gdb)
> alloc_entry (qdict=0x139c020, key=0x5b118d "y", value=0x49500e0) at qdict.c:78
> 78      qdict.c: No such file or directory.
>         in qdict.c
> (gdb)
> 77      in qdict.c
> (gdb)
> 78      in qdict.c
> (gdb)
> qemu_strdup (str=0x5b118d "y") at qemu-malloc.c:81
> 81      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 83      in qemu-malloc.c
> (gdb)
> 84      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=2) at qemu-malloc.c:55
> 55      in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=5968269) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x4950130) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qemu_strdup (str=0x5b118d "y") at qemu-malloc.c:85
> 85      in qemu-malloc.c
> (gdb)
> 84      in qemu-malloc.c
> (gdb)
> 85      in qemu-malloc.c
> (gdb)
> 87      in qemu-malloc.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b118d "y", value=0x49500e0) at
> qdict.c:124
> 124     qdict.c: No such file or directory.
>         in qdict.c
> (gdb)
> 123     in qdict.c
> (gdb)
> alloc_entry (qdict=0x139c020, key=0x5b118d "y", value=0x49500e0) at qdict.c:78
> 78      in qdict.c
> (gdb)
> 79      in qdict.c
> (gdb)
> qdict_put_obj (qdict=0x139c020, key=0x5b118d "y", value=0x49500e0) at
> qdict.c:124
> 124     in qdict.c
> (gdb)
> 125     in qdict.c
> (gdb)
> 127     in qdict.c
> (gdb)
> json_message_process_token (lexer=0x22fac0, token=0x1398058,
> type=JSON_OPERATOR, x=2, y=0) at json-streamer.c:52
> 52      json-streamer.c: No such file or directory.
>         in json-streamer.c
> (gdb)
> qlist_append_obj (qlist=0x1398030, value=0x139c020) at qlist.c:63
> 63      qlist.c: No such file or directory.
>         in qlist.c
> (gdb)
> 66      in qlist.c
> (gdb)
> qemu_malloc (size=12) at qemu-malloc.c:55
> 55      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=20545584) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x1398198) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qlist_append_obj (qlist=0x1398030, value=0x139c020) at qlist.c:69
> 69      qlist.c: No such file or directory.
>         in qlist.c
> (gdb)
> 67      in qlist.c
> (gdb)
> 69      in qlist.c
> (gdb)
> 70      in qlist.c
> (gdb)
> json_message_process_token (lexer=0x22fac0, token=0x1398058,
> type=JSON_OPERATOR, x=2, y=0) at json-streamer.c:54
> 54      json-streamer.c: No such file or directory.
>         in json-streamer.c
> (gdb)
> 60      in json-streamer.c
> (gdb)
> json_lexer_feed_char (lexer=0x22fac0, ch=32 ' ') at json-lexer.c:285
> 285     json-lexer.c: No such file or directory.
>         in json-lexer.c
> (gdb)
> 286     in json-lexer.c
> (gdb)
> 285     in json-lexer.c
> (gdb)
> 286     in json-lexer.c
> (gdb)
> qobject_decref (lexer=0x22fac0, ch=32 ' ') at qobject.h:96
> 96      qobject.h: No such file or directory.
>         in qobject.h
> (gdb)
> json_lexer_feed_char (lexer=0x22fac0, ch=32 ' ') at json-lexer.c:285
> 285     json-lexer.c: No such file or directory.
>         in json-lexer.c
> (gdb)
> 286     in json-lexer.c
> (gdb)
> qobject_decref (lexer=0x22fac0, ch=32 ' ') at qobject.h:96
> 96      qobject.h: No such file or directory.
>         in qobject.h
> (gdb)
> json_lexer_feed_char (lexer=0x22fac0, ch=32 ' ') at json-lexer.c:287
> 287     json-lexer.c: No such file or directory.
>         in json-lexer.c
> (gdb)
> qstring_new () at qstring.c:29
> 29      qstring.c: No such file or directory.
>         in qstring.c
> (gdb)
> 30      in qstring.c
> (gdb)
> qstring_from_str (str=0x5af11a "") at qstring.c:62
> 62      in qstring.c
> (gdb)
> 63      in qstring.c
> (gdb)
> qstring_from_substr (str=0x5af11a "", start=0, end=-1) at qstring.c:39
> 39      in qstring.c
> (gdb)
> 42      in qstring.c
> (gdb)
> 39      in qstring.c
> (gdb)
> 42      in qstring.c
> (gdb)
> qemu_malloc (size=20) at qemu-malloc.c:55
> 55      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=5959962) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x13981c0) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qstring_from_substr (str=0x5af11a "", start=0, end=-1) at qstring.c:44
> 44      qstring.c: No such file or directory.
>         in qstring.c
> (gdb)
> 47      in qstring.c
> (gdb)
> 44      in qstring.c
> (gdb)
> 45      in qstring.c
> (gdb)
> 47      in qstring.c
> (gdb)
> qemu_malloc (size=1) at qemu-malloc.c:55
> 55      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 56      in qemu-malloc.c
> (gdb)
> 59      in qemu-malloc.c
> (gdb)
> 60      in qemu-malloc.c
> (gdb)
> qemu_malloc (size=5959962) at qemu-malloc.c:59
> 59      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x13981f0) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> qstring_from_substr (str=0x5af11a "", start=0, end=-1) at qstring.c:48
> 48      qstring.c: No such file or directory.
>         in qstring.c
> (gdb)
> 49      in qstring.c
> (gdb)
> 51      in qstring.c
> (gdb)
> 54      in qstring.c
> (gdb)
> qstring_from_str (str=0x5af11a "") at qstring.c:64
> 64      in qstring.c
> (gdb)
> qstring_new () at qstring.c:31
> 31      in qstring.c
> (gdb)
> json_lexer_feed_char (lexer=0x22fac0, ch=32 ' ') at json-lexer.c:295
> 295     json-lexer.c: No such file or directory.
>         in json-lexer.c
> (gdb)
> 298     in json-lexer.c
> (gdb)
> 295     in json-lexer.c
> (gdb)
> 298     in json-lexer.c
> (gdb)
> 296     in json-lexer.c
> (gdb)
> 298     in json-lexer.c
> (gdb)
> qstring_append (qstring=0x13981c0, str=0x22fa56 " ") at qstring.c:79
> 79      qstring.c: No such file or directory.
>         in qstring.c
> (gdb)
> 80      in qstring.c
> (gdb)
> 79      in qstring.c
> (gdb)
> 80      in qstring.c
> (gdb)
> 82      in qstring.c
> (gdb)
> 80      in qstring.c
> (gdb)
> 82      in qstring.c
> (gdb)
> capacity_increase (qstring=0x13981c0, len=1) at qstring.c:67
> 67      in qstring.c
> (gdb)
> 68      in qstring.c
> (gdb)
> 69      in qstring.c
> (gdb)
> 72      in qstring.c
> (gdb)
> 70      in qstring.c
> (gdb)
> 72      in qstring.c
> (gdb)
> 70      in qstring.c
> (gdb)
> 72      in qstring.c
> (gdb)
> qemu_realloc (ptr=0x13981f0, size=3) at qemu-malloc.c:63
> 63      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 64      in qemu-malloc.c
> (gdb)
> 65      in qemu-malloc.c
> (gdb)
> 67      in qemu-malloc.c
> (gdb)
> 70      in qemu-malloc.c
> (gdb)
> qemu_realloc (ptr=0xff0a0000, size=2292416) at qemu-malloc.c:67
> 67      in qemu-malloc.c
> (gdb)
> oom_check (ptr=0x13981f0) at qemu-malloc.c:28
> 28      in qemu-malloc.c
> (gdb)
> 29      in qemu-malloc.c
> (gdb)
> 33      in qemu-malloc.c
> (gdb)
> capacity_increase (qstring=0x13981c0, len=2009057140) at qstring.c:74
> 74      qstring.c: No such file or directory.
>         in qstring.c
> (gdb)
> qstring_append (qstring=0x13981c0, str=0x22fa56 " ") at qstring.c:83
> 83      in qstring.c
> (gdb)
> 84      in qstring.c
> (gdb)
> 85      in qstring.c
> (gdb)
> 84      in qstring.c
> (gdb)
> 85      in qstring.c
> (gdb)
> 86      in qstring.c
> (gdb)
> json_lexer_feed_char (lexer=0x22fac0, ch=32 ' ') at json-lexer.c:301
> 301     json-lexer.c: No such file or directory.
>         in json-lexer.c
> (gdb)
> json_lexer_feed (lexer=0x22fac0, buffer=0x5921d0 "{ 'seconds': %I64d,
> 'microseconds': %I64d }", size=43)
>     at json-lexer.c:311
> 311     in json-lexer.c
> (gdb)
> 310     in json-lexer.c
> (gdb)
> json_lexer_feed_char (lexer=0x22fac0, ch=39 '\'') at json-lexer.c:265
> 265     in json-lexer.c
> (gdb)
> 268     in json-lexer.c
> (gdb)
> 269     in json-lexer.c
> (gdb)
> 268     in json-lexer.c
> (gdb)
> 269     in json-lexer.c
> (gdb)
> 274     in json-lexer.c
> (gdb)
> 276     in json-lexer.c
> (gdb)
> 274     in json-lexer.c
> (gdb)
> 276     in json-lexer.c
> (gdb)
> 285     in json-lexer.c
> (gdb)
> 286     in json-lexer.c
> (gdb)
> 285     in json-lexer.c
> (gdb)
> 286     in json-lexer.c
> (gdb)
> qobject_decref (lexer=0x22fac0, ch=39 '\'') at qobject.h:96
> 96      qobject.h: No such file or directory.
>         in qobject.h
> (gdb)
> json_lexer_feed_char (lexer=0x22fac0, ch=39 '\'') at json-lexer.c:285
> 285     json-lexer.c: No such file or directory.
>         in json-lexer.c
> (gdb)
> 286     in json-lexer.c
> (gdb)
> qobject_decref (lexer=0x22fac0, ch=39 '\'') at qobject.h:96
> 96      qobject.h: No such file or directory.
>         in qobject.h
> (gdb)
> 97      in qobject.h
> (gdb)
> 98      in qobject.h
> (gdb)
> 99      in qobject.h
> (gdb)
> qstring_destroy_obj (obj=0x13981c0) at qstring.c:133
> 133     qstring.c: No such file or directory.
>         in qstring.c
> (gdb)
> 136     in qstring.c
> (gdb)
> 137     in qstring.c
> (gdb)
> qobject_to_qstring (obj=0x13981c0) at qstring.c:110
> 110     in qstring.c
> (gdb)
> 111     in qstring.c
> (gdb)
> qobject_type (obj=0x13981c0) at qobject.h:108
> 108     qobject.h: No such file or directory.
>         in qobject.h
> (gdb)
> qobject_to_qstring (obj=0x13981c0) at qstring.c:111
> 111     qstring.c: No such file or directory.
>         in qstring.c
> (gdb)
> 114     in qstring.c
> (gdb)
> 115     in qstring.c
> (gdb)
> qstring_destroy_obj (obj=0x13981c0) at qstring.c:138
> 138     in qstring.c
> (gdb)
> qemu_free (ptr=0x13981f0) at qemu-malloc.c:41
> 41      qemu-malloc.c: No such file or directory.
>         in qemu-malloc.c
> (gdb)
> 42      in qemu-malloc.c
> (gdb)
> 41      in qemu-malloc.c
> (gdb)
> 42      in qemu-malloc.c
> (gdb)
> 43      in qemu-malloc.c
> (gdb)
> qemu_free (ptr=0x13981f0) at qemu-malloc.c:42
> 42      in qemu-malloc.c
> (gdb)
> 0x0057c398 in free ()
> (gdb)
> Single stepping until exit from function free,
> which has no line number information.
> 0x77bfc21b in msvcrt!free () from C:\WINDOWS\system32\msvcrt.dll
> (gdb)
> Single stepping until exit from function msvcrt!free,
> which has no line number information.
> 0x77c07420 in strerror () from C:\WINDOWS\system32\msvcrt.dll
> (gdb)
> Single stepping until exit from function strerror,
> which has no line number information.
> 0x77bfc227 in msvcrt!free () from C:\WINDOWS\system32\msvcrt.dll
> (gdb)
> Single stepping until exit from function msvcrt!free,
> which has no line number information.
> 0x7c92ff2d in ntdll!RtlFreeThreadActivationContextStack () from
> C:\WINDOWS\system32\ntdll.dll
> (gdb)
> Single stepping until exit from function
> ntdll!RtlFreeThreadActivationContextStack,
> which has no line number information.
> 0x7c92e8cb in strchr () from C:\WINDOWS\system32\ntdll.dll
> (gdb)
> Single stepping until exit from function strchr,
> which has no line number information.
> 0x7c92ff3c in ntdll!RtlFreeThreadActivationContextStack () from
> C:\WINDOWS\system32\ntdll.dll
> (gdb)
> Single stepping until exit from function
> ntdll!RtlFreeThreadActivationContextStack,
> which has no line number information.
> 0x7c947569 in ntdll!RtlPcToFileHeader () from C:\WINDOWS\system32\ntdll.dll
> (gdb)
> Single stepping until exit from function ntdll!RtlPcToFileHeader,
> which has no line number information.
> Assertion failed: obj != NULL, file /home/roy/qemu/monitor.c, line 338
> 
> This application has requested the Runtime to terminate it in an unusual way.
> Please contact the application's support team for more information.
> 
> Program exited with code 03.
> (gdb)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] system_reset command cause assert failed
  2010-02-01 18:58             ` Luiz Capitulino
@ 2010-02-02  1:35               ` Roy Tam
  2010-02-02 12:58                 ` Luiz Capitulino
  0 siblings, 1 reply; 14+ messages in thread
From: Roy Tam @ 2010-02-02  1:35 UTC (permalink / raw)
  To: Luiz Capitulino; +Cc: qemu-devel

2010/2/2 Luiz Capitulino <lcapitulino@redhat.com>:
> On Tue, 2 Feb 2010 00:26:53 +0800
> Roy Tam <roytam@gmail.com> wrote:
>
>> 2010/2/2 Luiz Capitulino <lcapitulino@redhat.com>:
>>
>> >  Hm, I'm puzzled. Is this failing on malloc()? At least qemu_malloc()
>> > is the last qemu's function I see in the logs.
>> >
>> >  From now on I only see msvcrt functions...
>> >
>> >  Maybe, you can type run on gdb, run system_reset on the
>> > Monitor and then switch back to gdb and type bt?
>> >
>> source-less debugging seems better...
>
>  As far as I can understand something bad happens while the parser
> is processing the first "'" character of the qobject_from_jsonf()
> call in monitor.c:4524.
>
>  Strange. Can you try 'info pci', 'info block' and 'info version'?
> Do they work?
>
>  Maybe this is a refcount problem?
>
>  Anthony, could you take a look too please?
>

rebuild with -gstabs -O1, you can see double free here:

......
(gdb)
qobject_to_qstring (obj=0xd95db10) at qstring.c:110
110     in qstring.c
(gdb)
108     qobject.h: No such file or directory.
        in qobject.h
(gdb)
111     qstring.c: No such file or directory.
        in qstring.c
(gdb)
114     in qstring.c
(gdb)
115     in qstring.c
(gdb)
qstring_destroy_obj (obj=0xd95db10) at qstring.c:138
138     in qstring.c
(gdb)
qemu_free (ptr=0xd95db40) at qemu-malloc.c:41
41      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb)
42      in qemu-malloc.c
(gdb)
43      in qemu-malloc.c
(gdb)
qstring_destroy_obj (obj=0xd95db10) at qstring.c:139
139     qstring.c: No such file or directory.
        in qstring.c
(gdb)
qemu_free (ptr=0xd95db10) at qemu-malloc.c:41
41      qemu-malloc.c: No such file or directory.
        in qemu-malloc.c
(gdb) bt
#0  qemu_free (ptr=0xd95db10) at qemu-malloc.c:41
#1  0x0044c49d in qstring_destroy_obj (obj=0xd95db10) at qstring.c:139
#2  0x0044daae in json_lexer_feed_char (lexer=0x22fae0, ch=37 '%') at
qobject.h:99
#3  0x0044db51 in json_lexer_feed (lexer=0x22fae0, buffer=0x5881d0 "{
'seconds': %I64d, 'microseconds': %I64d }",
    size=43) at json-lexer.c:310
#4  0x0044dbc8 in json_message_parser_feed (parser=0x22fadc,
    buffer=0x5881d0 "{ 'seconds': %I64d, 'microseconds': %I64d }",
size=43) at json-streamer.c:76
#5  0x0044d85b in qobject_from_jsonv (string=0x5881d0 "{ 'seconds':
%I64d, 'microseconds': %I64d }", ap=0x22fb40)
    at qjson.c:44
#6  0x0044d8a8 in qobject_from_jsonf (string=0x5881d0 "{ 'seconds':
%I64d, 'microseconds': %I64d }") at qjson.c:62
#7  0x0040ee50 in monitor_protocol_event (event=QEVENT_RESET,
data=0x0) at /home/roy/qemu/monitor.c:335
#8  0x00408ed9 in main (argc=1, argv=0x13b3f38, envp=0x4012f0) at
/home/roy/qemu/vl.c:4000
(gdb)

for info, info version and info block works, info pci segfaults:

Program received signal SIGSEGV, Segmentation fault.
qobject_to_qdict (obj=0x0) at qobject.h:108
108     qobject.h: No such file or directory.
        in qobject.h
(gdb) bt
#0  qobject_to_qdict (obj=0x0) at qobject.h:108
#1  0x004127ae in pci_device_print (mon=0x494c460, device=0x49696c0)
at /home/roy/qemu/hw/pci.c:1165
#2  0x00412f8e in do_pci_info_print (mon=0x494c460, data=0x4970078) at
/home/roy/qemu/hw/pci.c:1204
#3  0x0040ebc4 in do_info (mon=0x494c460, qdict=0xd95d0d8,
ret_data=0x22f048) at /home/roy/qemu/monitor.c:574
#4  0x0040e3f9 in monitor_call_handler (mon=0x494c460, cmd=0x589b78,
params=0x0) at /home/roy/qemu/monitor.c:3715
#5  0x00410423 in handle_user_command (mon=0x494c460,
cmdline=0x77c2f97c "\001") at /home/roy/qemu/monitor.c:3753
#6  0x004105ae in monitor_command_cb (mon=0x494c460, cmdline=0x494c8b8
"info pci", opaque=0x0)
    at /home/roy/qemu/monitor.c:4267
#7  0x004503a0 in readline_handle_byte (rs=0x494c8b8, ch=13) at readline.c:369
#8  0x00410627 in monitor_read (opaque=0x494c460, buf=0x22f708 "\r",
size=1) at /home/roy/qemu/monitor.c:4253
#9  0x004698ce in qemu_chr_read (s=0x13b4c68, buf=0x22f708 "\r",
len=1) at qemu-char.c:154
#10 0x00451f22 in kbd_send_chars (opaque=0x494c358) at console.c:1130
#11 0x00452138 in kbd_put_keysym (keysym=13) at console.c:1183
#12 0x0047d099 in sdl_refresh (ds=0x4978030) at sdl.c:634
#13 0x00405c83 in gui_update (opaque=0x4978030) at /home/roy/qemu/console.h:219
#14 0x0040168d in qemu_run_timers (ptimer_head=0x5db4e8,
current_time=7200606) at /home/roy/qemu/vl.c:913
#15 0x00405bca in main_loop_wait (timeout=0) at /home/roy/qemu/vl.c:3793
#16 0x00408e2a in main (argc=1, argv=0x13b3f38, envp=0x4012f0) at
/home/roy/qemu/vl.c:3981
(gdb)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] system_reset command cause assert failed
  2010-02-02  1:35               ` Roy Tam
@ 2010-02-02 12:58                 ` Luiz Capitulino
  2010-02-03  2:09                   ` Roy Tam
  0 siblings, 1 reply; 14+ messages in thread
From: Luiz Capitulino @ 2010-02-02 12:58 UTC (permalink / raw)
  To: Roy Tam; +Cc: qemu-devel

On Tue, 2 Feb 2010 09:35:16 +0800
Roy Tam <roytam@gmail.com> wrote:

> 2010/2/2 Luiz Capitulino <lcapitulino@redhat.com>:
> > On Tue, 2 Feb 2010 00:26:53 +0800
> > Roy Tam <roytam@gmail.com> wrote:
> >
> >> 2010/2/2 Luiz Capitulino <lcapitulino@redhat.com>:
> >>
> >> >  Hm, I'm puzzled. Is this failing on malloc()? At least qemu_malloc()
> >> > is the last qemu's function I see in the logs.
> >> >
> >> >  From now on I only see msvcrt functions...
> >> >
> >> >  Maybe, you can type run on gdb, run system_reset on the
> >> > Monitor and then switch back to gdb and type bt?
> >> >
> >> source-less debugging seems better...
> >
> >  As far as I can understand something bad happens while the parser
> > is processing the first "'" character of the qobject_from_jsonf()
> > call in monitor.c:4524.
> >
> >  Strange. Can you try 'info pci', 'info block' and 'info version'?
> > Do they work?
> >
> >  Maybe this is a refcount problem?
> >
> >  Anthony, could you take a look too please?
> >
> 
> rebuild with -gstabs -O1, you can see double free here:

 Ok, so we have a double free and

> #0  qobject_to_qdict (obj=0x0) at qobject.h:108
> #1  0x004127ae in pci_device_print (mon=0x494c460, device=0x49696c0)
> at /home/roy/qemu/hw/pci.c:1165

 a segfault.

 I don't know what's happening, I'll have to run QEMU on windows and
try to reproduce it.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] system_reset command cause assert failed
  2010-02-02 12:58                 ` Luiz Capitulino
@ 2010-02-03  2:09                   ` Roy Tam
  2010-02-03 12:26                     ` Luiz Capitulino
  0 siblings, 1 reply; 14+ messages in thread
From: Roy Tam @ 2010-02-03  2:09 UTC (permalink / raw)
  To: Luiz Capitulino; +Cc: qemu-devel

2010/2/2 Luiz Capitulino <lcapitulino@redhat.com>:
> On Tue, 2 Feb 2010 09:35:16 +0800
> Roy Tam <roytam@gmail.com> wrote:
>
>> 2010/2/2 Luiz Capitulino <lcapitulino@redhat.com>:
>> > On Tue, 2 Feb 2010 00:26:53 +0800
>> > Roy Tam <roytam@gmail.com> wrote:
>> >
>> >> 2010/2/2 Luiz Capitulino <lcapitulino@redhat.com>:
>> >>
>> >> >  Hm, I'm puzzled. Is this failing on malloc()? At least qemu_malloc()
>> >> > is the last qemu's function I see in the logs.
>> >> >
>> >> >  From now on I only see msvcrt functions...
>> >> >
>> >> >  Maybe, you can type run on gdb, run system_reset on the
>> >> > Monitor and then switch back to gdb and type bt?
>> >> >
>> >> source-less debugging seems better...
>> >
>> >  As far as I can understand something bad happens while the parser
>> > is processing the first "'" character of the qobject_from_jsonf()
>> > call in monitor.c:4524.
>> >
>> >  Strange. Can you try 'info pci', 'info block' and 'info version'?
>> > Do they work?
>> >
>> >  Maybe this is a refcount problem?
>> >
>> >  Anthony, could you take a look too please?
>> >
>>
>> rebuild with -gstabs -O1, you can see double free here:
>
>  Ok, so we have a double free and
>

Clarify that after digging into sources further, it is not double
free, but parse_json not be executed by json_lexer_feed_char as I put
asm("int3") in parse_json but there's no SIGTRAP be raised. (for
system_reset and system_powerdown)

>> #0  qobject_to_qdict (obj=0x0) at qobject.h:108
>> #1  0x004127ae in pci_device_print (mon=0x494c460, device=0x49696c0)
>> at /home/roy/qemu/hw/pci.c:1165
>
>  a segfault.

for this, parse_json was executed by json_lexer_feed_char.
a workaround patch is here, but why null qobj has pushed into qlist?

diff --git a/hw/pci.c b/hw/pci.c
index 023f7b6..84e7b35 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -1161,8 +1161,11 @@ static void pci_device_print(Monitor *mon, QDict *device)
         qdict_get_int(info, "limit"));
     }

+    QObject* qobj;
     QLIST_FOREACH_ENTRY(qdict_get_qlist(device, "regions"), entry) {
-        qdict = qobject_to_qdict(qlist_entry_obj(entry));
+        qobj = qlist_entry_obj(entry);
+        if(!qobj) continue;
+        qdict = qobject_to_qdict(qobj);
         monitor_printf(mon, "      BAR%d: ", (int)
qdict_get_int(qdict, "bar"));

         addr = qdict_get_int(qdict, "address");

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] system_reset command cause assert failed
  2010-02-03  2:09                   ` Roy Tam
@ 2010-02-03 12:26                     ` Luiz Capitulino
  2010-02-04  1:39                       ` Roy Tam
  0 siblings, 1 reply; 14+ messages in thread
From: Luiz Capitulino @ 2010-02-03 12:26 UTC (permalink / raw)
  To: Roy Tam; +Cc: qemu-devel

On Wed, 3 Feb 2010 10:09:07 +0800
Roy Tam <roytam@gmail.com> wrote:

> 2010/2/2 Luiz Capitulino <lcapitulino@redhat.com>:
> > On Tue, 2 Feb 2010 09:35:16 +0800
> > Roy Tam <roytam@gmail.com> wrote:
> >
> >> 2010/2/2 Luiz Capitulino <lcapitulino@redhat.com>:
> >> > On Tue, 2 Feb 2010 00:26:53 +0800
> >> > Roy Tam <roytam@gmail.com> wrote:
> >> >
> >> >> 2010/2/2 Luiz Capitulino <lcapitulino@redhat.com>:
> >> >>
> >> >> >  Hm, I'm puzzled. Is this failing on malloc()? At least qemu_malloc()
> >> >> > is the last qemu's function I see in the logs.
> >> >> >
> >> >> >  From now on I only see msvcrt functions...
> >> >> >
> >> >> >  Maybe, you can type run on gdb, run system_reset on the
> >> >> > Monitor and then switch back to gdb and type bt?
> >> >> >
> >> >> source-less debugging seems better...
> >> >
> >> >  As far as I can understand something bad happens while the parser
> >> > is processing the first "'" character of the qobject_from_jsonf()
> >> > call in monitor.c:4524.
> >> >
> >> >  Strange. Can you try 'info pci', 'info block' and 'info version'?
> >> > Do they work?
> >> >
> >> >  Maybe this is a refcount problem?
> >> >
> >> >  Anthony, could you take a look too please?
> >> >
> >>
> >> rebuild with -gstabs -O1, you can see double free here:
> >
> >  Ok, so we have a double free and
> >
> 
> Clarify that after digging into sources further, it is not double
> free, but parse_json not be executed by json_lexer_feed_char as I put
> asm("int3") in parse_json but there's no SIGTRAP be raised. (for
> system_reset and system_powerdown)

 Well, I think I'll only have time to setup this stuff on windows
in two or three days :(

> >> #0  qobject_to_qdict (obj=0x0) at qobject.h:108
> >> #1  0x004127ae in pci_device_print (mon=0x494c460, device=0x49696c0)
> >> at /home/roy/qemu/hw/pci.c:1165
> >
> >  a segfault.
> 
> for this, parse_json was executed by json_lexer_feed_char.
> a workaround patch is here, but why null qobj has pushed into qlist?

 Yeah, that's the question and I'm afraid that this patch will
actually hide the real bug.

 You can do two things:

1. Put an assert() at qlist.c:qlist_append_obj()
2. Reset your tree to commit 0a7fc983ce and send me the output of
   'info pci'

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] system_reset command cause assert failed
  2010-02-03 12:26                     ` Luiz Capitulino
@ 2010-02-04  1:39                       ` Roy Tam
  0 siblings, 0 replies; 14+ messages in thread
From: Roy Tam @ 2010-02-04  1:39 UTC (permalink / raw)
  To: Luiz Capitulino; +Cc: qemu-devel

2010/2/3 Luiz Capitulino <lcapitulino@redhat.com>:
> On Wed, 3 Feb 2010 10:09:07 +0800
> Roy Tam <roytam@gmail.com> wrote:
>
>> 2010/2/2 Luiz Capitulino <lcapitulino@redhat.com>:
>> > On Tue, 2 Feb 2010 09:35:16 +0800
>> > Roy Tam <roytam@gmail.com> wrote:
>> >
>> >> 2010/2/2 Luiz Capitulino <lcapitulino@redhat.com>:
>> >> > On Tue, 2 Feb 2010 00:26:53 +0800
>> >> > Roy Tam <roytam@gmail.com> wrote:
>> >> >
>> >> >> 2010/2/2 Luiz Capitulino <lcapitulino@redhat.com>:
>> >> >>
>> >> >> >  Hm, I'm puzzled. Is this failing on malloc()? At least qemu_malloc()
>> >> >> > is the last qemu's function I see in the logs.
>> >> >> >
>> >> >> >  From now on I only see msvcrt functions...
>> >> >> >
>> >> >> >  Maybe, you can type run on gdb, run system_reset on the
>> >> >> > Monitor and then switch back to gdb and type bt?
>> >> >> >
>> >> >> source-less debugging seems better...
>> >> >
>> >> >  As far as I can understand something bad happens while the parser
>> >> > is processing the first "'" character of the qobject_from_jsonf()
>> >> > call in monitor.c:4524.
>> >> >
>> >> >  Strange. Can you try 'info pci', 'info block' and 'info version'?
>> >> > Do they work?
>> >> >
>> >> >  Maybe this is a refcount problem?
>> >> >
>> >> >  Anthony, could you take a look too please?
>> >> >
>> >>
>> >> rebuild with -gstabs -O1, you can see double free here:
>> >
>> >  Ok, so we have a double free and
>> >
>>
>> Clarify that after digging into sources further, it is not double
>> free, but parse_json not be executed by json_lexer_feed_char as I put
>> asm("int3") in parse_json but there's no SIGTRAP be raised. (for
>> system_reset and system_powerdown)
>
>  Well, I think I'll only have time to setup this stuff on windows
> in two or three days :(
>
>> >> #0  qobject_to_qdict (obj=0x0) at qobject.h:108
>> >> #1  0x004127ae in pci_device_print (mon=0x494c460, device=0x49696c0)
>> >> at /home/roy/qemu/hw/pci.c:1165
>> >
>> >  a segfault.
>>
>> for this, parse_json was executed by json_lexer_feed_char.
>> a workaround patch is here, but why null qobj has pushed into qlist?
>
>  Yeah, that's the question and I'm afraid that this patch will
> actually hide the real bug.
>
>  You can do two things:
>
> 1. Put an assert() at qlist.c:qlist_append_obj()

qobject_from_jsonf() fails? then it may be same of
system_reset/system_powerdown issue.
#0  qlist_append_obj (qlist=0x49614f0, value=0x0) at qlist.c:63
#1  0x004121f0 in pci_get_devices_list (bus=0x4979618, bus_num=0) at
/home/roy/qemu/hw/pci.c:1266
#2  0x0041246c in do_pci_info (mon=0x494c460, ret_data=0x22f048) at
/home/roy/qemu/hw/pci.c:1348
#3  0x0040ebaa in do_info (mon=0x494c460, qdict=0xd95d0d8,
ret_data=0x22f048) at /home/roy/qemu/monitor.c:566
#4  0x0040e3f9 in monitor_call_handler (mon=0x494c460, cmd=0x589b78,
params=0x77bfc2e3)
    at /home/roy/qemu/monitor.c:3715
#5  0x00410423 in handle_user_command (mon=0x494c460,
cmdline=0x77c2f97c "\001") at /home/roy/qemu/monitor.c:3753
#6  0x004105ae in monitor_command_cb (mon=0x494c460, cmdline=0x494c8b8
"info pci", opaque=0x0)
    at /home/roy/qemu/monitor.c:4267
#7  0x004503bc in readline_handle_byte (rs=0x494c8b8, ch=13) at readline.c:369
#8  0x00410627 in monitor_read (opaque=0x494c460, buf=0x22f708 "\r",
size=1) at /home/roy/qemu/monitor.c:4253
#9  0x004698ea in qemu_chr_read (s=0x13b4c68, buf=0x22f708 "\r",
len=1) at qemu-char.c:154
#10 0x00451f3e in kbd_send_chars (opaque=0x494c358) at console.c:1130
#11 0x00452154 in kbd_put_keysym (keysym=13) at console.c:1183
#12 0x0047d0b5 in sdl_refresh (ds=0x4978030) at sdl.c:634
#13 0x00405c83 in gui_update (opaque=0x4978030) at /home/roy/qemu/console.h:219
#14 0x0040168d in qemu_run_timers (ptimer_head=0x5db4e8,
current_time=10819500) at /home/roy/qemu/vl.c:913
#15 0x00405bca in main_loop_wait (timeout=0) at /home/roy/qemu/vl.c:3793
#16 0x00408e2a in main (argc=1, argv=0x13b3f38, envp=0x4012f0) at
/home/roy/qemu/vl.c:3981


> 2. Reset your tree to commit 0a7fc983ce and send me the output of
>   'info pci'
>

info pci works in this rev.

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2010-02-04  1:39 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-31  8:28 [Qemu-devel] system_reset command cause assert failed Roy Tam
2010-02-01 12:17 ` Luiz Capitulino
2010-02-01 12:36   ` Roy Tam
2010-02-01 13:22     ` Luiz Capitulino
2010-02-01 13:42       ` Roy Tam
2010-02-01 16:02         ` Luiz Capitulino
2010-02-01 16:26           ` Roy Tam
2010-02-01 18:58             ` Luiz Capitulino
2010-02-02  1:35               ` Roy Tam
2010-02-02 12:58                 ` Luiz Capitulino
2010-02-03  2:09                   ` Roy Tam
2010-02-03 12:26                     ` Luiz Capitulino
2010-02-04  1:39                       ` Roy Tam
2010-02-01 16:33           ` Roy Tam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).