fobs4jmf.dll Ошибка в Java Swing при воспроизведении видео .avi - PullRequest
3 голосов
/ 06 ноября 2011

Я недавно начал помогать коллеге в отладке проблемы сбоя видео в ее приложении Java Swing. Приложение выполняет собственный вызов fobs4jmf.dll для воспроизведения файлов .avi. Иногда, не всегда, нативный код приводит к сбою приложения. Я не писал оригинальное заявление, а инженера, который сделал, давно уже нет; кто-нибудь может дать некоторое представление? Файл ошибок выглядит следующим образом:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6b1d7994, pid=4716, tid=3572
#
# JRE version: 6.0_24-b07
# Java VM: Java HotSpot(TM) Client VM (19.1-b02 mixed mode windows-x86 )
# Problematic frame:
# C  [fobs4jmf.dll+0x257994]
#
# 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.
#

---------------  T H R E A D  ---------------

Current thread (0x1f0ca400):  JavaThread "Loop thread: com.omnividea.media.parser.video.VideoTrack@19a403a" [_thread_in_native, id=3572, stack(0x20670000,0x206c0000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x1d961000

Registers:
EAX=0x00000268, EBX=0x0000004d, ECX=0x00000268, EDX=0x1d960fb0
ESP=0x206bf7b0, EBP=0x206bf8f8, ESI=0x0000002a, EDI=0x206bf980
EIP=0x6b1d7994, EFLAGS=0x00210216

Register to memory mapping:

EAX=0x00000268
0x00000268 is pointing to unknown location

EBX=0x0000004d
0x0000004d is pointing to unknown location

ECX=0x00000268
0x00000268 is pointing to unknown location

EDX=0x1d960fb0
0x1d960fb0 is pointing to unknown location

ESP=0x206bf7b0
0x206bf7b0 is pointing into the stack for thread: 0x1f0ca400
"Loop thread: com.omnividea.media.parser.video.VideoTrack@19a403a" prio=4 tid=0x1f0ca400 nid=0xdf4 runnable [0x206bf000]
   java.lang.Thread.State: RUNNABLE

EBP=0x206bf8f8
0x206bf8f8 is pointing into the stack for thread: 0x1f0ca400
"Loop thread: com.omnividea.media.parser.video.VideoTrack@19a403a" prio=4 tid=0x1f0ca400 nid=0xdf4 runnable [0x206bf000]
   java.lang.Thread.State: RUNNABLE

ESI=0x0000002a
0x0000002a is pointing to unknown location

EDI=0x206bf980
0x206bf980 is pointing into the stack for thread: 0x1f0ca400
"Loop thread: com.omnividea.media.parser.video.VideoTrack@19a403a" prio=4 tid=0x1f0ca400 nid=0xdf4 runnable [0x206bf000]
   java.lang.Thread.State: RUNNABLE


Top of Stack: (sp=0x206bf7b0)
0x206bf7b0:   1d90c0d0 1d90c0d0 1d90c0cb 00000268
0x206bf7c0:   00000001 001d0000 1d960fb0 206bf714
0x206bf7d0:   001dfe80 206bfdf8 77631ecd 052d84dc
0x206bf7e0:   44697658 36343030 b8b7b6b4 5a01abb8
0x206bf7f0:   13570500 a95fe803 90dfe81d 8400381d
0x206bf800:   90dff01d 9610001d 775f001d 00000111
0x206bf810:   00000120 001dfe7a 001dfe78 000004d0
0x206bf820:   00000111 775ee026 1f0ca518 206bf898 

Instructions: (pc=0x6b1d7994)
0x6b1d7984:   95 d0 fe ff ff 89 c3 89 85 c4 fe ff ff c1 fb 03
0x6b1d7994:   8b 04 13 8b 9d c4 fe ff ff 83 e3 07 89 c2 88 d9 


Stack: [0x20670000,0x206c0000],  sp=0x206bf7b0,  free space=317k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [fobs4jmf.dll+0x257994]
C  [fobs4jmf.dll+0x251bbc]
C  [fobs4jmf.dll+0x19c44a]
C  [fobs4jmf.dll+0x54b4a]
C  [fobs4jmf.dll+0x59b6]
C  [fobs4jmf.dll+0x5d4d]
C  [fobs4jmf.dll+0x1483]
j  com.omnividea.media.parser.video.Parser.avProcess(ILjava/lang/Object;JJZI)Z+0
j  com.omnividea.media.parser.video.Parser.getNextFrame(Ljava/lang/Object;JJ)Z+15
j  com.omnividea.media.parser.video.VideoTrack.readFrame(Ljavax/media/Buffer;)V+170
j  com.sun.media.SourceThread.process()Z+206
j  com.sun.media.util.LoopThread.run()V+14
v  ~StubRoutines::call_stub
V  [jvm.dll+0xf0ab9]
V  [jvm.dll+0x1837d1]
V  [jvm.dll+0xf0c61]
V  [jvm.dll+0xf0cbb]
V  [jvm.dll+0x11b4b9]
V  [jvm.dll+0x1e4624]
V  [jvm.dll+0x18317c]
C  [msvcr71.dll+0x9565]
C  [kernel32.dll+0x1339a]
C  [ntdll.dll+0x39ed2]
C  [ntdll.dll+0x39ea5]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  com.omnividea.media.parser.video.Parser.avProcess(ILjava/lang/Object;JJZI)Z+0
j  com.omnividea.media.parser.video.Parser.getNextFrame(Ljava/lang/Object;JJ)Z+15
j  com.omnividea.media.parser.video.VideoTrack.readFrame(Ljavax/media/Buffer;)V+170
j  com.sun.media.SourceThread.process()Z+206
j  com.sun.media.util.LoopThread.run()V+14
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x1f0cac00 JavaThread "Loop thread: com.omnividea.media.parser.video.AudioTrack@1eed80d" [_thread_blocked, id=4472, stack(0x20700000,0x20750000)]
=>0x1f0ca400 JavaThread "Loop thread: com.omnividea.media.parser.video.VideoTrack@19a403a" [_thread_in_native, id=3572, stack(0x20670000,0x206c0000)]
  0x1f0ca000 JavaThread "Loop thread: com.sun.media.renderer.audio.JavaSoundRenderer@df2acf" [_thread_blocked, id=1248, stack(0x205e0000,0x20630000)]
  0x1f0c9800 JavaThread "Java Sound Event Dispatcher" daemon [_thread_blocked, id=3876, stack(0x20130000,0x20180000)]
  0x1f0c9400 JavaThread "Loop thread: com.omnividea.media.renderer.video.Java2DRenderer@75460" [_thread_blocked, id=4848, stack(0x1f770000,0x1f7c0000)]
  0x1f0c8c00 JavaThread "JMF thread: com.sun.media.PlaybackEngine@1c84697 ( prefetchThread)" [_thread_blocked, id=2516, stack(0x1f6e0000,0x1f730000)]
  0x1f0c8800 JavaThread "JMF thread: com.sun.media.content.unknown.Handler@6c0227 ( prefetchThread)" [_thread_blocked, id=1392, stack(0x1f650000,0x1f6a0000)]
  0x1f0c8000 JavaThread "JMF thread (PlayThread)" [_thread_blocked, id=4136, stack(0x1f5c0000,0x1f610000)]
  0x1f0c7c00 JavaThread "Image Fetcher 1" daemon [_thread_blocked, id=4552, stack(0x1f530000,0x1f580000)]
  0x1f0c7400 JavaThread "Image Fetcher 0" daemon [_thread_blocked, id=3700, stack(0x1de80000,0x1ded0000)]
  0x1f0c7000 JavaThread "Loop thread" [_thread_blocked, id=4980, stack(0x1f4a0000,0x1f4f0000)]
  0x1f0a7400 JavaThread "JMF thread: SendEventQueue: com.sun.media.PlaybackEngine" [_thread_blocked, id=4832, stack(0x1d7d0000,0x1d820000)]
  0x18b10800 JavaThread "JMF thread: SendEventQueue: com.sun.media.content.unknown.Handler" [_thread_blocked, id=3480, stack(0x1d740000,0x1d790000)]
  0x18c22000 JavaThread "TimerQueue" daemon [_thread_blocked, id=4992, stack(0x1fae0000,0x1fb30000)]
  0x18c14000 JavaThread "D3D Screen Updater" daemon [_thread_blocked, id=3612, stack(0x1cb60000,0x1cbb0000)]
  0x00609400 JavaThread "DestroyJavaVM" [_thread_blocked, id=2620, stack(0x00250000,0x002a0000)]
  0x18c0c000 JavaThread "AWT-EventQueue-0" [_thread_blocked, id=1912, stack(0x1cad0000,0x1cb20000)]
  0x18b63400 JavaThread "AWT-Windows" daemon [_thread_in_native, id=2740, stack(0x19020000,0x19070000)]
  0x18b18000 JavaThread "AWT-Shutdown" [_thread_blocked, id=1584, stack(0x18f30000,0x18f80000)]
  0x18b17800 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=4588, stack(0x18ea0000,0x18ef0000)]
  0x02530400 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=2596, stack(0x189b0000,0x18a00000)]
  0x0252c000 JavaThread "CompilerThread0" daemon [_thread_blocked, id=2984, stack(0x18920000,0x18970000)]
  0x0252b000 JavaThread "Attach Listener" daemon [_thread_blocked, id=2932, stack(0x18890000,0x188e0000)]
  0x02528000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=932, stack(0x18800000,0x18850000)]
  0x024f9800 JavaThread "Finalizer" daemon [_thread_blocked, id=4872, stack(0x18770000,0x187c0000)]
  0x024f8400 JavaThread "Reference Handler" daemon [_thread_blocked, id=700, stack(0x186e0000,0x18730000)]

Other Threads:
  0x024f3400 VMThread [stack: 0x18690000,0x186e0000] [id=4380]
  0x0253ac00 WatcherThread [stack: 0x18a40000,0x18a90000] [id=4388]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 4928K, used 1445K [0x045e0000, 0x04b30000, 0x09b30000)
  eden space 4416K,  29% used [0x045e0000, 0x04720710, 0x04a30000)
  from space 512K,  32% used [0x04a30000, 0x04a590b0, 0x04ab0000)
  to   space 512K,   0% used [0x04ab0000, 0x04ab0000, 0x04b30000)
 tenured generation   total 10944K, used 3317K [0x09b30000, 0x0a5e0000, 0x145e0000)
   the space 10944K,  30% used [0x09b30000, 0x09e6d4d8, 0x09e6d600, 0x0a5e0000)
 compacting perm gen  total 12288K, used 10958K [0x145e0000, 0x151e0000, 0x185e0000)
   the space 12288K,  89% used [0x145e0000, 0x15093a00, 0x15093a00, 0x151e0000)
No shared spaces configured.

Dynamic libraries:
0x00400000 - 0x00424000     C:\Java\jre6\bin\java.exe
0x775c0000 - 0x77740000     C:\Windows\SysWOW64\ntdll.dll
0x764d0000 - 0x765e0000     C:\Windows\syswow64\kernel32.dll
0x76400000 - 0x76446000     C:\Windows\syswow64\KERNELBASE.dll
0x76920000 - 0x769c0000     C:\Windows\syswow64\ADVAPI32.dll
0x76a60000 - 0x76b0c000     C:\Windows\syswow64\msvcrt.dll
0x762a0000 - 0x762b9000     C:\Windows\SysWOW64\sechost.dll
0x761a0000 - 0x76290000     C:\Windows\syswow64\RPCRT4.dll
0x75120000 - 0x75180000     C:\Windows\syswow64\SspiCli.dll
0x75110000 - 0x7511c000     C:\Windows\syswow64\CRYPTBASE.dll
0x7c340000 - 0x7c396000     C:\Java\jre6\bin\msvcr71.dll
0x6d7f0000 - 0x6da96000     C:\Java\jre6\bin\client\jvm.dll
0x76e20000 - 0x76f20000     C:\Windows\syswow64\USER32.dll
0x765e0000 - 0x76670000     C:\Windows\syswow64\GDI32.dll
0x76290000 - 0x7629a000     C:\Windows\syswow64\LPK.dll
0x76d10000 - 0x76dad000     C:\Windows\syswow64\USP10.dll
0x734c0000 - 0x734f2000     C:\Windows\system32\WINMM.dll
0x76db0000 - 0x76e10000     C:\Windows\system32\IMM32.DLL
0x760d0000 - 0x7619c000     C:\Windows\syswow64\MSCTF.dll
0x74d10000 - 0x74d5c000     C:\Windows\system32\apphelp.dll
0x6d7a0000 - 0x6d7ac000     C:\Java\jre6\bin\verify.dll
0x6d320000 - 0x6d33f000     C:\Java\jre6\bin\java.dll
0x6d280000 - 0x6d288000     C:\Java\jre6\bin\hpi.dll
0x77590000 - 0x77595000     C:\Windows\syswow64\PSAPI.DLL
0x6d7e0000 - 0x6d7ef000     C:\Java\jre6\bin\zip.dll
0x6d000000 - 0x6d14a000     C:\Java\jre6\bin\awt.dll
0x74fe0000 - 0x75031000     C:\Windows\system32\WINSPOOL.DRV
0x75f70000 - 0x760cc000     C:\Windows\syswow64\ole32.dll
0x71830000 - 0x719ce000     C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2\COMCTL32.dll
0x763a0000 - 0x763f7000     C:\Windows\syswow64\SHLWAPI.dll
0x74590000 - 0x745a3000     C:\Windows\system32\DWMAPI.DLL
0x747b0000 - 0x74830000     C:\Windows\system32\uxtheme.dll
0x6d230000 - 0x6d27f000     C:\Java\jre6\bin\fontmanager.dll
0x74370000 - 0x74533000     C:\Windows\system32\d3d9.dll
0x75040000 - 0x75049000     C:\Windows\system32\VERSION.dll
0x74360000 - 0x74366000     C:\Windows\system32\d3d8thk.dll
0x70420000 - 0x70f9f000     C:\Windows\system32\nvd3dum.dll
0x72420000 - 0x72445000     C:\Windows\system32\powrprof.dll
0x76f20000 - 0x770bd000     C:\Windows\syswow64\SETUPAPI.dll
0x75180000 - 0x751a7000     C:\Windows\syswow64\CFGMGR32.dll
0x767b0000 - 0x7683f000     C:\Windows\syswow64\OLEAUT32.dll
0x762f0000 - 0x76302000     C:\Windows\syswow64\DEVOBJ.dll
0x75320000 - 0x75f6a000     C:\Windows\syswow64\shell32.dll
0x6d600000 - 0x6d613000     C:\Java\jre6\bin\net.dll
0x768d0000 - 0x76905000     C:\Windows\syswow64\WS2_32.dll
0x76910000 - 0x76916000     C:\Windows\syswow64\NSI.dll
0x72530000 - 0x7256c000     C:\Windows\system32\mswsock.dll
0x723b0000 - 0x723b6000     C:\Windows\System32\wship6.dll
0x6d620000 - 0x6d629000     C:\Java\jre6\bin\nio.dll
0x6af80000 - 0x6b671000     C:\Users\Nightshade\Desktop\UNCG\lib\fobs4jmf.dll
0x6d510000 - 0x6d534000     C:\Java\jre6\bin\jsound.dll
0x6d540000 - 0x6d548000     C:\Java\jre6\bin\jsoundds.dll
0x1fbc0000 - 0x1fc32000     C:\Windows\system32\DSOUND.dll
0x71020000 - 0x71059000     C:\Windows\system32\MMDevAPI.DLL
0x74010000 - 0x74105000     C:\Windows\system32\PROPSYS.dll
0x6ef90000 - 0x6efc0000     C:\Windows\system32\wdmaud.drv
0x6efd0000 - 0x6efd4000     C:\Windows\system32\ksuser.dll
0x6efc0000 - 0x6efc7000     C:\Windows\system32\AVRT.dll
0x6ed30000 - 0x6ed66000     C:\Windows\system32\AUDIOSES.DLL
0x6ef80000 - 0x6ef88000     C:\Windows\system32\msacm32.drv
0x74340000 - 0x74354000     C:\Windows\system32\MSACM32.dll
0x6ef70000 - 0x6ef77000     C:\Windows\system32\midimap.dll
0x76310000 - 0x76393000     C:\Windows\syswow64\CLBCatQ.DLL

VM Arguments:
jvm_args: -Dconf.path=conf/ -Djava.library.path=lib 
java_command: util.Main
Launcher Type: SUN_STANDARD

Environment Variables:
CLASSPATH=C:\Java\jdk1.6.0_24\bin
PATH=C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Users\Nightshade\bin;C:\Python27;C:\Program Files (x86)\Mercurial\bin;C:\Java\jre6\bin;C:Java\jdk1.6.0_24\bin;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;C:\Users\Nightshade\android-sdk-windows;C:\apache-ant-1.8.2\bin
USERNAME=Nightshade
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 23 Stepping 7, GenuineIntel



---------------  S Y S T E M  ---------------

OS: Windows 7 Build 7601 Service Pack 1

CPU:total 4 (4 cores per cpu, 1 threads per core) family 6 model 23 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1

Memory: 4k page, physical 4192824k(2803136k free), swap 8383800k(6544444k free)

vm_info: Java HotSpot(TM) Client VM (19.1-b02) for windows-x86 JRE (1.6.0_24-b07), built on Feb  2 2011 17:44:41 by "java_re" with MS VC++ 7.1 (VS2003)

time: Sat Nov 05 18:25:20 2011
elapsed time: 156 seconds

Ошибка, по-видимому, впервые возникла, когда ее системы были переведены на Windows 7 из Windows XP (вы можете начать молча ругаться и пожимать руку ИТ-отделам повсюду); но возвращение машин к Windows XP не решило проблему.

Стоит также повторить, что эта ошибка не всегда возникает! Иногда приложение работает нормально, а иногда происходит сбой при запуске собственного кода JMF.

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 13 мая 2012

такая ошибка обычно возникает, когда в системе нет поддержки dll-файлов, поэтому попробуйте проверить поддержку dll для соответствующего проигрывателя или

загрузить любое приложение, которое заполняет необходимые dll-файлы в вашей системе, попробуйте

...