On 04/06/10 01:39, Axel Beckert wrote:
> Emilio Pozuelo Monfort wrote:
>> One with libxml2-dbg installed would be much more useful.
>
> Here it comes. Took more than a day this time.
>
> #0 0x00007ff5cda9aed5 in raise () from /lib/libc.so.6
> #1 0x00007ff5c69097f1 in nsProfileLock::FatalSignalHandler (signo=6) at
> nsProfileLock.cpp:212
> #2 <signal handler called>
> #3 0x00007ff5cda9aed5 in raise () from /lib/libc.so.6
> #4 0x00007ff5cda9c3f3 in abort () from /lib/libc.so.6
> #5 0x00007ff5cdad7388 in __libc_message () from /lib/libc.so.6
> #6 0x00007ff5cdadc928 in malloc_printerr () from /lib/libc.so.6
> #7 0x00007ff5d037fb75 in xmlFreeInputStream__internal_alias
> (input=0x11fb0b0) at parserInternals.c:1281
> #8 0x00007ff5d037fbc0 in xmlFreeParserCtxt__internal_alias (ctxt=0xd72ca0)
> at parserInternals.c:1694
> #9 0x00007ff5d03c3d95 in htmlDoRead (ctxt=0xd72ca0, URL=0x0, encoding=<value
> optimized out>, options=<value optimized out>, reuse=0) at HTMLparser.c:5975
> #10 0x00000000004330b3 in xhtml_extract (xml=0x7ff5bc03a380, xhtmlMode=<value
> optimized out>, defaultBase=0x0) at xml.c:117
It's crashing inside libxml2. htmlDoRead calls xmlFreeParserCtxt, which calls
xmlFreeInputStream on a loop:
while ((input = inputPop(ctxt)) != NULL) { /* Non consuming */
xmlFreeInputStream(input);
And then crashes on xmlFreeInputStream in:
if (input->buf != NULL)
xmlFreeParserInputBuffer(input->buf);
Or that's the line gdb points to, but looking at the stack it doesn't seem to
have entered xmlFreeParserInputBuffer, and the function has dereferenced input
many times before that, so I dunno what's going on. Maybe my gdb foo is way bad
:(
Maybe go to frame #14 and check the feed name. Maybe it's always crashing on the
same one.
Cheers,
Emilio
> #11 0x000000000043b264 in parse_item_tag (ctxt=0x7ff5bcfc1520,
> cur=0x7ff5bc03a380) at ns_content.c:42
> #12 0x000000000043d323 in parseRSSItem (ctxt=0x7ff5bcfc1520,
> cur=0x7ff5bc03a380) at rss_item.c:70
> #13 0x000000000043cbbf in rss_parse (ctxt=0x7ff5bcfc1520, cur=0x7ff5bc0399c0)
> at rss_channel.c:293
> #14 0x0000000000424986 in feed_parse (ctxt=0x7ff5bcfc1520) at feed.c:353
> #15 0x0000000000424b9c in feed_process_update_result (node=0x151f1c0,
> result=0x7ff5bc628480, flags=64) at feed.c:562
> #16 0x000000000042f21e in subscription_process_update_result
> (result=0x7ff5bc628480, user_data=0x7ff5bc8543e0, flags=64) at
> subscription.c:196
> #17 0x000000000042fd7a in update_process_result_idle_cb (user_data=<value
> optimized out>) at update.c:690
> #18 0x00007ff5ce30e7ab in g_main_context_dispatch () from
> /usr/lib/libglib-2.0.so.0
> #19 0x00007ff5ce311f7d in ?? () from /usr/lib/libglib-2.0.so.0
> #20 0x00007ff5ce31213b in g_main_context_iteration () from
> /usr/lib/libglib-2.0.so.0
> #21 0x00007ff5c6f9bb55 in nsBaseAppShell::DoProcessNextNativeEvent
> (this=0x2db2, mayWait=11698) at nsBaseAppShell.cpp:151
> #22 0x00007ff5c6f9bd06 in nsBaseAppShell::OnProcessNextEvent (this=0x8c8560,
> thr=0xa0c980, mayWait=0, recursionDepth=<value optimized out>) at
> nsBaseAppShell.cpp:278
> #23 0x00007ff5c7041925 in nsThread::ProcessNextEvent (this=0xa0c980,
> mayWait=0, result=0x7fffffffbc1c) at nsThread.cpp:497
> #24 0x00007ff5c701791e in NS_ProcessPendingEvents_P (thread=0xa0c980,
> timeout=20) at nsThreadUtils.cpp:180
> #25 0x00007ff5c6f9be28 in nsBaseAppShell::NativeEventCallback (this=0x8c8560)
> at nsBaseAppShell.cpp:121
> #26 0x00007ff5c6f88798 in nsAppShell::EventProcessorCallback (source=<value
> optimized out>, condition=<value optimized out>, data=0x8c8560) at
> nsAppShell.cpp:69
> #27 0x00007ff5ce30e7ab in g_main_context_dispatch () from
> /usr/lib/libglib-2.0.so.0
> #28 0x00007ff5ce311f7d in ?? () from /usr/lib/libglib-2.0.so.0
> #29 0x00007ff5ce3124ad in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
> #30 0x00007ff5d07f5837 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
> #31 0x0000000000431203 in main (argc=2, argv=0x7fffffffbfa8) at main.c:293
>
> Regards, Axel
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]