US and Worldwide: +1 (866) 660-7555
Results 1 to 4 of 4

Thread: jfreereport-0.8.3f crashes on Sun Solaris and jdk1.2.2?

  1. #1
    Join Date
    Mar 2003
    Posts
    4,947

    Default jfreereport-0.8.3f crashes on Sun Solaris and jdk1.2.2?

    Hi!
    Does Anyone know about problems on SUN SOLARIS OS?
    When I tried to run the preview option on the demo jar included in the release I had the following error and the demo aborted (I use jdk 1.2.2):

    DEBUG: Processing Report: jar:file:/home/caraccid/MUTS2003/services/Resources/jfreereport-0.8.3f/jfreereport-0.8.3f-demo.jar!/com/jrefinery/report/demo/report3.xml
    SIGSEGV 11 segmentation violation
    si_signo [11]: SEGV
    si_errno [0]:
    si_code [1]: SEGV_MAPERR [addr: 0x86102020]

    stackpointer=EF1EE0B8
    "Thread-1" (TID:0x185178, sys_thread_t:0x1850b0, state:MW, thread_t: t@1, threadID:0x25118, stack_bottom:0xf0000000, stack_size:0x800000) prio=5

    -------------------
    "Screen Updater" (TID:0xbde580, sys_thread_t:0xbde4b8, state:CW, thread_t: t@16, threadID:0xeeef0d70, stack_bottom:0xeeef0d70, stack_size:0x1fd70) prio=4

    [1] java.lang.Object.wait(Object.java:424)
    [2] sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:78)
    [3] sun.awt.ScreenUpdater.run(ScreenUpdater.java:98)
    -------------------
    "TimerQueue" (TID:0xa2e648, sys_thread_t:0xa2e580, state:CW, thread_t: t@15, threadID:0xeeff0d70, stack_bottom:0xeeff0d70, stack_size:0x1fd70) prio=5

    [1] javax.swing.TimerQueue.run(TimerQueue.java:233)
    [2] java.lang.Thread.run(Thread.java:479)
    -------------------
    "AWT-Motif" (TID:0x542e48, sys_thread_t:0x542d80, state:R, thread_t: t@10, threadID:0xef070d70, stack_bottom:0xef070d70, stack_size:0x1fd70) prio=5

    [1] sun.awt.motif.MToolkit.run(Native Method)
    [2] java.lang.Thread.run(Thread.java:479)
    -------------------
    "SunToolkit.PostEventQueue-0" (TID:0x513658, sys_thread_t:0x513590, state:CW, thread_t: t@9, threadID:0xef0e0d70, stack_bottom:0xef0e0d70, stack_size:0x1fd70) prio=5

    [1] java.lang.Object.wait(Object.java:424)
    [2] sun.awt.PostEventQueue.run(SunToolkit.java:407)
    -------------------
    "AWT-EventQueue-0" (TID:0x507948, sys_thread_t:0x507880, state:R, thread_t: t@8, threadID:0xef1f0d70, stack_bottom:0xef1f0d70, stack_size:0x1fd70) prio=6 *current thread*

    [1] com.jrefinery.report.ItemFactory.createLabelElement(Unknown Source)
    [2] com.jrefinery.report.io.simple.ElementFactory.endLabel(Unknown Source)
    [3] com.jrefinery.report.io.simple.ElementFactory.endElement(Unknown Source)
    [4] org.jfree.xml.Parser.endElement(Unknown Source)
    [5] gnu.xml.pipeline.EventFilter.endElement(EventFilter.java:578)
    [6] gnu.xml.pipeline.ValidationConsumer.endElement(ValidationConsumer.java:1236)
    [7] gnu.xml.aelfred2.SAXDriver.endElement(SAXDriver.java:853)
    [8] gnu.xml.aelfred2.XmlParser.parseETag(XmlParser.java:1131)
    [9] gnu.xml.aelfred2.XmlParser.parseContent(XmlParser.java:1154)
    [10] gnu.xml.aelfred2.XmlParser.parseElement(XmlParser.java:936)
    [11] gnu.xml.aelfred2.XmlParser.parseContent(XmlParser.java:1154)
    [12] gnu.xml.aelfred2.XmlParser.parseElement(XmlParser.java:936)
    [13] gnu.xml.aelfred2.XmlParser.parseContent(XmlParser.java:1154)
    [14] gnu.xml.aelfred2.XmlParser.parseElement(XmlParser.java:936)
    [15] gnu.xml.aelfred2.XmlParser.parseContent(XmlParser.java:1154)
    [16] gnu.xml.aelfred2.XmlParser.parseElement(XmlParser.java:936)
    [17] gnu.xml.aelfred2.XmlParser.parseContent(XmlParser.java:1154)
    [18] gnu.xml.aelfred2.XmlParser.parseElement(XmlParser.java:936)
    [19] gnu.xml.aelfred2.XmlParser.parseDocument(XmlParser.java:416)
    [20] gnu.xml.aelfred2.XmlParser.doParse(XmlParser.java:167)
    [21] gnu.xml.aelfred2.SAXDriver.parse(SAXDriver.java:320)
    [22] gnu.xml.aelfred2.XmlReader.parse(XmlReader.java:294)
    [23] org.jfree.xml.ParserFrontend.parse(Unknown Source)
    [24] org.jfree.xml.ParserFrontend.parse(Unknown Source)
    [25] com.jrefinery.report.io.ReportGenerator.parseReport(Unknown Source)
    [26] com.jrefinery.report.demo.JFreeReportDemo.preview(Unknown Source)
    [27] com.jrefinery.report.demo.JFreeReportDemo$URLDemoHandler.performPreview(Unknown Source)
    [28] com.jrefinery.report.demo.JFreeReportDemo.attemptPreview(Unknown Source)
    [29] com.jrefinery.report.demo.helper.AbstractDemoFrame$DemoPreviewAction.actionPerformed(Unknown Source)
    [30] javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1049)
    [31] javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1101)
    .... remainder of stack truncated ...
    -------------------

    Exiting Thread (sys_thread_t:0xef68e2e8) : no stack
    "Finalizer" (TID:0x154a10, sys_thread_t:0x154948, state:CW, thread_t: t@6, threadID:0xef2f0d70, stack_bottom:0xef2f0d70, stack_size:0x1fd70) prio=8

    [1] java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:146)
    [2] java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:168)
    [3] java.lang.ref.Finalizer$FinalizerWorker$FinalizerThread.run(Finalizer.java:124)
    -------------------
    "Reference Handler" (TID:0x14fea0, sys_thread_t:0x14fdd8, state:CW, thread_t: t@5, threadID:0xef370d70, stack_bottom:0xef370d70, stack_size:0x1fd70) prio=10

    [1] java.lang.Object.wait(Object.java:424)
    [2] java.lang.ref.Reference$ReferenceHandler.run(Reference.java:130)
    -------------------
    "Signal dispatcher" (TID:0x12aa08, sys_thread_t:0x12a940, state:MW, thread_t: t@4, threadID:0xef740d70, stack_bottom:0xef740d70, stack_size:0x1fd70) prio=10

    -------------------
    Abort

  2. #2
    Join Date
    Mar 2003
    Posts
    7,557

    Default

    Hi,

    wow, that's ugly. According to your thread-dump, the report was currently parsed

    [1] com.jrefinery.report.ItemFactory.createLabelElement(Unknown Source)
    [2] com.jrefinery.report.io.simple.ElementFactory.endLabel(Unknown Source)
    [3] com.jrefinery.report.io.simple.ElementFactory.endElement(Unknown Source)
    [4] org.jfree.xml.Parser.endElement(Unknown Source)
    The only other active thread was the AWT thread, and as I couldn't even imagine what should cause the error in our library (100% pure java, nothing native), I would guess that the AWT is the evil one.

    So two questions is this error replicable? If yes, does the error also happen if the report is not parsed from the event queue?

    Btw.: When looking at the JDK's bugparade, it seems that SEGV's are just a common bug there.
    http://java.sun.com/products/jdk/1.2/ReleaseNotes.html
    Do you have the latest JDK for that release installed?

    Have more fun,
    said Thomas

  3. #3
    Join Date
    Mar 2003
    Posts
    4,947

    Default

    Hi
    The bug is replicable... it happens every time I try to do a print preview... It does not depend from the parsing but rather from some operation done in the ItemFactory (I think...). I have looked in the release notes of jdk1.2 (I have 1.2.2_06) and there are a couple of bugs (4318422
    signal 11 (SIGSEGV) in sun.awt.motif.MTextAreaPeer.setFont or 4333652
    JVM SEGV when multiple threads call TextLayout.getOutLine()) that could cause the crash.. what do you think about?
    I post you the following dump running my application... I (should) generate a report from some data on a JTable:

    SIGSEGV 11 segmentation violation
    si_signo [11]: SEGV
    si_errno [0]:
    si_code [1]: SEGV_MAPERR [addr: 0x86102020]

    stackpointer=EF22DE18
    "Thread-1" (TID:0x169d98, sys_thread_t:0x169cd0, state:MW, thread_t: t@1, threadID:0x25118, stack_bottom:0xf0000000, stack_size:0x800000) prio=5

    -------------------
    "GC Daemon" (TID:0xa7d158, sys_thread_t:0xa7d090, state:CW, thread_t: t@17, threadID:0xed6f0d70, stack_bottom:0xed6f0d70, stack_size:0x1fd70) prio=2

    [1] sun.misc.GC$Daemon.run(GC.java:81)
    -------------------
    "RMI RenewClean-[10.50.82.30:38156]" (TID:0xa78368, sys_thread_t:0xa782a0, state:CW, thread_t: t@16, threadID:0xee570d70, stack_bottom:0xee570d70, stack_size:0x1fd70) prio=5

    [1] java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:146)
    [2] sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:381)
    [3] java.lang.Thread.run(Thread.java:479)
    -------------------
    "TimerQueue" (TID:0x894418, sys_thread_t:0x894350, state:CW, thread_t: t@13, threadID:0xeee70d70, stack_bottom:0xeee70d70, stack_size:0x1fd70) prio=6

    [1] javax.swing.TimerQueue.run(TimerQueue.java:233)
    [2] java.lang.Thread.run(Thread.java:479)
    -------------------
    "Screen Updater" (TID:0x8104d0, sys_thread_t:0x810408, state:CW, thread_t: t@11, threadID:0xeeff0d70, stack_bottom:0xeeff0d70, stack_size:0x1fd70) prio=4

    [1] java.lang.Object.wait(Object.java:424)
    [2] sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:78)
    [3] sun.awt.ScreenUpdater.run(ScreenUpdater.java:98)
    -------------------
    "AWT-Motif" (TID:0x552e48, sys_thread_t:0x552d80, state:R, thread_t: t@10, threadID:0xef040d70, stack_bottom:0xef040d70, stack_size:0x1fd70) prio=5

    [1] sun.awt.motif.MToolkit.run(Native Method)
    [2] java.lang.Thread.run(Thread.java:479)
    -------------------

    Exiting Thread (sys_thread_t:0xef68e2e8) : no stack
    "SunToolkit.PostEventQueue-0" (TID:0x526688, sys_thread_t:0x5265c0, state:CW, thread_t: t@8, threadID:0xef0f0d70, stack_bottom:0xef0f0d70, stack_size:0x1fd70) prio=5

    [1] java.lang.Object.wait(Object.java:424)
    [2] sun.awt.PostEventQueue.run(SunToolkit.java:407)
    -------------------
    "AWT-EventQueue-0" (TID:0x516930, sys_thread_t:0x516868, state:R, thread_t: t@7, threadID:0xef230d70, stack_bottom:0xef230d70, stack_size:0x1fd70) prio=6 *current thread*

    [1] com.jrefinery.report.ItemFactory.createStringElement(Unknown Source)
    [2] services.abstracts.ReportUtility.createReportDefinition(ReportUtility.java:227)
    [3] services.abstracts.ReportUtility.<init>(ReportUtility.java:22)
    [4] services.abstracts.AbstractGraphicalEnviroment.ManagerEvents_actionPerformed(AbstractGraphicalEnviroment.java:1016)
    [5] services.abstracts.AbstractGraphicalEnviroment$ManagerEvents_actionAdapter.actionPerformed(AbstractGraphicalEnviroment.java:1168)
    [6] javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1049)
    [7] javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1101)
    [8] javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:370)
    [9] javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)
    [10] javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:204)
    [11] java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:230)
    [12] java.awt.Component.processMouseEvent(Component.java:3157)
    [13] java.awt.Component.processEvent(Component.java:2994)
    [14] java.awt.Container.processEvent(Container.java:1012)
    [15] java.awt.Component.dispatchEventImpl(Component.java:2316)
    [16] java.awt.Container.dispatchEventImpl(Container.java:1048)
    [17] java.awt.Component.dispatchEvent(Component.java:2312)
    [18] java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2041)
    [19] java.awt.LightweightDispatcher.processMouseEvent(Container.java:1821)
    [20] java.awt.LightweightDispatcher.dispatchEvent(Container.java:1750)
    [21] java.awt.Container.dispatchEventImpl(Container.java:1048)
    [22] java.awt.Window.dispatchEventImpl(Window.java:726)
    [23] java.awt.Component.dispatchEvent(Component.java:2312)
    [24] java.awt.EventQueue.dispatchEvent(EventQueue.java:296)
    [25] java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:100)
    [26] java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:91)
    [27] java.awt.EventDispatchThread.run(EventDispatchThread.java:83)
    -------------------
    "Finalizer" (TID:0x155290, sys_thread_t:0x1551c8, state:CW, thread_t: t@6, threadID:0xef2f0d70, stack_bottom:0xef2f0d70, stack_size:0x1fd70) prio=8

    [1] java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:146)
    [2] java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:168)
    [3] java.lang.ref.Finalizer$FinalizerWorker$FinalizerThread.run(Finalizer.java:124)
    -------------------
    "Reference Handler" (TID:0x14faa0, sys_thread_t:0x14f9d8, state:CW, thread_t: t@5, threadID:0xef370d70, stack_bottom:0xef370d70, stack_size:0x1fd70) prio=10

    [1] java.lang.Object.wait(Object.java:424)
    [2] java.lang.ref.Reference$ReferenceHandler.run(Reference.java:130)
    -------------------
    "Signal dispatcher" (TID:0x12b620, sys_thread_t:0x12b558, state:MW, thread_t: t@4, threadID:0xef740d70, stack_bottom:0xef740d70, stack_size:0x1fd70) prio=10

    -------------------
    Abort


    As you can see, on both dumps java crashes on some method in the ItemFactory..

    Thanks...

  4. #4
    Join Date
    Mar 2003
    Posts
    7,557

    Default

    Hi,

    as the ItemFactory is clean java and does not involve the AWT, I would say: Upgrade to the latest version (1.2.2_15) and hope that the bug is gone then ...

    Have more fun,
    said Thomas

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •