Bug 8023 - JVM hangs when calling FOP on stylesheet with SVG
Summary: JVM hangs when calling FOP on stylesheet with SVG
Status: CLOSED WONTFIX
Alias: None
Product: Fop - Now in Jira
Classification: Unclassified
Component: svg (show other bugs)
Version: 0.20.1
Hardware: HP HP-UX
: P3 critical
Target Milestone: ---
Assignee: fop-dev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-04-12 15:51 UTC by Christer Sandberg
Modified: 2012-04-01 13:55 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christer Sandberg 2002-04-12 15:51:06 UTC
Hello, JVM hangs when called on a stylesheet with SVG. We can't use System.exit()
as in the CommandLineStarter because we're using FOP from within a application
server. The SIGKILL shows that the thread is blocking on
org.apache.batik.util.SoftReferenceCache line 186, which is doing a remove() on
a java.lang.ref.ReferenceQueue. I don't know if this is a JVM bug (we have tested
this on HP and Linux with different JVM's) or if this could be "hacked" around
in the sources.

SIGQUIT

Full thread dump Classic VM (1.3.1.02-JPSE_1.3.1.02_20011206, native threads):
    "Thread-1" (TID:0x7b868ea8, sys_thread_t:0x40005540, state:CW, native
ID:0x1) prio=5
    "Thread-0" (TID:0x7b89c9a0, sys_thread_t:0x40c355c0, state:CW, native
ID:0xa) prio=5
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at org.apache.batik.util.SoftReferenceCache$1.run(Unknown Source)
    "AWT-Motif" (TID:0x7b87f6f0, sys_thread_t:0x40b762a8, state:R, native
ID:0x9) prio=6
        at sun.awt.motif.MToolkit.run(Native Method)
        at java.lang.Thread.run(Unknown Source)
    "SunToolkit.PostEventQueue-0" (TID:0x7b87fd88, sys_thread_t:0x40b54118,
state:CW, native ID:0x8) prio=6
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Unknown Source)
        at sun.awt.PostEventQueue.run(SunToolkit.java:535)
    "AWT-EventQueue-0" (TID:0x7b87fe58, sys_thread_t:0x40b4f090, state:CW,
native ID:0x7) prio=6
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Unknown Source)
        at java.awt.EventQueue.getNextEvent(EventQueue.java:261)
        at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:146)
        at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:102)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:85)
    "JIT Compiler" (TID:0x7b8004e0, sys_thread_t:0x400b2130, state:CW, native
ID:0x6) prio=2
    "Finalizer" (TID:0x7b800520, sys_thread_t:0x400af188, state:CW, native
ID:0x5) prio=8
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:162)
    "Reference Handler" (TID:0x7b8002f8, sys_thread_t:0x400acd80, state:CW,
native ID:0x4) prio=10
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Unknown Source)
        at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
    "Signal dispatcher" (TID:0x7b800328, sys_thread_t:0x400aade0, state:R,
native ID:0x3) prio=5
Monitor Cache Dump:
    java.lang.ref.ReferenceQueue$Lock@7B800538/7B8CFE00: <unowned>
        Waiting to be notified:
            "Finalizer" (0x400af188)
    java.lang.ref.Reference$Lock@7B800308/7B8CF920: <unowned>
        Waiting to be notified:
            "Reference Handler" (0x400acd80)
    java.awt.EventQueue@7B87FF60/7BAE5078: <unowned>
        Waiting to be notified:
            "AWT-EventQueue-0" (0x40b4f090)
    sun.awt.PostEventQueue@7B87FD88/7BAE5670: <unowned>
        Waiting to be notified:
            "SunToolkit.PostEventQueue-0" (0x40b54118)
    java.lang.ref.ReferenceQueue$Lock@7B89C998/7BB829A8: <unowned>
        Waiting to be notified:
            "Thread-0" (0x40c355c0)
Registered Monitor Dump:
    JIT thread lock: <unowned>
        Waiting to be notified:
            "JIT Compiler" (0x400b2130)
    utf8 hash table: <unowned>
    JNI pinning lock 31: <unowned>
    JNI pinning lock 30: <unowned>
    JNI pinning lock 29: <unowned>
    JNI pinning lock 28: <unowned>
    JNI pinning lock 27: <unowned>
    JNI pinning lock 26: <unowned>
    JNI pinning lock 25: <unowned>
    JNI pinning lock 24: <unowned>
    JNI pinning lock 23: <unowned>
    JNI pinning lock 22: <unowned>
    JNI pinning lock 21: <unowned>
    JNI pinning lock 20: <unowned>
    JNI pinning lock 19: <unowned>
    JNI pinning lock 18: <unowned>
    JNI pinning lock 17: <unowned>
    JNI pinning lock 16: <unowned>
    JNI pinning lock 15: <unowned>
    JNI pinning lock 14: <unowned>
    JNI pinning lock 13: <unowned>
    JNI pinning lock 12: <unowned>
    JNI pinning lock 11: <unowned>
    JNI pinning lock 10: <unowned>
    JNI pinning lock 9: <unowned>
    JNI pinning lock 8: <unowned>
    JNI pinning lock 7: <unowned>
    JNI pinning lock 6: <unowned>
    JNI pinning lock 5: <unowned>
    JNI pinning lock 4: <unowned>
    JNI pinning lock 3: <unowned>
    JNI pinning lock 2: <unowned>
    JNI pinning lock 1: <unowned>
    JNI pinning lock 0: <unowned>
    JNI global reference lock: <unowned>
    BinClass lock: <unowned>
    Class linking lock: <unowned>
    System class loader lock: <unowned>
    Code rewrite lock: <unowned>
    Heap lock: <unowned>
    Monitor cache lock: owner "Signal dispatcher" (0x400aade0) 1 entry
    Thread queue lock: owner "Signal dispatcher" (0x400aade0) 1 entry
        Waiting to be notified:
            "Thread-1" (0x40005540)
    Monitor registry: owner "Signal dispatcher" (0x400aade0) 1 entry

This is the dump on HP-UX.
Comment 1 J.Pietschmann 2002-06-03 09:13:23 UTC
The general opinion is that this is a problem with the Sun JVM. It is said
JDK1.4 fixes the problem. (At least, that's what Sun promised. Can someone
confirm?)
Comment 2 Glenn Adams 2012-04-01 13:55:30 UTC
batch transition to closed remaining pre-FOP1.0 resolved bugs