[bd-users] bibledesktop 0.9.9: null pointer exception on startup

DM Smith dmsmith555 at gmail.com
Thu Mar 31 11:16:20 MST 2005


Justus Piater wrote:

>Joe Walker <joseph.walker at gmail.com> wrote on Wed, 30 Mar 2005
>23:11:57 +0100:
>
>  
>
>>I've just reproduced the problem using a machine that was basically
>>virgin XPSP2 with jdk 1.5.0, but like you without managing to fix it
>>from the properties file. It really does look like a JDK bug to me.
>>    
>>
>
>That's possible, but unlikely according to my experience. I suspect
>that the implementation relies on some undocumented behavior of jre
>1.4.2 that changed in 1.5.
>
>  
>
>>It might be worth trying the line:
>>BibleDisplay.ConfigurableStylesheet=cutandpaste2.xsl
>>    
>>
>
>Yes! That makes it start up cleanly.
>
>However, none of the first 6 check boxes in the View menu seem to have
>any effect. The text is always displayed as continuous paragraphs, no
>verse numbers, no Strong's numbers, no notes. Or am I missing
>something?
>  
>
No. You are not missing anything. These checkboxes fill in parameters 
that are passed to the
stylesheet. The point of these parameters was to reduce/eliminate the 
need for other stylesheets
beyond simple.xsl. At this time, only simple.xsl uses the parameters.

>With cutandpaste.xsl, I always have verse numbers and verses in
>separate lines, but the menu still has no effect.
>
>If I switch to simple.xsl in the Options dialog, I get a crash similar
>to the one I originally reported.
>
>  
>
This is good news as a repeatable, isolated bug can be fixed.

I have further isolated the bug:
After bringing up the application with cutandpaste.xsl, I switched to 
Louis Segond (FreLSG) and back to simple.xsl.
No problems what so ever. This bible has no Strongs, Notes, or cross 
references.
I then turned off all options and switched back to a bible with Strongs, 
Notes and Cross Refs. And I gradually
turned on the options. The problem is somewhere in Notes.

I just remembered that we have the ability to override resources in the 
jar with ones in ~/.jsword.
If you extract xsl/cswing/*.xsl from bibledesktop.jar to ~/.jsword, 
these files will be used by BibleDesktop.
By commenting out parts of the stylesheet we can isolate the problem.
Also, BibleDesktop (actually JSword) will reload the stylesheet on use, 
if it changes. So it is not necessary to
restart BibleDesktop between changes, it is only necessary to switch 
Bibles.

I am getting a different error and it may be due to the fact that I am 
offline right now:
Caused by: java.lang.VerifyError: (class: GregorSamsa$2, method: 
matchesFrom signature: (I)Z) Unable to pop operand off an empty
stack
       at 
GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$TR$slash$REC$dash$html40$colon$template$dot$7() 

       at GregorSamsa.applyTemplates()
       at 
GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$TR$slash$REC$dash$html40$colon$template$dot$4() 

       at GregorSamsa.applyTemplates()
       at 
GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$TR$slash$REC$dash$html40$colon$template$dot$3() 

       at GregorSamsa.applyTemplates()
       at 
GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$TR$slash$REC$dash$html40$colon$template$dot$2() 

       at GregorSamsa.applyTemplates()
       at 
GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$TR$slash$REC$dash$html40$colon$template$dot$0() 

       at GregorSamsa.applyTemplates()
       at GregorSamsa.applyTemplates()
       at GregorSamsa.transform()
       at 
com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet.transform(AbstractTranslet.java:594) 

       at 
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:640) 

       at 
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:279) 

       at 
org.crosswire.common.xml.TransformingSAXEventProvider.provideSAXEvents(TransformingSAXEventProvider.java:139) 

       at org.crosswire.common.xml.XMLUtil.writeToString(XMLUtil.java:75)
       at 
org.crosswire.bibledesktop.display.textpane.TextPaneBookDataDisplay.refresh(TextPaneBookDataDisplay.java:129) 

       at 
org.crosswire.bibledesktop.display.textpane.TextPaneBookDataDisplay.setBookData(TextPaneBookDataDisplay.java:86) 

       at 
org.crosswire.bibledesktop.display.proxy.ProxyBookDataDisplay.setBookData(ProxyBookDataDisplay.java:93) 

       at 
org.crosswire.bibledesktop.display.tab.TabbedBookDataDisplay.setBookData(TabbedBookDataDisplay.java:152) 

       at 
org.crosswire.bibledesktop.display.splitlist.SplitBookDataDisplay.setBookData(SplitBookDataDisplay.java:115) 

       at 
org.crosswire.bibledesktop.book.BibleViewPane.setKey(BibleViewPane.java:274) 

       at 
org.crosswire.bibledesktop.book.BibleViewPane$1.passageSelected(BibleViewPane.java:91) 

       at 
org.crosswire.bibledesktop.book.DisplaySelectPane.fireCommandMade(DisplaySelectPane.java:573) 

       at 
org.crosswire.bibledesktop.book.DisplaySelectPane.updateDisplay(DisplaySelectPane.java:382) 

       at 
org.crosswire.bibledesktop.book.DisplaySelectPane.setText(DisplaySelectPane.java:420) 

       at 
org.crosswire.bibledesktop.book.DisplaySelectPane.keyChanged(DisplaySelectPane.java:526) 

       at 
org.crosswire.bibledesktop.passage.KeySidebar.fireKeyChanged(KeySidebar.java:301) 

       at 
org.crosswire.bibledesktop.passage.KeySidebar.setKey(KeySidebar.java:182)
       at 
org.crosswire.bibledesktop.passage.KeySidebar.passageSelected(KeySidebar.java:238) 

       at 
org.crosswire.bibledesktop.book.DisplaySelectPane.fireCommandMade(DisplaySelectPane.java:573) 

       at 
org.crosswire.bibledesktop.book.DisplaySelectPane.updateDisplay(DisplaySelectPane.java:382) 

       at 
org.crosswire.bibledesktop.book.DisplaySelectPane.doPassageAction(DisplaySelectPane.java:266) 

       ... 33 more



More information about the bibledesktop-users mailing list