KasunWijesekara / cuberok

Automatically exported from code.google.com/p/cuberok
GNU General Public License v3.0
0 stars 0 forks source link

(ffmpeg) random segfault when seeking to end of track #53

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. на прогрессбаре кликнуть в самом конце 
трека

What is the expected output? What do you see instead?
Expected: will finish current track and play shuffle one or next one if 
shuffle disabled.
Got: segfault

Сегфолится не всегда, но часто.

What version of the product are you using? On what operating system?
Cuberok v 0.0.10
build: 10:08:58 Jun 16 2009
Qt: 4.5.1 X11
Current plugin: FFmpeg
Available plugins are:
Null engine
FFmpeg
GStreamer
Phonon
Linux name_no_new 2.6.27-gentoo-r8 #10 SMP Tue Apr 21 12:24:46 MSD 2009 
i686 Intel(R) Core(TM)2 Duo CPU E4500 @ 2.20GHz GenuineIntel GNU/Linux

Please provide any additional information below.

[mp3 @ 0x8e1e2f0]mdb:357, lastbuf:347 skipping granule 0
[mp3 @ 0x8e1e2f0]mdb:387, lastbuf:359 skipping granule 0
[mp3 @ 0x8e3c550]Header missing skipping one byte.
    Last message repeated 3777 times
[mp3 @ 0x8e3c550]incorrect frame size
[mp3 @ 0x8e3c550]Header missing skipping one byte.
    Last message repeated 180 times
[mp3 @ 0x8e3c550]incorrect frame size
[mp3 @ 0x8e3c550]Header missing skipping one byte.
    Last message repeated 68 times
[mp3 @ 0x8e3c550]incorrect frame size
[mp3 @ 0x8e3c550]Header missing skipping one byte.
    Last message repeated 201 times
[mp3 @ 0x8e3c550]incorrect frame size
[mp3 @ 0x8e3c550]Header missing skipping one byte.
    Last message repeated 3025 times
[mp3 @ 0x8e3c550]incorrect frame size
[mp3 @ 0x8e3c550]Header missing skipping one byte.
    Last message repeated 2929 times
[mp3 @ 0x8e3c550]incorrect frame size
[mp3 @ 0x8e3c550]Header missing skipping one byte.
*** glibc detected *** ./bin/cuberok: double free or corruption (!prev): 
0x08de7a70 ***
======= Backtrace: =========
/lib/libc.so.6[0xb6ee23e4]
/lib/libc.so.6(cfree+0x9c)[0xb6ee3d3c]
/usr/lib/libavformat.so.52(av_destruct_packet+0x13)[0xb6030143]
[0x80000000]
======= Memory map: ========
08048000-08187000 r-xp 00000000 08:06 1968969    /home/name_no/Stuff/
cuberok/bin/cuberok
08187000-08188000 r--p 0013e000 08:06 1968969    /home/name_no/Stuff/
cuberok/bin/cuberok
08188000-0818a000 rw-p 0013f000 08:06 1968969    /home/name_no/Stuff/
cuberok/bin/cuberok
08975000-08edf000 rw-p 08975000 00:00 0          [heap]
b1900000-b19f5000 rw-p b1900000 00:00 0
b19f5000-b1a00000 ---p b19f5000 00:00 0
b1aff000-b1b00000 ---p b1aff000 00:00 0
b1b00000-b2300000 rwxp b1b00000 00:00 0
b2300000-b23ff000 rw-p b2300000 00:00 0
b23ff000-b2400000 ---p b23ff000 00:00 0
b249b000-b24e1000 r--p 00000000 08:05 327016     /usr/share/fonts/
corefonts/arialbd.ttf
b24e1000-b24f1000 rw-s 00000000 00:08 1051164673  /SYSV0056a4d6 (deleted)
b24f1000-b2513000 r--p 00000000 08:05 351863     /usr/share/fonts/
corefonts/verdanab.ttf
b2513000-b2514000 ---p b2513000 00:00 0
b2514000-b2d14000 rwxp b2514000 00:00 0
b2d14000-b2d8f000 r-xp 00000000 08:05 2373339    /usr/lib/
libsqlite3.so.0.8.6
b2d8f000-b2d90000 r--p 0007a000 08:05 2373339    /usr/lib/
libsqlite3.so.0.8.6
b2d90000-b2d92000 rw-p 0007b000 08:05 2373339    /usr/lib/
libsqlite3.so.0.8.6
b2d9a000-b2daa000 rw-s 00000000 00:0f 799        /dev/snd/pcmC0D0p
b2daa000-b2dba000 rw-s 00000000 00:08 1051164673  /SYSV0056a4d6 (deleted)
b2dba000-b2dca000 rw-s 00000000 00:0f 799        /dev/snd/pcmC0D0p
b2dca000-b2de0000 r-xp 00000000 08:05 2360844    /usr/lib/gstreamer-0.10/
libgstalsa.so
b2de0000-b2de1000 r--p 00015000 08:05 2360844    /usr/lib/gstreamer-0.10/
libgstalsa.so
b2de1000-b2de2000 rw-p 00016000 08:05 2360844    /usr/lib/gstreamer-0.10/
libgstalsa.so
b2de2000-b2e36000 r-xp 00000000 08:05 2348060    /usr/lib/
liboil-0.3.so.0.3.0
b2e36000-b2e37000 r--p 00053000 08:05 2348060    /usr/lib/
liboil-0.3.so.0.3.0
b2e37000-b2e4e000 rw-p 00054000 08:05 2348060    /usr/lib/
liboil-0.3.so.0.3.0
b2e4e000-b2e50000 rw-p b2e4e000 00:00 0
b2e50000-b2e75000 r-xp 00000000 08:05 2348486    /usr/lib/
libgstcontroller-0.10.so.0.19.0
b2e75000-b2e76000 r--p 00024000 08:05 2348486    /usr/lib/
libgstcontroller-0.10.so.0.19.0
b2e76000-b2e77000 rw-p 00025000 08:05 2348486    /usr/lib/
libgstcontroller-0.10.so.0.19.0
b2e77000-b2e96000 r-xp 00000000 08:05 2349954    /usr/lib/
libgstaudio-0.10.so.0.16.0
b2e96000-b2e97000 r--p 0001e000 08:05 2349954    /usr/lib/
libgstaudio-0.10.so.0.16.0
b2e97000-b2e98000 rw-p 0001f000 08:05 2349954    /usr/lib/
libgstaudio-0.10.so.0.16.0
b2e9c000-b2ea4000 r-xp 00000000 08:05 2380178    /usr/lib/qt4/plugins/
sqldrivers/libqsqlite.so
b2ea4000-b2ea5000 r--p 00007000 08:05 2380178    /usr/lib/qt4/plugins/
sqldrivers/libqsqlite.so
b2ea5000-b2ea6000 rw-p 00008000 08:05 2380178    /usr/lib/qt4/plugins/
sqldrivers/libqsqlite.so
b2ea6000-b2eae000 r-xp 00000000 08:05 2363011    /usr/lib/gstreamer-0.10/
libgstautodetect.so
b2eae000-b2eaf000 r--p 00007000 08:05 2363011    /usr/lib/gstreamer-0.10/
libgstautodetect.so
b2eaf000-b2eb0000 rw-p 00008000 08:05 2363011    /usr/lib/gstreamer-0.10/
libgstautodetect.so
b2eb0000-b2ee5000 r-xp 00000000 08:05 2348214    /usr/lib/
libgstbase-0.10.so.0.19.0
b2ee5000-b2ee6000 r--p 00034000 08:05 2348214    /usr/lib/
libgstbase-0.10.so.0.19.0
b2ee6000-b2ee7000 rw-p 00035000 08:05 2348214    /usr/lib/
libgstbase-0.10.so.0.19.0
b2ee7000-b2f11000 r-xp 00000000 08:05 2348227    /usr/lib/gstreamer-0.10/
libgstcoreelements.so
b2f11000-b2f12000 r--p 0002a000 08:05 2348227    /usr/lib/gstreamer-0.10/
libgstcoreelements.so
b2f12000-b2f13000 rw-p 0002b000 08:05 2348227    /usr/lib/gstreamer-0.10/
libgstcoreelements.so
b2f13000-b2f14000 ---p b2f13000 00:00 0
b2f14000-b3714000 rwxp b2f14000 00:00 0
b371a000-b3724000 r-xp 00000000 08:05 2349913    /usr/lib/
libgstinterfaces-0.10.so.0.16.0
b3724000-b3725000 r--p 00009000 08:05 2349913    /usr/lib/
libgstinterfaces-0.10.so.0.16.0
b3725000-b3726000 rw-p 0000a000 08:05 2349913    /usr/lib/
libgstinterfАварийный останов (core dumped)

В корке мало полезной инфы (система собрана 
без дебага):
(gdb) bt
#0  0xb7fde424 in __kernel_vsyscall ()
#1  0xb6ea1650 in raise () from /lib/libc.so.6
#2  0xb6ea2e88 in abort () from /lib/libc.so.6
#3  0xb6edc5dd in ?? () from /lib/libc.so.6
#4  0x00000015 in ?? ()
#5  0xbfcf7ae4 in ?? ()
#6  0x00000400 in ?? ()
#7  0xb6f99b20 in ?? () from /lib/libc.so.6
#8  0x00000017 in ?? ()
#9  0xbfcfb13e in ?? ()
#10 0x0000000d in ?? ()
#11 0xb6f99b39 in ?? () from /lib/libc.so.6
#12 0x00000002 in ?? ()
#13 0xb6f99c18 in ?? () from /lib/libc.so.6
#14 0x00000021 in ?? ()
#15 0xb6f99b3d in ?? () from /lib/libc.so.6
#16 0x00000004 in ?? ()
#17 0xbfcf8013 in ?? ()
#18 0x00000008 in ?? ()
#19 0xb6f99b43 in ?? () from /lib/libc.so.6
#20 0x00000005 in ?? ()
#21 0x00000000 in ?? ()

Original issue reported on code.google.com by nomen.in...@gmail.com on 26 Jun 2009 at 7:23

GoogleCodeExporter commented 8 years ago
Однако засада.
У меня воспроизводятся даже две ошибки:
при хаотическом кликании в середине трека 
падает вызов av_read_frame, примерно раз из
десяти-двадцати
при кликании точно в конец трека падает 
вызов av_seek_frame, тоже не каждый раз, но чаще
ffmpeg у меня из svn r19089

Original comment by drmoriar...@gmail.com on 26 Jun 2009 at 8:18

GoogleCodeExporter commented 8 years ago
portage говорит, что у меня
media-video/ffmpeg-0.5-r1
media-libs/libsdl-1.2.13-r1

Original comment by nomen.in...@gmail.com on 26 Jun 2009 at 9:07

GoogleCodeExporter commented 8 years ago
Продолжая тему сегфолтов: выбираем плагин 
gstreamer (или другой), запускаем 
воспроизведение, выбираем плагин ffmpeg, 
нажимаем кнопку play/payse - cuberok падает.
В обратную сторону не падает.

(gdb) bt
#0  0xb6168577 in av_read_play () from /usr/lib/libavformat.so.52
#1  0x082360b8 in ?? ()
#2  0x00000007 in ?? ()
#3  0xbfc54e98 in ?? ()
#4  0xb6879cbf in PlayerFfmpeg::setPause () from /home/combine/usr/lib/cuberok/
libplayer_ffmpeg.so
#5  0x080d6259 in ?? ()
#6  0x080d8c60 in ?? ()
#7  0x0810e955 in ?? ()
#8  0xb7308750 in QMetaObject::activate () from /usr/lib/qt4/libQtCore.so.4
#9  0xb7308955 in QMetaObject::activate () from /usr/lib/qt4/libQtCore.so.4
#10 0xb77bc5b0 in QAction::triggered () from /usr/lib/qt4/libQtGui.so.4
#11 0xb77bd623 in QAction::activate () from /usr/lib/qt4/libQtGui.so.4
#12 0xb7bb553d in QToolButton::nextCheckState () from /usr/lib/qt4/libQtGui.so.4
#13 0xb7af8ada in ?? () from /usr/lib/qt4/libQtGui.so.4
#14 0x082360b8 in ?? ()
#15 0xb7e1cff4 in ?? () from /usr/lib/qt4/libQtGui.so.4
#16 0xbfc55098 in ?? ()
#17 0xb72f5731 in QBasicTimer::stop () from /usr/lib/qt4/libQtCore.so.4
#18 0xb7af8d07 in QAbstractButton::mouseReleaseEvent () from /usr/lib/qt4/
libQtGui.so.4
#19 0xb7bb594b in QToolButton::mouseReleaseEvent () from 
/usr/lib/qt4/libQtGui.so.4
#20 0xb780be0c in QWidget::event () from /usr/lib/qt4/libQtGui.so.4
#21 0xb7af7cd6 in QAbstractButton::event () from /usr/lib/qt4/libQtGui.so.4
#22 0xb7bb7e89 in QToolButton::event () from /usr/lib/qt4/libQtGui.so.4
#23 0xb77c1b78 in QApplicationPrivate::notify_helper () from /usr/lib/qt4/
libQtGui.so.4
#24 0xb77c98fb in QApplication::notify () from /usr/lib/qt4/libQtGui.so.4
#25 0xb72f6f72 in QCoreApplication::notifyInternal () from /usr/lib/qt4/
libQtCore.so.4
#26 0xb77ca5a4 in QApplicationPrivate::sendMouseEvent () from /usr/lib/qt4/
libQtGui.so.4
#27 0xb78220c5 in ?? () from /usr/lib/qt4/libQtGui.so.4
#28 0x082360b8 in ?? ()
#29 0xbfc554d0 in ?? ()
#30 0x082360b8 in ?? ()
#31 0xbfc56c84 in ?? ()
#32 0xb7e1fa40 in ?? () from /usr/lib/qt4/libQtGui.so.4
#33 0xb7e1fa44 in ?? () from /usr/lib/qt4/libQtGui.so.4
#34 0xbfc5560c in ?? ()
---Type <return> to continue, or q <return> to quit---
#35 0xb74ae63f in _X11TransRead () from /usr/lib/libX11.so.6
#36 0x081af4a0 in ?? ()
#37 0x00000253 in ?? ()
#38 0x082323e8 in ?? ()
#39 0x00000003 in ?? ()
#40 0x00000001 in ?? ()
#41 0xbfc554f4 in ?? ()
#42 0x00000020 in ?? ()
#43 0xb77c6514 in QApplication::style () from /usr/lib/qt4/libQtGui.so.4
#44 0xb782041c in QApplication::x11ProcessEvent () from 
/usr/lib/qt4/libQtGui.so.4
#45 0xb7844213 in ?? () from /usr/lib/qt4/libQtGui.so.4
#46 0xbfc56e8c in ?? ()
#47 0xbfc5698c in ?? ()
#48 0x000001b8 in ?? ()
#49 0xb739bff4 in ?? () from /usr/lib/qt4/libQtCore.so.4
#50 0x0818c0b0 in ?? ()
#51 0xb71c93a7 in clock_gettime () from /lib/librt.so.1
#52 0xb7125fe1 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0

Original comment by nomen.in...@gmail.com on 30 Jun 2009 at 3:50

GoogleCodeExporter commented 8 years ago
This issue was closed by r251.

Original comment by drmoriar...@gmail.com on 10 Jul 2009 at 6:14

GoogleCodeExporter commented 8 years ago
Лечил одну багу а пофиксил другую :-)
По крайней мере теперь виснуть и падать не 
должно

Original comment by drmoriar...@gmail.com on 10 Jul 2009 at 6:15

GoogleCodeExporter commented 8 years ago
Как бы не так :-)

Revision: 251
Если делать seek (несколько раз, замеченный 
максимум - восемь) в самый конец трека:

*** glibc detected *** ./bin/cuberok: double free or corruption (!prev): 
0xb2209a10 
***
======= Backtrace: =========
/lib/libc.so.6[0xb6e3a714]
/lib/libc.so.6(cfree+0x9c)[0xb6e3bfcc]
/usr/lib/libavformat.so.52(av_destruct_packet+0x13)[0xb5edb143]
[0x80000000]

(gdb) bt
#0  0xb7f89424 in __kernel_vsyscall ()
#1  0xb6df9660 in raise () from /lib/libc.so.6
#2  0xb6dfae98 in abort () from /lib/libc.so.6
#3  0xb6e3483d in ?? () from /lib/libc.so.6
#4  0x00000017 in ?? ()
#5  0xb21fec24 in ?? ()
#6  0x00000400 in ?? ()
#7  0xb6ef4da8 in ?? () from /lib/libc.so.6
#8  0x00000017 in ?? ()
#9  0xbfea7142 in ?? ()
#10 0x0000000d in ?? ()
#11 0xb6ef4dc1 in ?? () from /lib/libc.so.6
#12 0x00000002 in ?? ()
#13 0xb6ef4ea0 in ?? () from /lib/libc.so.6
#14 0x00000021 in ?? ()
#15 0xb6ef4dc5 in ?? () from /lib/libc.so.6
#16 0x00000004 in ?? ()
#17 0xb21ff153 in ?? ()
#18 0x00000008 in ?? ()
#19 0xb6ef4dcb in ?? () from /lib/libc.so.6
#20 0x00000005 in ?? ()
#21 0xb7043020 in ftrylockfile () from /lib/libpthread.so.0
#22 0xb6e3a714 in ?? () from /lib/libc.so.6
#23 0x00000002 in ?? ()
#24 0xb6ef4da8 in ?? () from /lib/libc.so.6
#25 0xbfea7142 in ?? ()
#26 0xb6ef4ea0 in ?? () from /lib/libc.so.6
#27 0xb21ff153 in ?? ()
#28 0xb6ef4ea0 in ?? () from /lib/libc.so.6
#29 0x621ff188 in ?? ()
#30 0x39303232 in ?? ()
#31 0x00303161 in ?? ()
#32 0xb6f0dff4 in ?? () from /lib/libc.so.6
---Type <return> to continue, or q <return> to quit---
#33 0xb2200010 in ?? ()
#34 0x00000001 in ?? ()
#35 0xb21ff188 in ?? ()
#36 0xb6e3bfcc in free () from /lib/libc.so.6
Backtrace stopped: frame did not save the PC

Original comment by nomen.in...@gmail.com on 10 Jul 2009 at 6:43