Date: Mon, 06 Jun 2005 16:03:19 +0200 From: "=?iso-8859-15?Q?Jos=E9?= M. =?iso-8859-15?Q?Fandi=F1o?=" <freebsd@fadesa.es> To: FreeBSD-multimedia@FreeBSD.org Subject: debugging transcode Message-ID: <42A457A7.95A86273@fadesa.es>
next in thread | raw e-mail | index | archive | help
Hello, I was trying to convert a nuppelvideo stream to a more usable format, but transcode causes a segfault whith it. Running several tests it seems a problem with the audio processing of nuv files because "-x nuv,null" works and "-x nuv" doesn't. It's FreeBSD 5.4-RELEASE and transcode 1.0.0b3 from ports. > tcprobe -i dtv.nuv [tcprobe] NuppelVideo stream [tcprobe] summary for dtv.nuv, (*) = not default, 0 = not detected import frame size: -g 768x576 [720x576] (*) frame rate: -f 25.000 [25.000] frc=0 audio track: -a 0 [0] -e 44100,16,2 [48000,16,2] -n 0x1 [0x2000] (*) I was told by the transcode developers to get the cause of the segfault, since I'm not a programmer it's a little hard to me debug this. Until now I was able to get some stuff: > gdb /usr/local/bin/transcode ./transcode.core GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-marcel-freebsd"... Core was generated by `transcode'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/local/lib/libiconv.so.3...done. Loaded symbols for /usr/local/lib/libiconv.so.3 Reading symbols from /lib/libm.so.3...done. Loaded symbols for /lib/libm.so.3 Reading symbols from /lib/libz.so.2...done. Loaded symbols for /lib/libz.so.2 Reading symbols from /usr/local/lib/libxml2.so.5...done. Loaded symbols for /usr/local/lib/libxml2.so.5 Reading symbols from /usr/lib/libpthread.so.1...done. Loaded symbols for /usr/lib/libpthread.so.1 Reading symbols from /lib/libc.so.5...done. Loaded symbols for /lib/libc.so.5 Reading symbols from /usr/local/lib/transcode/import_nuv.so...done. Loaded symbols for /usr/local/lib/transcode/import_nuv.so Reading symbols from /usr/local/lib/transcode/export_lame.so...done. Loaded symbols for /usr/local/lib/transcode/export_lame.so Reading symbols from /usr/local/lib/transcode/export_ffmpeg.so...done. Loaded symbols for /usr/local/lib/transcode/export_ffmpeg.so Reading symbols from /usr/local/lib/libmp3lame.so.0...done. Loaded symbols for /usr/local/lib/libmp3lame.so.0 Reading symbols from /usr/local/lib/libavcodec.so...done. Loaded symbols for /usr/local/lib/libavcodec.so Reading symbols from /usr/local/lib/libfaac.so.0...done. Loaded symbols for /usr/local/lib/libfaac.so.0 Reading symbols from /usr/local/lib/libvorbis.so.3...done. Loaded symbols for /usr/local/lib/libvorbis.so.3 Reading symbols from /usr/local/lib/libvorbisenc.so.2...done. Loaded symbols for /usr/local/lib/libvorbisenc.so.2 Reading symbols from /usr/lib/libstdc++.so.4...done. Loaded symbols for /usr/lib/libstdc++.so.4 Reading symbols from /usr/local/lib/libmp4v2.so.0...done. Loaded symbols for /usr/local/lib/libmp4v2.so.0 Reading symbols from /usr/local/lib/libogg.so.5...done. Loaded symbols for /usr/local/lib/libogg.so.5 Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x282ec3cb in kse_thr_interrupt () at kse_thr_interrupt.S:2 2 RSYSCALL(kse_thr_interrupt) (gdb) (gdb) where full #0 0x282ec3cb in kse_thr_interrupt () at kse_thr_interrupt.S:2 No locals. #1 0x282db340 in sig_daemon (arg=0x0) at /usr/varios/src/lib/libpthread/thread/thr_sig.c:214 i = 129 ts = {tv_sec = 30, tv_nsec = 0} set = {__bits = {0, 0, 0, 0}} curkse = (struct kse *) 0x80a0100 #2 0x282e49b2 in kse_sched_single (kmbx=0x17f) at /usr/varios/src/lib/libpthread/thread/thr_kern.c:883 curkse = (struct kse *) 0x80a0100 curthread = (struct pthread *) 0x80a6200 ts = {tv_sec = 0, tv_nsec = 0} sigmask = {__bits = {0, 0, 0, 0}} i = 134897664 sigseqno = 0 level = 383 first = 1 #3 0x00000000 in ?? () No symbol table info available. thread number 2 is suspicious: (gdb) info threads * 8 LWP 100183 0x282ec3cb in kse_thr_interrupt () at kse_thr_interrupt.S:2 7 Thread 7 (runnable) avi_update_header (AVI=0xa43d000) at avilib.c:823 6 Thread 6 (LWP 100155) 0x282ec3ab in kse_release () at kse_release.S:2 5 Thread 5 (sleeping) 0x282e42b7 in _thr_sched_switch_unlocked (curthread=0x80a6400) at pthread_md.h:232 4 Thread 4 (sleeping) 0x282e42b7 in _thr_sched_switch_unlocked (curthread=0x80a6600) at pthread_md.h:232 3 Thread 3 (sleeping) 0x282e42b7 in _thr_sched_switch_unlocked (curthread=0x80a6800) at pthread_md.h:232 2 Thread 2 (runnable) 0x283dfc08 in resample_flow (flowi=0x284616c0 "", isamp=1764, flowo=0x284de6c0 "") at resample.c:866 1 Thread 1 (runnable) _ctx_start () at /usr/varios/src/lib/libc/i386/gen/_ctx_start.S:42 (gdb) thread 2 [Switching to thread 2 (Thread 2 (runnable))]#0 0x283dfc08 in resample_flow (flowi=0x284616c0 "", isamp=1764, flowo=0x284de6c0 "") at resample.c:866 866 { Current language: auto; currently c (gdb) info args flowi = 0x284616c0 "" isamp = 1764 flowo = 0x284de6c0 "" (gdb) l resample.c:864,890 864 865 int resample_flow(char *flowi, int isamp, char *flowo) 866 { 867 short *wordp, *iword, *oword; 868 LONG irbuf[MY_BUFSIZE/2]; 869 LONG ilbuf[MY_BUFSIZE/2]; 870 int osamp, osampdef, i; 871 872 iword=(short *)flowi; 873 oword=(short *)flowo; 874 osampdef=reffp->outinfo.rate>>2; 875 wordp=iword; 876 for (i=0; i<isamp; i++) { 877 irbuf[i]=(((LONG)wordp[i*2])<<16); 878 ilbuf[i]=(((LONG)wordp[i*2+1])<<16); 879 } 880 osamp=osampdef; 881 st_resample_flow(reffp, &irbuf, reffp->obuf, &isamp, &osamp); 882 osamp=osampdef; 883 st_resample_flow(leffp, &ilbuf, leffp->obuf, &isamp, &osamp); 884 wordp=oword; 885 for (i=0; i<osamp; i++) { 886 wordp[i*2]=(int)(reffp->obuf[i]>>16); 887 wordp[i*2+1]=(int)(leffp->obuf[i]>>16); 888 } 889 return(osamp); 890 } well, now I'm not sure about that I must to do. perhaps some experienced member of the list can tell me which is the next step. Thank you.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42A457A7.95A86273>