Troubleshooting Tips

 


FMJ and JMF classpath warnings

Cannot find a DataSource for: civil ...
 
WARNING: net.sf.fmj not found in PackageManager.getContentPrefixList() and PackageManager.getProtocolPrefixList(); is JMF ahead of FMJ in the classpath?
 
WARNING: javax.media.Manager is JMF's implementation, not FMJ's; is JMF ahead of FMJ in the classpath?

One very common problem is to have JMF ahead of FMJ in the classpath. If this is the case, then you will be using the JMF registry, in which case nothing from FMJ will be registered. The FMJ applications will generally work (that is, you'll be able to open and play media, etc.), but anything that requires FMJ will not work. The FMJ apps will output a warning to the logger (which generally goes to the console) if this is the case.

To aid with troubleshooting, it is recommended that you change your logging.properties (in the root directory of FMJ bundle) to use debug-level logging. To do so, change fmj.level=INFO to fmj.level=FINE.

 


java.lang.UnsatisfiedLinkError (jdshow)

WARNING: java.lang.UnsatisfiedLinkError: [...]\jdshow.dll: Can't find dependent libraries

jawt.dll probably is not in your PATH. See platform-specific notes for Windows.

 


java.lang.UnsatisfiedLinkError (JNA)

Note : you will only get this error for the first JNA-based plugin that is loaded, the other ones will fail with a different exception, which by default does not get logged.

java.lang.UnsatisfiedLinkError: /tmp/jna44845.so: /lib64/tls/libc.so.6: version `GLIBC_2.4' not found (required by /tmp/jna44845.so)

This is because JNA was built on a newer system than yours. You'll have to build JNA from scratch. We are currently using the jnalib-v3 branch of JNA :

svn checkout https://jna.dev.java.net/svn/jna/branches/jnalib-v3 jna --username yourjavanetusername

 


net.sf.jdshow.ComException on Windows

On Windows, when trying to play media :

net.sf.jdshow.ComException: hr=-2146697203

This is a Windows error pertaining to the URL or path specified.

In particular, Windows is pickier than FMJ about slashes in the URL. For example, the following URL does not work with Windows (when DirectShow is being used for the playback): file:///F:\safexmas.mov. However, if you remove one forward slash from the URL - file://F:\safexmas.mov - it will work, assuming everything else is correct.

 


Problems with jdshow on Windows

To disable jdshow, you can either remove jdshow.dll from your library path, or you can remove this code from RegistryDefaults.java :

contentPrefixList.add("net.sf.fmj.ds");

Or you can run the registry tool, remove net.sf.fmj.ds from the content prefix list, and then run FMJ studio. This stores your registry settings in a file .fmj.registry.xml. The danger of doing this is that this will now override any future changes to RegistryDefaults, so you might want to delete that file, if RegistryDefaults is changed in CVS.