Re: Bend it like Beckham
Bj|rn Englund <[email protected]>
| Newsgroups | gmane.comp.video.ogle.user |
|---|---|
| Message-ID | <[email protected]> |
Tue Feb 24 2004, Toralf Lund wrote: > Anyhow, I've now finally been able to get some output from the debugger. > Call stack for each processes at the point where the hang occurs, is > included below. I'm not sure how useful this is, either, but perhaps you > could give me a hint about how I might continue debugging? Also, one > thing I do notice, is that all the processes seem to be waiting for a > message from someone. Could this be a classic deadlock situation? Most probable it is the navigator that doesn't know what to do so it doesn't do anything or because of a badly mastered dvd it waits for a nav block at the wrong offset. > > Apart from that, are you *really* sure you want to have that many > processes/individual programs? Yes :) I think you would be better off printing what the nav is doing. Where it jumps and what commands it sends to the demuxer. On badly mastered dvds it's not unusual that the nav request the next nav block a certain offset but there is no nav block there so the nav just waits forever for it. > ogle_nav: > (gdb) where > #0 0x40000c32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 > #1 0x404e0eb7 in poll () from /lib/tls/libc.so.6 > #2 0x401e9dcb in g_main_is_running () from /usr/lib/libglib-1.2.so.0 > #3 0x401e9685 in g_get_current_time () from /usr/lib/libglib-1.2.so.0 > #4 0x401e9af4 in g_main_run () from /usr/lib/libglib-1.2.so.0 > #5 0x400d76af in gtk_main () from /usr/lib/libgtk-1.2.so.0 > #6 0x0804ccb0 in main () > ^^^^^^^^^^^^^^^^^ This looks like the ogle_gui back trace not ogle_nav. > ogle_mpeg_ps: > (gdb) where > #0 0x002dec32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 > #1 0x00400693 in msgrcv () from /lib/tls/libc.so.6 > #2 0x00df4b3b in MsgNextEvent_internal (q=0x86dc008, > event_return=0xbfeb1030, > interruptible=0) at msgevents.c:255 > #3 0x00df4bcd in MsgNextEvent (q=0xfffffffc, event_return=0xfffffffc) > at msgevents.c:278 > #4 0x080492d1 in get_next_demux_q () > #5 0x086dc008 in ?? () > #6 0xbfeb1030 in ?? () > #7 0xbfeb41b8 in ?? () > #8 0x00df4c5e in MsgCheckEvent (q=0xbfeb1030, event_return=0xbfeb2070) > at msgevents.c:325 > #9 0x0804aa51 in pack () > #10 0x00000020 in ?? () > #11 0xbfeb2070 in ?? () the demuxer is waiting to get a new segment to demux > > ogle_mpeg_vs: > (gdb) where > #0 0x004f6c32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 > #1 0x008b7693 in msgrcv () from /lib/tls/libc.so.6 > #2 0x00136b3b in MsgNextEvent_internal (q=0x8c8ee38, > event_return=0xbff6ca60, > interruptible=0) at msgevents.c:255 > #3 0x00136bcd in MsgNextEvent (q=0xfffffffc, event_return=0xfffffffc) > at msgevents.c:278 > #4 0x08049acc in get_q () > #5 0xbff6ca60 in ?? () > #6 0x000007e0 in ?? () > #7 0x00000003 in ?? () > #8 0x00181398 in ?? () probably waiting for the next picture > ogle_vout: > (gdb) where > #0 0x00ba1c32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 > #1 0x00db3693 in msgrcv () from /lib/tls/libc.so.6 > #2 0x00440b3b in MsgNextEvent_internal (q=0x98cb008, > event_return=0xbff017d0, > interruptible=1) at msgevents.c:255 > #3 0x00440c00 in MsgNextEventInterruptible (q=0xfffffffc, > event_return=0xfffffffc) at msgevents.c:282 > #4 0x0804ebfe in get_next_picture_q_elem_id () > #5 0xbff017d0 in ?? () waiting for next picture /Björn