Hello,

I finally managed to solve the problem with dvgrab/kino
segfaulting. It is obviously *not* a problem with kino/dvgrab itself
but with the libiec61883-library:

This is the segfault which happens with version 1.1.0 of libiec61883:


[EMAIL PROTECTED]:/raid/capture> gdb --args dvgrab -showstatus -s 0 newyork
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show
copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
(gdb) run
Starting program: /usr/local/bin/dvgrab -showstatus -s 0 newyork
[Thread debugging using libthread_db enabled]
Found AV/C device with GUID 0x0800460102e6c66d
[New Thread 0xb7c5a6c0 (LWP 25047)]
[New Thread 0xb12b3b90 (LWP 25051)]
[New Thread 0xb0a11b90 (LWP 25052)]
Warning: Cannot set RR-scheduler
Warning: Cannot disable swapping
Capture Started
"newyork001.dv":    33.78 MiB   246 frames timecode 45:85:85.45 date
2008.10.19 15:49:15
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb0a11b90 (LWP 25052)]
0x78787868 in ?? ()
(gdb) thread apply all bt

Thread 3 (Thread 0xb0a11b90 (LWP 25052)):
#0  0x78787868 in ?? ()
#1  0xb7f445af in dv_fb_recv (data=0xb0a2d610 "\037\a", len=480,
dropped=0, callback_data=0xb0a8f008) at dv.c:297
#2  0xb7f44ab7 in dv_recv_handler (handle=0xa6e0e88, data=0xb0a2d608
"",
len=488, channel=63 '?', tag=1 '\001', sy=0 '\0', cycle=1937,
dropped=0) at
dv.c:220
#3  0xb7f57b3a in _raw1394_iso_recv_packets (handle=0xa6e0e88) at
iso.c:543
#4  0xb7f57cc8 in _raw1394_iso_iterate (handle=0xa6e0e88) at iso.c:602
#5  0xb7f55a2f in raw1394_loop_iterate (handle=0xa6e0e88) at
eventloop.c:92
#6  0x0806c960 in iec61883Reader::Thread (this=0xb7759008) at
ieee1394io.cc:573
#7  0xb7edf4c0 in start_thread () from /lib/i686/cmov/libpthread.so.0
#8  0xb7d3c55e in clone () from /lib/i686/cmov/libc.so.6

Thread 2 (Thread 0xb12b3b90 (LWP 25051)):
#0  0xb7f7f424 in __kernel_vsyscall ()
#1  0xb7ee3025 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/i686/cmov/libpthread.so.0
#2  0x0806e7a2 in IEEE1394Reader::WaitForAction (this=0xb7759008,
seconds=0) at ieee1394io.cc:244
#3  0x080560ce in DVgrab::captureThreadRun (this=0xbfb9aab8) at
dvgrab.cc:962
#4  0x08056621 in DVgrab::captureThread (arg=0xbfb9aab8) at
dvgrab.cc:787
#5  0xb7edf4c0 in start_thread () from /lib/i686/cmov/libpthread.so.0
#6  0xb7d3c55e in clone () from /lib/i686/cmov/libc.so.6

Thread 1 (Thread 0xb7c5a6c0 (LWP 25047)):
#0  0xb7f7f424 in __kernel_vsyscall ()
#1  0xb7ee68b6 in nanosleep () from /lib/i686/cmov/libpthread.so.0
#2  0x08054e67 in DVgrab::done (this=0xbfb9aab8) at dvgrab.cc:1290
#3  0x0806f609 in main (argc=5, argv=Cannot access memory at address
0x4
) at main.cc:132
#0  0x78787868 in ?? ()
(gdb) 


This is the output of gdb/dvgrab with libiec61883, version 1.3.0 (from
svn):


[EMAIL PROTECTED]:/raid/capture> gdb --args dvgrab -showstatus -s 0 newyork
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show
copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
(gdb) run
Starting program: /usr/local/bin/dvgrab -showstatus -s 0 newyork
[Thread debugging using libthread_db enabled]
Found AV/C device with GUID 0x0800460102e6c66d
[New Thread 0xb7c8f6c0 (LWP 31196)]
[New Thread 0xb12e8b90 (LWP 31199)]
[New Thread 0xb0a46b90 (LWP 31200)]
Warning: Cannot set RR-scheduler
Warning: Cannot disable swapping
Capture Started
                                                                          
     16:22:17
"newyork001.dv": buffer underrun near: timecode 45:85:85.45 date
????.??.?? ??:??:??
This error means that the frames could not be written fast enough.
                                                                          
     16:22:17
"newyork001.dv": buffer underrun near: timecode 45:85:85.45 date
????.??.?? ??:??:??
This error means that the frames could not be written fast enough.
"newyork001.dv":    56.72 MiB   413 frames timecode 45:85:85.45 date
2008.10.19 16:22:24^C
Program received signal SIGINT, Interrupt.
[Switching to Thread 0xb7c8f6c0 (LWP 31196)]
0xb7fb4424 in __kernel_vsyscall ()
(gdb) quit
The program is running.  Exit anyway? (y or n) y
[EMAIL PROTECTED]:/raid/capture> 

(I cancelled the grabbing with CTRL-C, since dvgrab never segfaulted
anymore at the suspect part of the tape).

Please close this bug, I report the bug to the libiec61883-package.


Regards,


Adrian



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to