Xuggler is a tool for users to encode and decode media files. Used in conjunction with Liferay Portal or Digital Enterprise 7.0, users can view media files on the Documents and Media portlet. The integration with Liferay is a
.jar file downloadable from the Control Panel.
There is a known issue that default Xuggler 5.4 version for Windows 64 bit can cause the JVM to crash at times. After a detailed investigation, it was discovered that the default asm optimizations for Windows in ffmpeg bundled with Xuggler is the root cause of the issue.
In order to fix this issue, customers should use a new Xuggler binary created by the Liferay platform. This binary doesn't have any custom Liferay code, but was compiled by disabling the asm optimizations for ffmpeg. In order to use it, just follow these steps:
- Remove previous
Liferay /WEB-INF/lib directory
- Install patch containing solution for LPS-36699 (available in the liferay-fix-pack-de-3-7010 or fix-pack-117-6210).
- Download and install Xuggler again from Control Panel (users will need to restart to implement the changes).
Although all video/audio previews should be generated without the JVM crashing, disabling optimizations will cause some performance to decrease in this environment during the preview generation process. Specifically, not having these optimizations enabled will cause a delay in generating all video/audio preview icons. This time lag should be expected in order to keep the instance operating at maximum performance.
See LPS-36699 for more information and full error logs. Example exception below:
# # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006ee76520, pid=4660, tid=6432 # # JRE version: 6.0_30-b12 # Java VM: Java HotSpot(TM) 64-Bit Server VM (20.5-b03 mixed mode windows-amd64 compressed oops) # Problematic frame: # C [xuggle5103055682137682208.dll+0x736520] # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. #