<< November 2010 | Home | January 2011 >>

mediastreamvalidator bug: Error number -12847, format reader file not recognized

Bookmark and Share

More and more recently I've been working with Apple's mediastreamvalidator, which (as the name implies) validates an MPEG-TS media stream from .m3u8 index files down to the codec and stream bitrate. While validating the streams produced by a project I am working on a few weeks ago, this ugly little bug popped up.

manoa:~ stu$ mediastreamvalidator validate http://media10.simplex.tv/content/2/270/11668/mpegts_256kb.m3u8
Validating http://media10.simplex.tv/content/2/270/11668/mpegts_256kb.m3u8 against iOS 4.0.1

ERROR: Invalid media segment: The validator helper exited due to a fatal error: failed to 
   create format reader: [errno: -12847] format reader file not recognized.
 71:    /content/2/270/11668/mpegts_256kb_33.ts
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ERROR: Invalid media segment: The validator helper exited due to a fatal error: failed to 
   create format reader: [errno: -12847] format reader file not recognized.
169:    /content/2/270/11668/mpegts_256kb_82.ts
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

WARNING: Media segment exceeds target duration by 30.240 % (6.98 vs. 10.00 seconds, limit is 20 %).
171:    /content/2/270/11668/mpegts_256kb_83.ts
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

WARNING: Media segment exceeds target duration by 100.533 % (6.02 vs. 3.00 seconds, limit is 20 %).
173:    /content/2/270/11668/mpegts_256kb_84.ts
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Average segment duration: 9.75 seconds
Average segment bitrate: 350.01 kbit/s
Average segment structural overhead: 33.33 kbit/s (9.52 %)

Video codec: avc1
Video resolution: 640x360 pixels
Video frame rate: 25.00 fps
Average video bitrate: 253.45 kbit/s
H.264 profile: Baseline
H.264 level: 3.0

Audio codec: aac 
Audio sample rate: 48000 Hz
Average audio bitrate: 63.23 kbit/s

The scary part in here is:

ERROR: Invalid media segment: The validator helper exited due to a fatal error: failed to 
   create format reader: [errno: -12847] format reader file not recognized.

Is the error due to a problem in my stream? Or is it the mediastreamvalidator tool itself? The tool even fails a self-test, which makes me suspect the tool over my stream as the cause. We need to know.

Despite misgivings about reporting bugs to the famously opaque Apple, I made the effort and created Apple Problem ID 8696703. To my utter shock, the contacted me because the

subversion-javahlbindings @1.6.15_0 breaks Eclipse Helios on OS X 10.6.5

...just trying to update my FFmpeg installation via MacPorts...
Bookmark and Share

Eclipse Helios + Subclipse LogosIn the name of updating FFmpeg 0.6 and x264, I ran sudo port update followed by sudo port upgrade outdated. During the MacPorts package update attempt, the message qt4-mac circular dependency issue. Do I need this? I think not. sudo port uninstall qt4-mac. Now I get the below with sudo port update outdated""subversion-javahlbindings requires the Java for Mac OS X Developer Package from Apple" with a link. So I go and download javadeveloper_10.6_10m3261.dmg and install it. Now Eclipse Helios crashes hard with:

Process:         eclipse [91658]
Path:            /Applications/eclipse 3.6 64-bit/Eclipse.app/Contents/MacOS/eclipse
Identifier:      org.eclipse.eclipse
Version:         3.6 (3.6)
Code Type:       X86-64 (Native)
Parent Process:  launchd [158]

Date/Time:       2010-12-19 14:16:07.802 +0100
OS Version:      Mac OS X 10.6.5 (10H574)
Report Version:  6

Interval Since Last Report:          803 sec
Crashes Since Last Report:           1
Per-App Interval Since Last Report:  32 sec
Per-App Crashes Since Last Report:   1
Anonymous UUID:                      27687175-028A-4397-88B6-654DD1A00809

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000008
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Application Specific Information:

Java information:
 Exception type: Bus Error (0xa) at pc=14a275eec

 Java VM: Java HotSpot(TM) 64-Bit Server VM (17.1-b03-307 mixed mode macosx-amd64)

...snip...

Java Threads:  ... snip...

VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None

...snip heap stats...

Virtual Machine Arguments:
JVM Args: -Dosgi.requiredJavaVersion=1.5 -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts 
  -XX:MaxPermSize=256m -Xms40m -Xmx384m -Xdock:icon=../Resources/Eclipse.icns 
  -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts 
Java Command: 
Launcher Type: generic
Physical Memory: Page Size = 4k, Total = 3968M, Free = 58M

Crash report sent to Apple the first time, but that is not going to resolve my current issues: no svn access from Eclipse. I've installed the latest Java For Mac OSX10.6 Update 4 from Apple, but that was not the problem. What did do the trick was activating the previous version subversion-javahlbindings.

~ stu$ sudo port activate subversion-javahlbindings @1.6.11_0
--->  Deactivating subversion-javahlbindings @1.6.15_0
--->  Activating subversion-javahlbindings @1.6.11_0
manoa:~ stu$

Being a good netizen, I've reported this to the maintainers on IRC. They've told me to chase it up with the Eclipse team, which I have with Eclipse Bugzilla bug #332920.


Update. Eclipse developer Alexander Gurov says on 1 February that the problem is with Subversion.

Looks that there are some incompatibility issues between Java part of version 1.6.12 in Subversive connector and binaries of version 1.6.15 or there is an issue in the binaries of version 1.6.15 itself.

Back the the SVN team? Nah...not interested in playing pingpong.

Read more...