Problem with client

26 views
Skip to first unread message

Tom Willcocks

unread,
May 6, 2010, 8:55:00 AM5/6/10
to Open Wonderland Forum
My PC was was running Wonderland fine yesterday, but no longer.
It gets as far as showing the log screen before crashing. The log is
frozen, and there's nothing in there worth copying. Trace files don't
contain any more:
06-May-2010 12:21:54 org.jdesktop.wonderland.client.jme.Webstart
webstartSetup
WARNING: Running from Java Web Start. Performing setup.

So, of course, I went and deleted .wonderland, but this didn't help.
I then went into control panel > java > temporary internet
files(settings) > delete files...
This didn't help either, still the same error.

Before it broke I was testing a swing app I've made, the client was
locking up intermittently on login, so I set the help > error log
window to appear on startup. Can't think of anything else that's
changed.
I've tried each of our servers, and the sunlabs one, and it happens on
all of them. I can reach these servers from another computer as
normal (so it's not a server issue).

Anyway, a reason for it breaking would be nice, but for now I just
need to get it working again.

Apart from deleting .wonderland and clearing java's temporary internet
files, what is there to get my computer back to how it was before?

Thanks,
Tom

Tom Willcocks

unread,
May 6, 2010, 9:00:37 AM5/6/10
to Open Wonderland Forum
Oh, just looked at an older trace file, and it contains this over and over again:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at javax.swing.text.BoxView.baselineRequirements(Unknown Source)
    at javax.swing.text.ParagraphView$Row.calculateMinorAxisRequirements(Unknown Source)
    at javax.swing.text.BoxView.checkRequests(Unknown Source)
    at javax.swing.text.BoxView.getMinimumSpan(Unknown Source)
    at javax.swing.text.BoxView.calculateMajorAxisRequirements(Unknown Source)
    at javax.swing.text.BoxView.checkRequests(Unknown Source)
    at javax.swing.text.BoxView.getPreferredSpan(Unknown Source)
    at javax.swing.text.FlowView.layout(Unknown Source)
    at org.jdesktop.wonderland.client.jme.LogViewerFrame$NoWrapEditorKit$1$1.layout(LogViewerFrame.java:825)
    at javax.swing.text.BoxView.setSize(Unknown Source)
    at javax.swing.text.BoxView.updateChildSizes(Unknown Source)
    at javax.swing.text.BoxView.setSpanOnAxis(Unknown Source)
    at javax.swing.text.BoxView.layout(Unknown Source)
    at javax.swing.text.BoxView.setSize(Unknown Source)
    at javax.swing.plaf.basic.BasicTextUI$RootView.setSize(Unknown Source)
    at javax.swing.plaf.basic.BasicTextUI.viewToModel(Unknown Source)
    at javax.swing.plaf.basic.BasicTextUI.viewToModel(Unknown Source)
    at javax.swing.text.JTextComponent.viewToModel(Unknown Source)
    at org.jdesktop.wonderland.client.jme.LogViewerFrame$ManualScrollEditorPane.preModify(LogViewerFrame.java:868)
    at org.jdesktop.wonderland.client.jme.LogViewerFrame.addRecord(LogViewerFrame.java:216)
    at org.jdesktop.wonderland.client.jme.LogViewerHandler$1.run(LogViewerHandler.java:49)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

Guess there's problem with the WL log viewer.
Don't know why the problem would persist after deleting .wonderland, though :/

Cheers,
Tom

Josmas Flores

unread,
May 6, 2010, 9:27:20 AM5/6/10
to openwon...@googlegroups.com
Hey Tom, are you also deleting .wonderland-server?

If you are using ubuntu, some people found that this kind of problems are fixed by deleting the .java folder (in your home). There might be a similar folder in other platforms that might be getting in the way?

you could also try jstack to see what's going on with your threads.

I have also found that when you simply delete temporary files (from the button in the javaws viewer), it doesn't quite do the job, so i go and 'see' the files and delete them myself.

Other than that... dunno; make sure you are not wearing a red t-shirt and brown socks. the vm chokes on that combination quite frequently :P :D

cheers,
Jos

Tom Willcocks

unread,
May 6, 2010, 10:05:47 AM5/6/10
to openwon...@googlegroups.com
I did backup and remove .wonderland-server and restart one of our servers, to see it what would help, but it didn't.

I'm using WinXP, is there a .java folder on XP?  I guess it's keeping something even though I "deleted temporary files", anyone know where?

I've not used jstack before, I'll look into it though.

Thanks for the suggestions,
Tom

Tom Willcocks

unread,
May 6, 2010, 10:57:32 AM5/6/10
to openwon...@googlegroups.com
Z:\>jstack 2336
2010-05-06 15:55:15
Full thread dump Java HotSpot(TM) Client VM (16.0-b13 mixed mode):

"pool-1-thread-1" daemon prio=6 tid=0x4cb07400 nid=0xbd4 waiting on condition [0x4d4ff000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x03d37a90> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
        at java.util.concurrent.DelayQueue.take(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

"Long sleeping thread" daemon prio=6 tid=0x4cae2800 nid=0x5d8 waiting on condition [0x4d4af000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at com.sun.scenario.animation.MasterTimer$LongSleepingThread.run(MasterTimer.java:87)

"EventDistributor" prio=6 tid=0x4c85cc00 nid=0x1014 waiting on condition [0x4d45f000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x03c5f960> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
        at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
        at org.jdesktop.wonderland.client.input.EventDistributor.run(EventDistributor.java:149)
        at java.lang.Thread.run(Unknown Source)

"Processor Manager Thread" prio=6 tid=0x48d9e400 nid=0xb94 in Object.wait() [0x4d40f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03a3f7c0> (a org.jdesktop.mtgame.ProcessorManager)
        at org.jdesktop.mtgame.ProcessorManager.waitForProcessorsTriggered(ProcessorManager.java:669)
        - locked <0x03a3f7c0> (a org.jdesktop.mtgame.ProcessorManager)
        at org.jdesktop.mtgame.ProcessorManager.run(ProcessorManager.java:310)

"Processor 3" prio=6 tid=0x4c8a0000 nid=0x1498 in Object.wait() [0x4d3bf000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03a4e6f8> (a org.jdesktop.mtgame.ProcessorThread)
        at java.lang.Object.wait(Object.java:485)
        at org.jdesktop.mtgame.ProcessorThread.getNextProcessorComponent(ProcessorThread.java:183)
        - locked <0x03a4e6f8> (a org.jdesktop.mtgame.ProcessorThread)
        at org.jdesktop.mtgame.ProcessorThread.run(ProcessorThread.java:114)

"Processor 2" prio=6 tid=0x4cada400 nid=0x5b4 in Object.wait() [0x4d36f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03a4e418> (a org.jdesktop.mtgame.ProcessorThread)
        at java.lang.Object.wait(Object.java:485)
        at org.jdesktop.mtgame.ProcessorThread.getNextProcessorComponent(ProcessorThread.java:183)
        - locked <0x03a4e418> (a org.jdesktop.mtgame.ProcessorThread)
        at org.jdesktop.mtgame.ProcessorThread.run(ProcessorThread.java:114)

"Processor 1" prio=6 tid=0x4c6e2400 nid=0x944 in Object.wait() [0x4d31f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03a4e168> (a org.jdesktop.mtgame.ProcessorThread)
        at java.lang.Object.wait(Object.java:485)
        at org.jdesktop.mtgame.ProcessorThread.getNextProcessorComponent(ProcessorThread.java:183)
        - locked <0x03a4e168> (a org.jdesktop.mtgame.ProcessorThread)
        at org.jdesktop.mtgame.ProcessorThread.run(ProcessorThread.java:114)

"Processor 0" prio=6 tid=0x4c9f4c00 nid=0x1100 in Object.wait() [0x4cacf000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03a4c910> (a org.jdesktop.mtgame.ProcessorThread)
        at java.lang.Object.wait(Object.java:485)
        at org.jdesktop.mtgame.ProcessorThread.getNextProcessorComponent(ProcessorThread.java:183)
        - locked <0x03a4c910> (a org.jdesktop.mtgame.ProcessorThread)
        at org.jdesktop.mtgame.ProcessorThread.run(ProcessorThread.java:114)

"Timer-0" daemon prio=6 tid=0x4c8d0400 nid=0x12f8 in Object.wait() [0x49fbf000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x18361740> (a java.util.TaskQueue)
        at java.lang.Object.wait(Object.java:485)
        at java.util.TimerThread.mainLoop(Unknown Source)
        - locked <0x18361740> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Unknown Source)

"derby.antiGC" daemon prio=2 tid=0x4c882000 nid=0x12a4 in Object.wait() [0x49f1f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x18352560> (a org.apache.derby.impl.services.monitor.AntiGC)
        at java.lang.Object.wait(Object.java:485)
        at org.apache.derby.impl.services.monitor.AntiGC.run(Unknown Source)
        - locked <0x18352560> (a org.apache.derby.impl.services.monitor.AntiGC)
        at java.lang.Thread.run(Unknown Source)

"TimerQueue" daemon prio=6 tid=0x48dbd800 nid=0xcd0 in Object.wait() [0x49caf000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x180e3148> (a javax.swing.TimerQueue)
        at javax.swing.TimerQueue.run(Unknown Source)
        - locked <0x180e3148> (a javax.swing.TimerQueue)
        at java.lang.Thread.run(Unknown Source)

"javawsApplicationMain" prio=6 tid=0x4920c800 nid=0x1750 waiting for monitor entry [0x49f6f000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at java.awt.Component.setFont(Unknown Source)
        - waiting to lock <0x18068fa8> (a java.awt.Component$AWTTreeLock)
        at java.awt.Container.setFont(Unknown Source)
        at javax.swing.JComponent.setFont(Unknown Source)
        at javax.swing.LookAndFeel.installColorsAndFont(Unknown Source)
        at javax.swing.plaf.basic.BasicPanelUI.installDefaults(Unknown Source)
        at javax.swing.plaf.basic.BasicPanelUI.installUI(Unknown Source)
        at javax.swing.JComponent.setUI(Unknown Source)
        at javax.swing.JPanel.setUI(Unknown Source)
        at javax.swing.JPanel.updateUI(Unknown Source)
        at javax.swing.JPanel.<init>(Unknown Source)
        at javax.swing.JPanel.<init>(Unknown Source)
        at javax.swing.JPanel.<init>(Unknown Source)
        at javax.swing.JRootPane.createGlassPane(Unknown Source)
        at javax.swing.JRootPane.<init>(Unknown Source)
        at javax.swing.JFrame.createRootPane(Unknown Source)
        at javax.swing.JFrame.frameInit(Unknown Source)
        at javax.swing.JFrame.<init>(Unknown Source)
        at org.jdesktop.wonderland.client.jme.MainFrameImpl.<init>(MainFrameImpl.java:83)
        at org.jdesktop.wonderland.client.jme.JmeClientMain.createUI(JmeClientMain.java:568)
        at org.jdesktop.wonderland.client.jme.JmeClientMain.<init>(JmeClientMain.java:209)
        at org.jdesktop.wonderland.client.jme.JmeClientMain.main(JmeClientMain.java:543)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at com.sun.javaws.Launcher.executeApplication(Unknown Source)
        at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
        at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
        at com.sun.javaws.Launcher.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

"D3D Screen Updater" daemon prio=8 tid=0x4921e800 nid=0x1394 in Object.wait() [0x4a09f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x1811f160> (a java.lang.Object)
        at sun.java2d.d3d.D3DScreenUpdateManager.run(Unknown Source)
        - locked <0x1811f160> (a java.lang.Object)
        at java.lang.Thread.run(Unknown Source)

"CacheCleanUpThread" daemon prio=6 tid=0x4913b000 nid=0x1048 in Object.wait() [0x49c2f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x18105b60> (a com.sun.deploy.cache.CleanupThread)
        at java.lang.Object.wait(Object.java:485)
        at com.sun.deploy.cache.CleanupThread.run(Unknown Source)
        - locked <0x18105b60> (a com.sun.deploy.cache.CleanupThread)

"CacheMemoryCleanUpThread" daemon prio=6 tid=0x4913a000 nid=0xae8 in Object.wait() [0x49bdf000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x181042d0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        - locked <0x181042d0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at com.sun.deploy.cache.MemoryCache$LoadedResourceCleanupThread.run(Unknown Source)

"TimerQueue" daemon prio=6 tid=0x4912ac00 nid=0x5c4 in Object.wait() [0x49aef000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x180e9d58> (a javax.swing.TimerQueue)
        at javax.swing.TimerQueue.run(Unknown Source)
        - locked <0x180e9d58> (a javax.swing.TimerQueue)
        at java.lang.Thread.run(Unknown Source)

"ConsoleWriterThread" daemon prio=6 tid=0x490e4c00 nid=0x1290 in Object.wait() [0x4983f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x18081318> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:485)
        at com.sun.deploy.util.ConsoleTraceListener$ConsoleWriterThread.run(Unknown Source)
        - locked <0x18081318> (a java.lang.Object)

"AWT-EventQueue-1" prio=6 tid=0x490df400 nid=0xed4 in Object.wait() [0x497ef000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x182bcff8> (a javax.swing.text.DefaultStyledDocument)
        at java.lang.Object.wait(Object.java:485)
        at javax.swing.text.AbstractDocument.readLock(Unknown Source)
        - locked <0x182bcff8> (a javax.swing.text.DefaultStyledDocument)
        at javax.swing.plaf.basic.BasicTextUI.getMaximumSize(Unknown Source)
        at javax.swing.JEditorPane.getScrollableTracksViewportWidth(Unknown Source)
        at javax.swing.ScrollPaneLayout.layoutContainer(Unknown Source)
        at java.awt.Container.layout(Unknown Source)
        at java.awt.Container.doLayout(Unknown Source)
        at java.awt.Container.validateTree(Unknown Source)
        at java.awt.Container.validate(Unknown Source)
        - locked <0x18068fa8> (a java.awt.Component$AWTTreeLock)
        at javax.swing.JViewport.validateView(Unknown Source)
        at javax.swing.JViewport.scrollRectToVisible(Unknown Source)
        at javax.swing.JComponent.scrollRectToVisible(Unknown Source)
        at org.jdesktop.wonderland.client.jme.LogViewerFrame$ManualScrollEditorPane.postModify(LogViewerFrame.java:915)
        at org.jdesktop.wonderland.client.jme.LogViewerFrame.addRecord(LogViewerFrame.java:243)

        at org.jdesktop.wonderland.client.jme.LogViewerHandler$1.run(LogViewerHandler.java:49)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

"AWT-EventQueue-0" prio=6 tid=0x4909c000 nid=0x7d8 waiting for monitor entry [0x4979f000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at java.awt.Component.invalidate(Unknown Source)
        - waiting to lock <0x18068fa8> (a java.awt.Component$AWTTreeLock)
        at java.awt.Container.invalidate(Unknown Source)
        at javax.swing.JComponent.revalidate(Unknown Source)
        at javax.swing.plaf.basic.BasicTextUI$RootView.preferenceChanged(Unknown Source)
        at javax.swing.text.View.preferenceChanged(Unknown Source)
        at javax.swing.text.BoxView.preferenceChanged(Unknown Source)
        at javax.swing.text.View.preferenceChanged(Unknown Source)
        at javax.swing.text.BoxView.preferenceChanged(Unknown Source)
        at javax.swing.text.FlowView$FlowStrategy.insertUpdate(Unknown Source)
        at javax.swing.text.FlowView.loadChildren(Unknown Source)
        at javax.swing.text.CompositeView.setParent(Unknown Source)
        at javax.swing.text.FlowView.setParent(Unknown Source)
        at javax.swing.text.CompositeView.replace(Unknown Source)
        at javax.swing.text.BoxView.replace(Unknown Source)
        at javax.swing.text.View.updateChildren(Unknown Source)
        at javax.swing.text.View.insertUpdate(Unknown Source)
        at javax.swing.plaf.basic.BasicTextUI$RootView.insertUpdate(Unknown Source)
        at javax.swing.plaf.basic.BasicTextUI$UpdateHandler.insertUpdate(Unknown Source)
        at javax.swing.text.AbstractDocument.fireInsertUpdate(Unknown Source)
        at javax.swing.text.AbstractDocument.handleInsertString(Unknown Source)
        at javax.swing.text.AbstractDocument.insertString(Unknown Source)
        at org.jdesktop.wonderland.client.jme.LogViewerFrame.addRecord(LogViewerFrame.java:223)

        at org.jdesktop.wonderland.client.jme.LogViewerHandler$1.run(LogViewerHandler.java:49)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

"traceMsgQueueThread" daemon prio=6 tid=0x49086c00 nid=0x160c in Object.wait() [0x496ef000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x1806ede0> (a java.util.ArrayList)
        at java.lang.Object.wait(Object.java:485)
        at com.sun.deploy.util.Trace$TraceMsgQueueChecker.run(Unknown Source)
        - locked <0x1806ede0> (a java.util.ArrayList)
        at java.lang.Thread.run(Unknown Source)

"DestroyJavaVM" prio=6 tid=0x00398800 nid=0x1324 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

"Javaws Secure Thread" daemon prio=6 tid=0x49062400 nid=0x6e4 in Object.wait() [0x4939f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x1806d4e0> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:485)
        at com.sun.javaws.ui.JavawsSysRun$SecureThread.run(Unknown Source)
        - locked <0x1806d4e0> (a java.lang.Object)

"AWT-Windows" daemon prio=6 tid=0x49078400 nid=0x14d0 runnable [0x00a0f000]
   java.lang.Thread.State: RUNNABLE
        at sun.awt.windows.WToolkit.eventLoop(Native Method)
        at sun.awt.windows.WToolkit.run(Unknown Source)

"AWT-Shutdown" prio=6 tid=0x49060400 nid=0x12ec in Object.wait() [0x4934f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x18067278> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:485)
        at sun.awt.AWTAutoShutdown.run(Unknown Source)
        - locked <0x18067278> (a java.lang.Object)
        at java.lang.Thread.run(Unknown Source)

"Java2D Disposer" daemon prio=10 tid=0x4906d400 nid=0x1638 in Object.wait() [0x492ff000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x1806d1d0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        - locked <0x1806d1d0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at sun.java2d.Disposer.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

"Low Memory Detector" daemon prio=6 tid=0x48d51c00 nid=0x15c0 runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x48d4b400 nid=0xdf4 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

"Attach Listener" daemon prio=10 tid=0x48d49c00 nid=0x1588 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x48d48800 nid=0x1470 runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=0x48d39400 nid=0x3fc in Object.wait() [0x48eaf000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x18050990> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        - locked <0x18050990> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

"Reference Handler" daemon prio=10 tid=0x48d34800 nid=0x171c in Object.wait() [0x48e5f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x180508b8> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:485)
        at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
        - locked <0x180508b8> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=10 tid=0x48d31c00 nid=0xb30 runnable

"VM Periodic Task Thread" prio=10 tid=0x48d53c00 nid=0x14f4 waiting on condition

JNI global references: 1574

Jonathan Kaplan

unread,
May 7, 2010, 1:48:40 AM5/7/10
to openwon...@googlegroups.com
The preferences for the log viewer are stored using java.util.Preferences:


These preferences are stored in different places on different operating systems. I Windows, I think they are stored in the registry (which is probably a huge pain to clear out). If you are using a source build, it might be fastest to comment out the "launch on startup" code for the log viewer at line 117 in MainFrameImpl:


Also, please file a bug on the exception, since we don't see that on other platforms.

Tom Willcocks

unread,
May 7, 2010, 11:11:58 AM5/7/10
to openwon...@googlegroups.com
:(
I commented out that code, and it let me get a little farther, but not much.  Black Screen with the following exception repeated infinitely:
Exception in thread "AWT-EventQueue-1" java.lang.ArrayIndexOutOfBoundsException: 0
    at javax.swing.text.BoxView.layoutMinorAxis(Unknown Source)

    at javax.swing.text.BoxView.setSpanOnAxis(Unknown Source)
    at javax.swing.text.BoxView.layout(Unknown Source)
    at javax.swing.text.FlowView.layout(Unknown Source)
    at org.jdesktop.wonderland.client.jme.LogViewerFrame$NoWrapEditorKit$1$1.layout(LogViewerFrame.java:825)
    at javax.swing.text.BoxView.setSize(Unknown Source)
    at javax.swing.text.BoxView.updateChildSizes(Unknown Source)
    at javax.swing.text.BoxView.setSpanOnAxis(Unknown Source)
    at javax.swing.text.BoxView.layout(Unknown Source)
    at javax.swing.text.BoxView.setSize(Unknown Source)
    at javax.swing.plaf.basic.BasicTextUI$RootView.setSize(Unknown Source)
    at javax.swing.plaf.basic.BasicTextUI.viewToModel(Unknown Source)
    at javax.swing.plaf.basic.BasicTextUI.viewToModel(Unknown Source)
    at javax.swing.text.JTextComponent.viewToModel(Unknown Source)
    at org.jdesktop.wonderland.client.jme.LogViewerFrame$ManualScrollEditorPane.preModify(LogViewerFrame.java:868)
    at org.jdesktop.wonderland.client.jme.LogViewerFrame.addRecord(LogViewerFrame.java:216)
    at org.jdesktop.wonderland.client.jme.LogViewerHandler$1.run(LogViewerHandler.java:49)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

Well, I'm making backups ready for a reformat.  See any "preferences" make it past that! :P
Yeah, I'll file a bug on this. 
Thanks,
Tom

Jonathan Kaplan

unread,
May 7, 2010, 11:48:15 AM5/7/10
to openwon...@googlegroups.com
It should be easy enough to ignore the error: just catch other exception in the try/catch block in LogViewerFrame around line 868, in preModify(). If it is just trying to log this exception over and over, that should break the cycle. Of course you need to make sure not to log any messages when you catch an exception in the log viewer :-):

try {
    return getDocument().createPosition(viewToModel(upperLeft));
} catch (BadLocationException ble) {
    // logging messages will just cause more errors!
    ble.printStackTrace();
    return null;
} catch (Exception ex) {
    ex.printStackTrace();
    return null;
}

You may also need to handle the null case by returning if "pos" is null in addRecord().
Reply all
Reply to author
Forward
0 new messages