>From stepping through it looks like the problem is that end is null on this line? ( tcdemux.c:218 ; the code appears to be exactly the same in hg ) I can't see end being set anywhere, so I don't understand how this is meant to work.
Michael On Friday 09 April 2010 07:32:32 Michael Donaghy wrote: > I'm happy to try and reproduce against CVS, but CVS doesn't seem to be > there? In transcode 1.1.5 I'm getting a segfault if I try and run tcdemux > with any -A option. (-A and nothing else gets a help message, but -A and > then any string appears to trigger the segfault) Obviously this happens > when giving it a file and so forth, but it happens even with no other > options given: > > md...@arcueid ~ $ gdb -q tcdemux > Reading symbols from /usr/bin/tcdemux...Reading symbols from > /usr/lib64/debug/usr/bin/tcdemux.debug...done. > done. > (gdb) run -A 0x80 -q 2 > Starting program: /usr/bin/tcdemux -A 0x80 -q 2 > warning: no loadable sections found in added symbol-file > /usr/lib64/debug/lib64/ld-2.11.so.debug > warning: no loadable sections found in added symbol-file > /usr/lib64/debug/usr/lib64/libdv.so.4.0.3.debug > warning: no loadable sections found in added symbol-file > /usr/lib64/debug/usr/lib64/libdvdread.so.4.1.2.debug > [Thread debugging using libthread_db enabled] > > Program received signal SIGSEGV, Segmentation fault. > 0x00007ffff71b9dc2 in ____strtoll_l_internal () from /lib/libc.so.6 > (gdb) where > #0 0x00007ffff71b9dc2 in ____strtoll_l_internal () from /lib/libc.so.6 > #1 0x0000000000402e01 in main (argc=5, argv=0x7fffffffd638) at > tcdemux.c:218 (gdb) bt full > #0 0x00007ffff71b9dc2 in ____strtoll_l_internal () from /lib/libc.so.6 > No symbol table info available. > #1 0x0000000000402e01 in main (argc=5, argv=0x7fffffffd638) at > tcdemux.c:218 ipipe = {fd_in = 0, fd_out = 0, magic = 0, track = 0, stype > = 0, codec = 0, verbose = 0, dvd_title = 0, dvd_chapter = 0, dvd_angle = > 0, vob_offset = 0, ps_unit = 0, ps_seq1 = 0, > ps_seq2 = 0, ts_pid = 0, seek_allowed = 0, demux = 0, select = 0, > subid = 0, keep_seq = 0, fps = 0, fd_log = 0, name = 0x0, nav_seek_file = > 0x0, probe = 0, factor = 0, > probe_info = 0x0, quality = 0, error = 0, frame_limit = {0, 0, > 0}, hard_fps_flag = 0} > ch = 65 > n = -10976 > user = 0 > demux_mode = 1 > npass = 0 > pass = 0x0 > new_pass = 0x0 > keep_initial_seq = 0 > hard_fps_flag = 0 > pack_sl = -1 > unit_seek = 0 > resync_seq1 = 0 > resync_seq2 = 2147483647 > a_track = 0 > v_track = 0 > subid = 128 > fps = 25 > stream_stype = 0 > stream_codec = 0 > stream_magic = 0 > x = 4200563 > magic = 0x4384dc "" > codec = 0x0 > name = 0x0 > logfile = 0x4384dd "sync.log" > str = 0x0 > end = 0x0 > (gdb) disass $pc-32 $pc+32 > A syntax error in expression, near `$pc+32'. > > Many thanks for any help, > > Michael