Skip to content
This repository has been archived by the owner on Jan 21, 2021. It is now read-only.

cmplayer: ../ta/ta.c:333: ta_dbg_check_header: Assertion `h->canary == 0xD3ADB3EF' failed. #91

Closed
kahrkunne opened this issue Jun 6, 2014 · 12 comments

Comments

@kahrkunne
Copy link

CMplayer version: 0.8.13-1, lastest AUR package as far as I know

Steps to reproduce:

  • Start CMplayer
  • Open -> Open File OR Open Directory
  • Choose this file OR the directory of which this file is the first

CMplayer --debug output:
http://pastebin.com/4NJWAZUX

File does play in VLC, but there is no video, only sound. VLC gives the following output:

[0x7fd418cb57c8] vdpau generic error: no free surfaces
[0x7fd418002a88] avcodec decoder error: vlc_va_Get failed
[mpeg4 @ 0x7fd418cb5000] get_buffer() failed
[mpeg4 @ 0x7fd418cb5000] thread_get_buffer() failed
[mpeg4 @ 0x7fd418cb5000] get_buffer() failed (-1 (nil))

So maybe that'll help you diagnose what's wrong.

File plays just fine in mplayer and mpv, so I'm pretty sure this is a CMplayer bug and not an mpv one.
Problem does not occur with other files, not even other files from the same series.

Now this is particular! After some more testing, I've come to the conclusion that the issue only occurs when CMplayer is launched with --debug. So this bug only occurs on this specific file, and only when CMplayer is launched with --debug.

Here's a link: https://www.dropbox.com/s/0vjsn49zdwr6vve/%28B-A%29Great_Teacher_Onizuka_-_Lesson_01_%286F68CC7E%29.mkv. Just press the "Download" button at the top of the page. Note that piracy laws may prevent you from legally downloading this file, and that I'm not responsible for anything.

@bylee20
Copy link
Owner

bylee20 commented Jun 6, 2014

Can you try with cmplayer-git?(https://aur.archlinux.org/packages/cmplayer-git/)
It's not my package but you can try it to get latest git version.
Lots of bugs are fixed after 0.8.13, so your problem may be already fixed in latest git source.
If you still have problem with git version, please post gdb backtraces.

BTW, you may delete your uploaded file.

@kahrkunne
Copy link
Author

Problem still occurs.
As I'm not a C or C++ programmer, I have no idea how gdb works, and if you'll excuse me, I don't really feel like learning it now.

@bylee20
Copy link
Owner

bylee20 commented Jun 6, 2014

Oh, it's easy. First of all, run gdb cmplayer from terminal. Then you will see next at last line:

(gdb)

Just input run and options, that is,

(gdb) run --debug

and, push enter.
And make cmplayer crashed, then you input bt full:

(gdb) bt full

That's it. Now you've got the backtraces. Just please post the contents.

@kahrkunne
Copy link
Author

(gdb) cmplayer --debug
Undefined command: "cmplayer". Try "help".

I don't think it works how you think it does

@bylee20
Copy link
Owner

bylee20 commented Jun 6, 2014

Sorry, the contents updated. My first guidance was wrong!

@kahrkunne
Copy link
Author

(gdb) bt full
#0 0x00007fffee99ad67 in raise () from /usr/lib/libc.so.6
No symbol table info available.
#1 0x00007fffee99c118 in abort () from /usr/lib/libc.so.6
No symbol table info available.
#2 0x00007fffee993bdd in __assert_fail_base () from /usr/lib/libc.so.6
No symbol table info available.
#3 0x00007fffee993c92 in _assert_fail () from /usr/lib/libc.so.6
No symbol table info available.
#4 0x00000000004415f4 in ta_dbg_check_header (h=0x77800c) at ../ta/ta.c:333
No locals.
#5 0x00000000006845cb in ta_dbg_check_header (h=0x77800c) at ../ta/ta.c:136
No locals.
#6 get_header (ptr=ptr@entry=0x77804c) at ../ta/ta.c:77
h = 0x77800c
#7 ta_set_parent (ptr=ptr@entry=0x77804c, ta_parent=ta_parent@entry=0x108e770) at ../ta/ta.c:115
ch = 0x0
parent_eh =
#8 0x000000000068555f in ta_xsteal
(ta_parent=ta_parent@entry=0x108e770, ptr=0x77804c) at ../ta/ta_utils.c:301
No locals.
#9 0x00000000006499a7 in mpv_wait_event (ctx=0x108e450, timeout=0.0050000000000000001) at ../player/client.c:504
cmsg = 0x7fffc8005090
msg = 0x7fffcc274920
r =
event = 0x108e770
deadline = {tv_sec = 1402061956, tv_nsec = 141030645}
#10 0x00000000005e9b5c in PlayEngine::exec() ()
No symbol table info available.
#11 0x00007fffefb24fe3 in ?? () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#12 0x00007fffef541124 in start_thread () from /usr/lib/libpthread.so.0
No symbol table info available.
#13 0x00007fffeea504bd in clone () from /usr/lib/libc.so.6
No symbol table info available.

@kahrkunne
Copy link
Author

Some new developments!
Having switched to the git version, the bug is now reproducable without running it with the --debug flag. That is, I just tried to open the file and it crashed. Then I tried again, and now it plays but it looks garbled (see screenshot)
When using another player it doesn't look like this.
I've also pressed tab to show info in this screenshot, maybe that'll help you diagnose the problem.
messedupinfo

@bylee20
Copy link
Owner

bylee20 commented Jun 6, 2014

Thank you. I found an overflow in logging routine. At least, now I know the reason.
For the video quality, how about turning off hardware acceleration?

@kahrkunne
Copy link
Author

Yeah I noticed that too, that hardware acceleration is now on. It must be because I switched to the git version (all my settings are on default). I'll have to find the option for that I guess.

What a peculiar bug this was! A crash that only occurs on one specific file, and only if cmplayer is run with the --debug flag.

@kahrkunne
Copy link
Author

Oh dear! I'm having another problem.
I'm not sure whether it's related to this one though. Having finished episode 1 in another video player, I launched CMplayer, turned off hardware acceleration and started episode 2.
This time it didn't crash right away, but some time into the opening it crashed saying

"Qt Warning - invalid keysym: dead_actute" 
[OpenGL] Check OpenGL stuffs.
[OpenGL] Version: 4.4
[OpenGL] Available FBO texture format: OGL::RGBA16_UNorm
[OpenGL] Available FBO texture format: OGL::RGBA8_UNorm
[OpenGL] Available extensions: GL_ARB_texture_rg, GL_ARB_texture_float, GL_KHR_debug, GL_NV_vdpau_interop, GLX_EXT_swap_control, GLX_SGI_swap_control, GL_ARB_framebuffer_object
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_0_33
libva info: va_openDriver() returns 0
[Engine] Playback has been terminated by request
[Engine] Playback has been terminated by request
[1]    13170 segmentation fault (core dumped)  cmplayer

It crashes straight away with --debug (I thought this only happened on the previous file, but apparently it happens on this one too!)

and here's the gdb thing you might want:

GNU gdb (GDB) 7.7.1
Copyright (C) 2014 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 "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from cmplayer...done.
(gdb) run
Starting program: /usr/bin/cmplayer 
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffd9d68700 (LWP 13757)]
"Qt Warning - invalid keysym: dead_actute" 
[OpenGL] Check OpenGL stuffs.
[OpenGL] Version: 4.4
[OpenGL] Available FBO texture format: OGL::RGBA16_UNorm
[OpenGL] Available FBO texture format: OGL::RGBA8_UNorm
[OpenGL] Available extensions: GL_ARB_texture_rg, GL_ARB_texture_float, GL_KHR_debug, GL_NV_vdpau_interop, GLX_EXT_swap_control, GLX_SGI_swap_control, GL_ARB_framebuffer_object
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_0_33
libva info: va_openDriver() returns 0
[New Thread 0x7fffd3bd3700 (LWP 13761)]
[New Thread 0x7fffd33d2700 (LWP 13762)]
[New Thread 0x7fffd2052700 (LWP 13763)]
[New Thread 0x7fffd1851700 (LWP 13765)]
[New Thread 0x7fffc319e700 (LWP 13775)]
[New Thread 0x7fffc12ab700 (LWP 13838)]
[Thread 0x7fffc12ab700 (LWP 13838) exited]
[New Thread 0x7fffc12ab700 (LWP 13839)]
[New Thread 0x7fffc0aaa700 (LWP 13840)]
[New Thread 0x7fffb7fff700 (LWP 13841)]
[New Thread 0x7fffb77fe700 (LWP 13842)]
[New Thread 0x7fffb6ffd700 (LWP 13843)]
[New Thread 0x7fffb67fc700 (LWP 13844)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffc319e700 (LWP 13775)]
0x000000004009cf31 in ?? ()
(gdb) bt full
#0  0x000000004009cf31 in ?? ()
No symbol table info available.
#1  0x00007fffcdbead98 in ?? ()
No symbol table info available.
#2  0x00007fffb8dee010 in ?? ()
No symbol table info available.
#3  0x00007fffc319d4f0 in ?? ()
No symbol table info available.
#4  0x0000000000000032 in ?? ()
No symbol table info available.
#5  0x00007fffe3cc6ef6 in ?? () from /usr/lib/libnvidia-glcore.so.337.19
No symbol table info available.
#6  0x00007fffe3cd1816 in ?? () from /usr/lib/libnvidia-glcore.so.337.19
No symbol table info available.
#7  0x00007fffe3dd37f0 in ?? () from /usr/lib/libnvidia-glcore.so.337.19
No symbol table info available.
#8  0x00007fffe3db8d8a in ?? () from /usr/lib/libnvidia-glcore.so.337.19
No symbol table info available.
#9  0x00007fffe3dbc53a in ?? () from /usr/lib/libnvidia-glcore.so.337.19
No symbol table info available.
#10 0x00007fffe3dbcaf7 in ?? () from /usr/lib/libnvidia-glcore.so.337.19
No symbol table info available.
#11 0x00000000004bc94f in MpOsdItem::Data::draw(OpenGLFramebufferObject*, VideoImageCache<MpOsdBitmap> const&) ()
No symbol table info available.
#12 0x00000000004bc3e9 in MpOsdItem::draw(VideoImageCache<MpOsdBitmap> const&) ()
No symbol table info available.
#13 0x000000000049773a in VideoRendererItem::updateTexture(OpenGLTexture2D*) ()
No symbol table info available.
#14 0x00000000004f54f2 in HighQualityTextureItem::updateData(ShaderRenderItem<OGL::TextureVertex>::ShaderData*) ()
No symbol table info available.
#15 0x00000000004fb9e1 in ShaderRenderItem<OGL::TextureVertex>::updateMaterial(QSGMaterial*) ()
No symbol table info available.
#16 0x0000000000502757 in OpenGLDrawItem::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*) ()
No symbol table info available.
#17 0x00007ffff230d5c8 in QQuickWindowPrivate::updateDirtyNode(QQuickItem*) () from /usr/lib/libQt5Quick.so.5
No symbol table info available.
#18 0x00007ffff230e294 in QQuickWindowPrivate::updateDirtyNodes() () from /usr/lib/libQt5Quick.so.5
No symbol table info available.
#19 0x00007ffff230e2fb in QQuickWindowPrivate::syncSceneGraph() () from /usr/lib/libQt5Quick.so.5
No symbol table info available.
#20 0x00007ffff22ed04d in ?? () from /usr/lib/libQt5Quick.so.5
No symbol table info available.
#21 0x00007ffff22ed238 in ?? () from /usr/lib/libQt5Quick.so.5
No symbol table info available.
#22 0x00007ffff22ed958 in ?? () from /usr/lib/libQt5Quick.so.5
No symbol table info available.
#23 0x00007fffefb24fe3 in ?? () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#24 0x00007fffef541124 in start_thread () from /usr/lib/libpthread.so.0
No symbol table info available.
#25 0x00007fffeea504bd in clone () from /usr/lib/libc.so.6
No symbol table info available.

@bylee20
Copy link
Owner

bylee20 commented Jun 7, 2014

Okay, now I've updated the source. Please try the latest git source.
For the poor quality of image, have you tried without hardware accerleration?

@bylee20
Copy link
Owner

bylee20 commented Nov 14, 2014

No feedback. Close.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants