I get a Segfault 11 when I try to open any webm or mkv with 2.6 when it is compiled with clang on OSX. It does not happen with llvm-gcc. So I never reported it, but this has been happening since December. Because clang is more strict with C++ standards, this might be worth investigating. For my sample video, I'm using a webm I downloaded from Youtube of grapefruit sized hail.
Error Summary:
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000010
0x000000010a7b8799 in mkvHeader::addIndexEntry (this=0x106872200, track=1, parser=0x7fff5fbfd1c8, where=4331, size=4,
flags=0, timecodeMS=0) at /tmp/homebrew-avidemux3-2.6-LBre/avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp:208
208 Track->index.append(ix);
Steps to Reproduce:
Build avidemux in debug or release mode using clang-3.1.
Open this file (15MB): https://rapidshare.com/files/2220430436/OKC_Hail_5-10-2010.webm
Segfault 11 before it finishes loading during the
Matroska Images phase.
This occurs with avidemux and avidemux_cli, with or without OpenGL enabled.
Logfiles: I have pasted into several gists the following data:
- The MediaInfo for the video (https://gist.github.com/raw/2621168/58671cddb4bb6589a06b0fcbfcd65cd4d762e764/MediaInfo.txt)
- The Avidemux compile log building with clang in case there's a useful warning about incompatible pointers (https://gist.github.com/raw/2621168/637739fe86d190fa74e7f1a36c7c6f4fb80c61a8/Compile.log.txt)
- The Avidemux run log copied from the terminal when loading the video (https://gist.github.com/raw/2621168/75e0f5b19c62910d6f077cfc1ecd9e2c2a037571/Runtime.terminal.log.txt)
- The OSX Crash Report (https://gist.github.com/raw/2621168/baa0b68bb9538aa4d98b80222ce9f67ddcf6749e/OSX.CrashLog.txt)
- The gdb bt full with clang (https://gist.github.com/raw/2621168/a313afe7b41df96f7822361415b281e73d05c647/gdb.bt.full.clang.txt)
- The gdb bt full with llvm-gcc for comparison to see what it looks like when it works (https://gist.github.com/raw/2621168/a82fad84141e2c1e8a7ada4c8d3d76f094af7b25/gdb.bt.full.llvm.txt)
- The gdb disass $pc-32,$pc+32 (https://gist.github.com/raw/2621168/2442f2cac7c290ab05cc021ee5027723407d1584/gdb.disass.txt)
- The gdb info all-registers (https://gist.github.com/raw/2621168/8c240feaa08f87e161517dd72a97d266cf4644e9/gdb.info.all.registers.txt)
Okay, thanks for your help.
The sample did not get to github
the reply from raw.github.com is:
QuoteError: blob is too big
Guess you better use ... for now, free account leaves file for approx. 1 month on there.
I fixed the video url in my original post to use Rapidshare and tested it. The sha1 of that video is f8cf0c267bbbe59a053b50827a3974dc08a9af95
works here with gcc, let's see with clang
crash with clang
Seems to be related to templates
Thanks for checking. This may have some template info: http://clang.llvm.org/compatibility.html
Let me know if I can gather any more data.
Probably fixed
YES! Thanks for your time. It is always appreciated. I'm so glad I can now allow clang in my 2.6 formula. Even that smurfing swap U & V issue is gone in the last 10 commits or so. Great job!