This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 39966 - Investigate/document index merging problems
Summary: Investigate/document index merging problems
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Help System (show other bugs)
Version: 3.x
Hardware: PC Linux
: P4 blocker (vote)
Assignee: Patrick Keegan
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-02-11 14:51 UTC by _ kherink
Modified: 2008-12-23 00:14 UTC (History)
5 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description _ kherink 2004-02-11 14:51:57 UTC
helpsets that work fine with nb3.5.1 are now
broken in nb3.6beta (public beta for the netbeans
website).
I am assuming that this is a javahelp problem -
the implementation should be backwards compatible.
This problem can be easily replicated by
installing the current kjava module into nb3.6 and
attempting to do:

Help > Contents

I am including a stacktrace generated when the
error occurs:

java.lang.reflect.InvocationTargetException
        at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at
java.lang.reflect.Method.invoke(Method.java:324)
        at
javax.help.MergeHelpUtilities.mergeNodeChildren(MergeHelpUtilities.java:95)
        at
javax.help.SortMerge.processMerge(SortMerge.java:70)
        at
javax.help.plaf.basic.BasicIndexNavigatorUI.doMerge(BasicIndexNavigatorUI.java:397)
        at
javax.help.plaf.basic.BasicIndexNavigatorUI.addSubHelpSets(BasicIndexNavigatorUI.java:284)
        at
javax.help.plaf.basic.BasicIndexNavigatorUI.loadData(BasicIndexNavigatorUI.java:229)
        at
javax.help.plaf.basic.BasicIndexNavigatorUI.reloadData(BasicIndexNavigatorUI.java:200)
        at
javax.help.plaf.basic.BasicIndexNavigatorUI.installUI(BasicIndexNavigatorUI.java:144)
        at
javax.swing.JComponent.setUI(JComponent.java:449)
        at
javax.help.JHelpNavigator.setUI(JHelpNavigator.java:249)
        at
javax.help.JHelpNavigator.updateUI(JHelpNavigator.java:268)
        at
javax.help.JHelpNavigator.<init>(JHelpNavigator.java:97)
        at
javax.help.JHelpIndexNavigator.<init>(JHelpIndexNavigator.java:53)
        at
javax.help.IndexView.createNavigator(IndexView.java:103)
        at
javax.help.JHelp.setupNavigators(JHelp.java:140)
        at javax.help.JHelp.<init>(JHelp.java:118)
        at javax.help.JHelp.<init>(JHelp.java:68)
        at
org.netbeans.modules.javahelp.JavaHelp.createJHelp(JavaHelp.java:737)
        at
org.netbeans.modules.javahelp.JavaHelp.showHelp(JavaHelp.java:341)
        at
org.netbeans.modules.javahelp.HelpCtxProcessor$ShortcutAction.actionPerformed(HelpCtxProcessor.java:179)
        at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
        at
javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
        at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
        at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
        at
javax.swing.AbstractButton.doClick(AbstractButton.java:289)
        at
javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1113)
        at
javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:943)
        at
java.awt.Component.processMouseEvent(Component.java:5100)
        at
java.awt.Component.processEvent(Component.java:4897)
        at
java.awt.Container.processEvent(Container.java:1569)
        at
java.awt.Component.dispatchEventImpl(Component.java:3615)
        at
java.awt.Container.dispatchEventImpl(Container.java:1627)
        at
java.awt.Component.dispatchEvent(Component.java:3477)
        at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
        at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
        at
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
        at
java.awt.Container.dispatchEventImpl(Container.java:1613)
        at
java.awt.Window.dispatchEventImpl(Window.java:1606)
        at
java.awt.Component.dispatchEvent(Component.java:3477)
        at
java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
        at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
        at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
        at
java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Caused by: java.lang.NullPointerException
        at
java.util.Arrays.mergeSort(Arrays.java:1152)
        at
java.util.Arrays.mergeSort(Arrays.java:1163)
        at
java.util.Arrays.mergeSort(Arrays.java:1163)
        at
java.util.Arrays.mergeSort(Arrays.java:1163)
        at
java.util.Arrays.mergeSort(Arrays.java:1163)
        at java.util.Arrays.sort(Arrays.java:1079)
        at
javax.help.SortMerge.sortNode(SortMerge.java:223)
        at
javax.help.SortMerge.mergeNodeChildren(SortMerge.java:183)
        ... 48 more
[org.netbeans.modules.javahelp] ***********
Exception occurred ************ at Wed Feb 11
15:09:07 CET 2004
Annotation: While trying to display: Help - All
java.lang.RuntimeException: Could not find or
execute mergeNodeChildren for javax.help.SortMerge
        at
javax.help.MergeHelpUtilities.mergeNodeChildren(MergeHelpUtilities.java:98)
        at
javax.help.SortMerge.processMerge(SortMerge.java:70)
        at
javax.help.plaf.basic.BasicIndexNavigatorUI.doMerge(BasicIndexNavigatorUI.java:397)
        at
javax.help.plaf.basic.BasicIndexNavigatorUI.addSubHelpSets(BasicIndexNavigatorUI.java:284)
        at
javax.help.plaf.basic.BasicIndexNavigatorUI.loadData(BasicIndexNavigatorUI.java:229)
        at
javax.help.plaf.basic.BasicIndexNavigatorUI.reloadData(BasicIndexNavigatorUI.java:200)
        at
javax.help.plaf.basic.BasicIndexNavigatorUI.installUI(BasicIndexNavigatorUI.java:144)
        at
javax.swing.JComponent.setUI(JComponent.java:449)
        at
javax.help.JHelpNavigator.setUI(JHelpNavigator.java:249)
        at
javax.help.JHelpNavigator.updateUI(JHelpNavigator.java:268)
        at
javax.help.JHelpNavigator.<init>(JHelpNavigator.java:97)
        at
javax.help.JHelpIndexNavigator.<init>(JHelpIndexNavigator.java:53)
        at
javax.help.IndexView.createNavigator(IndexView.java:103)
        at
javax.help.JHelp.setupNavigators(JHelp.java:140)
        at javax.help.JHelp.<init>(JHelp.java:118)
        at javax.help.JHelp.<init>(JHelp.java:68)
[catch] at
org.netbeans.modules.javahelp.JavaHelp.createJHelp(JavaHelp.java:737)
        at
org.netbeans.modules.javahelp.JavaHelp.showHelp(JavaHelp.java:341)
        at
org.netbeans.modules.javahelp.HelpCtxProcessor$ShortcutAction.actionPerformed(HelpCtxProcessor.java:179)
        at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
        at
javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
        at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
        at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
        at
javax.swing.AbstractButton.doClick(AbstractButton.java:289)
        at
javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1113)
        at
javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:943)
        at
java.awt.Component.processMouseEvent(Component.java:5100)
        at
java.awt.Component.processEvent(Component.java:4897)
        at
java.awt.Container.processEvent(Container.java:1569)
        at
java.awt.Component.dispatchEventImpl(Component.java:3615)
        at
java.awt.Container.dispatchEventImpl(Container.java:1627)
        at
java.awt.Component.dispatchEvent(Component.java:3477)
        at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
        at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
        at
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
        at
java.awt.Container.dispatchEventImpl(Container.java:1613)
        at
java.awt.Window.dispatchEventImpl(Window.java:1606)
        at
java.awt.Component.dispatchEvent(Component.java:3477)
        at
java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
        at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
        at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
        at
java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
*********** Exception occurred ************ at Wed
Feb 11 15:09:07 CET 2004
java.lang.NullPointerException
        at
org.netbeans.modules.javahelp.JavaHelp.displayHelpInFrame(JavaHelp.java:197)
        at
org.netbeans.modules.javahelp.JavaHelp.showHelp(JavaHelp.java:345)
        at
org.netbeans.modules.javahelp.HelpCtxProcessor$ShortcutAction.actionPerformed(HelpCtxProcessor.java:179)
        at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
        at
javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
        at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
        at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
        at
javax.swing.AbstractButton.doClick(AbstractButton.java:289)
        at
javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1113)
        at
javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:943)
        at
java.awt.Component.processMouseEvent(Component.java:5100)
        at
java.awt.Component.processEvent(Component.java:4897)
        at
java.awt.Container.processEvent(Container.java:1569)
        at
java.awt.Component.dispatchEventImpl(Component.java:3615)
        at
java.awt.Container.dispatchEventImpl(Container.java:1627)
        at
java.awt.Component.dispatchEvent(Component.java:3477)
        at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
        at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
        at
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
        at
java.awt.Container.dispatchEventImpl(Container.java:1613)
        at
java.awt.Window.dispatchEventImpl(Window.java:1606)
        at
java.awt.Component.dispatchEvent(Component.java:3477)
        at
java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
[catch] at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
        at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
        at
java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Comment 1 _ tboudreau 2004-02-11 14:58:01 UTC
Adding Jesse to cc - any suggestions here?
Comment 2 _ tboudreau 2004-02-12 14:45:50 UTC
Docs folks, any idea if this is something that is broken because of changes you've been 
doing?
Comment 3 Patrick Keegan 2004-02-12 18:07:44 UTC
adding Richard to the CCs. Richard, could this be a problem with help
set merge types? My guess is that the mobility help set has some
less-than-standard XML (it validates OK, but John says it looks weird)
that sets off problems with the merging.
Comment 4 Patrick Keegan 2004-02-13 17:42:46 UTC
Tim, Karel told me that the Mobility instance of this problem has been
fixed by removing certain empty "guide" entries from the index, so you
shouldn't have to worry about it.

Richard, it appears that the use of targetless indexitem entries
triggered a problem with the sort merge type.

Karel, can you resolve the bug.
Comment 5 _ tboudreau 2004-02-13 18:02:54 UTC
Patrick, please reassign this to Karel (?) so it goes off my radar and onto his.
Comment 6 Patrick Keegan 2004-02-13 18:43:00 UTC
Reassigning to Karel so that Tim doesn't have to answer questions
about this issue at his next bug review. ;->
Comment 7 _ ttran 2004-02-14 15:47:22 UTC
can we move this bug to the 3rd-party cat so that it gets off my radar
as well?  Seems like a bug in the j2me module, not in core
Comment 8 John Jullion-ceccarelli 2004-02-16 09:36:12 UTC
This bug is fixed in the kjava helpset, but the problem needs to be
documented for third parties. I'm lowering priority and reassigning
back to Tim (sorry, Tim).

Promo B implementation of JavaHelp 2.0 is not truly and fully
backwards compatible with the previous help system. Or at least, when
we turn on helpset merging, helpsets that used to work in 3.5 no
longer work and can break the help system for the whole IDE. 

Seems like this is worth investigating (even post-humously after Promo
B goes out). We should know whether it's a bug in JavaHelp or the way
we've implemented it. Also, is there going to be a module migration
guide for promo B? If so, it needs to be mentioned there. 
Comment 9 _ tboudreau 2004-02-16 11:57:13 UTC
If someone can write up the do's and don'ts, I can add them to the upgrade guide.
Comment 10 Patrick Keegan 2004-02-16 13:21:46 UTC
I'll add the info to update guide, since I have to add other info anyway. 

My guess is that the bug *is* in JavaHelp and it probably has to do
with the merge types. 

Karel showed me Anatole's integration that got rid of the targetless
placeholders. John is right. The placeholders were not a problem in
3.5, so they should not be a problem in 3.6. However, I think the
problem is in JH (perhaps in the Sort merge type), not the IDE. I
suggest filing a bug in JH. Maybe Richard could help here, since I
believe he wrote the merge types for JH 2.0
Comment 11 Marian Mirilovic 2004-06-14 14:12:42 UTC
re-evaluate please ...
Comment 12 _ kherink 2006-07-06 12:56:20 UTC
fixed