Menu

Long Running playback results in VM Crash

user
Kevin Self
2008-03-07
2013-05-09
  • Kevin Self

    Kevin Self - 2008-03-07

    I have created an application the opens 3 windows and plays different movies in each one. The application repeats the movies when they finish in a loop (each movie lasts only a few minutes). When I start the program it runs fine and continues to run fine for sometimes several hours, but it always eventually crashes and takes out the JVM with it. Here is the stack trace that comes back:

    #
    # An unexpected error has been detected by Java Runtime Environment:
    #
    #  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x04ff9b0d, pid=4824, tid=4148
    #
    # Java VM: Java HotSpot(TM) Client VM (10.0-b19 mixed mode, sharing windows-x86)
    # Problematic frame:
    # C  [fobs4jmf.dll+0xe9b0d]
    #
    # 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 (0x02fc8400):  JavaThread "Loop thread: com.omnividea.media.parser.video.VideoTrack@aee8a8" [_thread_in_native, id=4148, stack(0x08900000,0x08950000)]

    siginfo: ExceptionCode=0xc0000005, reading address 0x09170133

    Registers:
    EAX=0x00000002, EBX=0x09170133, ECX=0x0969ce84, EDX=0x00000290
    ESP=0x0894f2d8, EBP=0x0000016b, ESI=0x07817010, EDI=0x0969bc94
    EIP=0x04ff9b0d, EFLAGS=0x00210206

    Top of Stack: (sp=0x0894f2d8)
    0x0894f2d8:   00000000 050635cf 0969bc94 0916ecb3
    0x0894f2e8:   00000290 00000008 00000000 00000000
    0x0894f2f8:   03300330 03300330 03300330 03300330
    0x0894f308:   00100330 00000168 03300330 00000000
    0x0894f318:   00000000 000002d0 00000500 00000000
    0x0894f328:   00000010 09639f13 000002d0 000002d6
    0x0894f338:   0a68bf16 00000000 00000b40 00000b58
    0x0894f348:   04ff9a80 07817e18 096d8044 0969bc94

    Instructions: (pc=0x04ff9b0d)
    0x04ff9afd:   05 0f fd ce 0f 71 d1 06 0f 67 c9 0f 7e 09 01 d1
    0x04ff9b0d:   0f 6e 33 0f 6e 4b 01 01 d3 0f 60 f7 0f 60 cf 0f

    Stack: [0x08900000,0x08950000],  sp=0x0894f2d8,  free space=316k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    C  [fobs4jmf.dll+0xe9b0d]

    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    J  com.omnividea.media.parser.video.Parser.avProcess(ILjava/lang/Object;JJZI)Z
    J  com.omnividea.media.parser.video.VideoTrack.readFrame(Ljavax/media/Buffer;)V
    J  com.sun.media.SourceThread.process()Z
    J  com.sun.media.util.LoopThread.run()V
    v  ~BufferBlob::StubRoutines (1)

    I understand the problem occurs in the avProcess() function, but since the problem only happens after the program has been running for some time, I am not able to determine what is causing it. I have tried varying the amount of memory available to the application and it makes no difference. What is confusing is that it can take anywhere from 20 minutes to 4 hours before this crash eventually happens so if it is some sort of race condition, it is very infrequent. I have tried different forms of media, and it also does not seam to make a difference.

    Any help or hints that would help me figure this out would be great.

     
    • Kevin Self

      Kevin Self - 2008-03-07

      Forgot the details:

      OS: Windows XP Build 2600 Service Pack 2

      CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 15 stepping 11, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3

      Memory: 4k page, physical 1030372k(517908k free), swap 2480200k(1670468k free)

      vm_info: Java HotSpot(TM) Client VM (10.0-b19) for windows-x86 JRE (1.6.0_04-b12), built on Dec 14 2007 00:51:20 by "java_re" with MS VC++ 7.1

       
    • Nobody/Anonymous

      Tested last night running just one window and the problem still exists (after playing for about 4 hours with the same loop of 3 videos each of which is 1-2 minutes long). Any help would be great just to point in the right direction. I really need the application to run unattended for days or weeks since it will not be easy to get to the box where it is installed and the application must not stop playing half way through a movie.

       
    • Kevin Self

      Kevin Self - 2008-03-15

      I have seen that there has not been any responses to this in more than a week and a half by anyone. I will try one more test to see if FOBS crashes using the reference implementation of the player. After that, I will have to look at JFFMPEG as a replacement to this since there must be a flaw in FOBS4JMF that prevents it from working for long duration playbacks and if the FOBS code is no longer being managed then it is not likely that this will be fixed.

       
    • Jose San Pedro

      Jose San Pedro - 2008-06-05

      Hi Ken,

      I'll try to find out the reasons for this, but as you already mentioned it could be difficult to debug because of the indeterministic pattern. Sorry for the late response. As usual I'm on my own with this project and my spare time is not as much as it used to be. Thanks for the report!

      Cheers,

      Jose San Pedro

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.