Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: Cutting recordings hangs vdr 1.3.x



* Stefan Huelswitt <s.huelswitt@gmx.de> [040209 19:19]:

Could you please leave vdr hanging, open another console, find
out about VDR PID and enter "gdb vdr PID". Inside gdb enter "bt"
to find at which positions VDR stopped.

You have to enter "bt" for every VDR thread. From memory:

"info threads" to see which threads are there
"thread x" to select a thread
"bt" to display backtrace for selected thread
All right, with an nptl glibc I have problems again, evrything else
being the same.
However, after reading some suggestions on this thread, I waited a
little longer before killing vdr and saw that it eventually moves the
mark point, only that it takes ages.

I've compiled vdr with DBG=1 and '-g' added to CFLAGS, yet since I do
not have all the loaded libraries with debugging symbols, I don't know
how informative this might be.
Anyway, when compiled with debugging symbols enabled I only see two vdr
threas, as opposed to the ~4 which I seem to remember without them.
I did run gdb on both threads:

vdr # gdb --pid=10478
GNU gdb 6.0
Copyright 2003 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 "i686-pc-linux-gnu".
Attaching to process 10478
Reading symbols from /bin/su...(no debugging symbols found)...done.
Using host libthread_db library "/lib/libthread_db.so.1".
Reading symbols from /usr/lib/libmisc.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libmisc.so.0
Reading symbols from /usr/lib/libshadow.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libshadow.so.0
Reading symbols from /lib/libcrypt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /usr/lib/libcrack.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libcrack.so.2
Reading symbols from /lib/libpam.so.0...(no debugging symbols found)...done.
Loaded symbols for /lib/libpam.so.0
Reading symbols from /lib/libpam_misc.so.0...(no debugging symbols found)...done.
Loaded symbols for /lib/libpam_misc.so.0
Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/ld-linux.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/security/pam_rootok.so...(no debugging symbols found)...done.
Loaded symbols for /lib/security/pam_rootok.so
Reading symbols from /lib/security/pam_wheel.so...(no debugging symbols found)...done.
Loaded symbols for /lib/security/pam_wheel.so
Reading symbols from /lib/security/pam_stack.so...(no debugging symbols found)...done.
Loaded symbols for /lib/security/pam_stack.so
Reading symbols from /lib/security/pam_xauth.so...(no debugging symbols found)...done.
Loaded symbols for /lib/security/pam_xauth.so
Reading symbols from /lib/security/pam_deny.so...(no debugging symbols found)...done.
Loaded symbols for /lib/security/pam_deny.so
Reading symbols from /lib/security/pam_env.so...(no debugging symbols found)...done.
Loaded symbols for /lib/security/pam_env.so
Reading symbols from /lib/security/pam_unix.so...(no debugging symbols found)...done.
Loaded symbols for /lib/security/pam_unix.so
Reading symbols from /lib/libnsl.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/security/pam_cracklib.so...(no debugging symbols found)...done.
Loaded symbols for /lib/security/pam_cracklib.so
Reading symbols from /lib/security/pam_limits.so...(no debugging symbols found)...done.
Loaded symbols for /lib/security/pam_limits.so
Reading symbols from /lib/libnss_compat.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libnss_compat.so.2
Reading symbols from /lib/libnss_nis.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libnss_nis.so.2
Reading symbols from /lib/libnss_files.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libnss_files.so.2
0xffffe410 in ?? ()
(gdb) bt
#0  0xffffe410 in ?? ()
#1  0xbffff138 in ?? ()
#2  0x00000002 in ?? ()
#3  0xbffff00c in ?? ()
#4  0x4be17093 in waitpid () from /lib/libc.so.6
#5  0x0804a2f8 in ?? ()
#6  0xffffffff in ?? ()
#7  0xbffff00c in ?? ()
#8  0x00000002 in ?? ()
#9  0xbffff044 in ?? ()
#10 0xbffff028 in ?? ()
#11 0x4bddfed5 in _IO_list_resetlock () from /lib/libc.so.6
#12 0x080593a0 in ?? ()
#13 0x0804a660 in ?? ()
(gdb) quit
The program is running.  Quit anyway (and detach it)? (y or n) y
Detaching from program: /bin/su, process 10478


vdr # gdb --pid=10480
GNU gdb 6.0
Copyright 2003 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 "i686-pc-linux-gnu".
Attaching to process 10480
Reading symbols from /usr/local/bin/vdr...done.
Using host libthread_db library "/lib/libthread_db.so.1".
Reading symbols from /usr/lib/libjpeg.so.62...done.
Loaded symbols for /usr/lib/libjpeg.so.62
Reading symbols from /lib/libpthread.so.0...done.
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/libstdc++.so.5...done.
Loaded symbols for /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/libstdc++.so.5
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/libgcc_s.so.1...done.
Loaded symbols for /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/libgcc_s.so.1
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /usr/src/vdr/PLUGINS/lib/libvdr-analogtv.so.1.3.4...done.
Loaded symbols for /usr/src/vdr/PLUGINS/lib/libvdr-analogtv.so.1.3.4
Reading symbols from /usr/src/vdr/PLUGINS/lib/libvdr-mplayer.so.1.3.4...done.
Loaded symbols for /usr/src/vdr/PLUGINS/lib/libvdr-mplayer.so.1.3.4
Reading symbols from /usr/src/vdr/PLUGINS/lib/libvdr-mp3.so.1.3.4...done.
Loaded symbols for /usr/src/vdr/PLUGINS/lib/libvdr-mp3.so.1.3.4
Reading symbols from /lib/libz.so.1...done.
Loaded symbols for /lib/libz.so.1
Reading symbols from /usr/lib/libmad.so.0...done.
Loaded symbols for /usr/lib/libmad.so.0
Reading symbols from /usr/lib/libid3tag.so.0...done.
Loaded symbols for /usr/lib/libid3tag.so.0
Reading symbols from /usr/lib/libsndfile.so.1...done.
Loaded symbols for /usr/lib/libsndfile.so.1
Reading symbols from /usr/lib/libvorbisfile.so.3...done.
Loaded symbols for /usr/lib/libvorbisfile.so.3
Reading symbols from /usr/lib/libvorbis.so.0...done.
Loaded symbols for /usr/lib/libvorbis.so.0
Reading symbols from /usr/lib/libogg.so.0...done.
Loaded symbols for /usr/lib/libogg.so.0
Reading symbols from /usr/src/vdr/PLUGINS/lib/libvdr-dvd.so.1.3.4...done.
Loaded symbols for /usr/src/vdr/PLUGINS/lib/libvdr-dvd.so.1.3.4
Reading symbols from /usr/lib/libdvdnav.so.0...done.
Loaded symbols for /usr/lib/libdvdnav.so.0
Reading symbols from /usr/lib/liba52.so.0...done.
Loaded symbols for /usr/lib/liba52.so.0
Reading symbols from /usr/src/vdr/PLUGINS/lib/libvdr-osdpip.so.1.3.4...done.
Loaded symbols for /usr/src/vdr/PLUGINS/lib/libvdr-osdpip.so.1.3.4
Reading symbols from /usr/lib/libavcodec.so...done.
Loaded symbols for /usr/lib/libavcodec.so
Reading symbols from /usr/lib/libmp3lame.so.0...done.
Loaded symbols for /usr/lib/libmp3lame.so.0
Reading symbols from /usr/lib/libvorbisenc.so.2...done.
Loaded symbols for /usr/lib/libvorbisenc.so.2
Reading symbols from /usr/src/vdr/PLUGINS/lib/libvdr-vdrrip.so.1.3.4...done.
Loaded symbols for /usr/src/vdr/PLUGINS/lib/libvdr-vdrrip.so.1.3.4
Reading symbols from /usr/src/vdr/PLUGINS/lib/libvdr-vdrcd.so.1.3.4...done.
Loaded symbols for /usr/src/vdr/PLUGINS/lib/libvdr-vdrcd.so.1.3.4
Reading symbols from /usr/src/vdr/PLUGINS/lib/libvdr-prefermenu.so.1.3.4...done.
Loaded symbols for /usr/src/vdr/PLUGINS/lib/libvdr-prefermenu.so.1.3.4
Reading symbols from /usr/src/vdr/PLUGINS/lib/libvdr-pilot.so.1.3.4...done.
Loaded symbols for /usr/src/vdr/PLUGINS/lib/libvdr-pilot.so.1.3.4
Reading symbols from /usr/src/vdr/PLUGINS/lib/libvdr-image.so.1.3.4...done.
Loaded symbols for /usr/src/vdr/PLUGINS/lib/libvdr-image.so.1.3.4
Reading symbols from /usr/src/vdr/PLUGINS/lib/libvdr-audiocd.so.1.3.4...done.
Loaded symbols for /usr/src/vdr/PLUGINS/lib/libvdr-audiocd.so.1.3.4
Reading symbols from /usr/lib/libcdaudio.so.1...done.
Loaded symbols for /usr/lib/libcdaudio.so.1
Reading symbols from /usr/lib/gconv/ISO8859-15.so...done.
Loaded symbols for /usr/lib/gconv/ISO8859-15.so
0xffffe410 in ?? ()
(gdb) bt
#0  0xffffe410 in ?? ()
#1  0xbff7efe8 in ?? ()
#2  0x00000002 in ?? ()
#3  0x4bfc7a5b in siglongjmp () from /lib/libpthread.so.0
(gdb) quit
The program is running.  Quit anyway (and detach it)? (y or n) y
Detaching from program: /usr/local/bin/vdr, process 10480


After vdr moved the mark point and showed the new frame on TV, I btraced
again but it had not moved.

I can certainly say that the nptl in glibc was the only difference.
Unlike anyting else on the system, which feels more responsive, when
running many tasks simultaneously, with nptl enabled, vdr just stagnates
there forever.

I'll keep nptl-enabled glibc ATM, if you want me to go on something
else, please tell.


--
Javier Marcet <javier@marcet.info>


--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index