![]() |
|
|||||||
| WWJ Release Announcements WWJava release announcements thread, no other topics please. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
|
|
#1 |
|
WWJ Technical Manager
Join Date: May 2007
Location: Seattle
Posts: 1,027
![]() |
The World Wind Java SDK alpha 4 - version 0.4.1 is available.
Download WWJ SDK 0.4 (Zip 6.5M) or try the java web start demo 0.4 from the NASA World Wind site. WWJ changes from 0.4.0 to 0.4.1
|
|
|
|
|
|
#2 |
|
WWJ Consultant
Join Date: Jun 2005
Location: Saint-Paul de Vence, Alpes Maritimes, France
Posts: 3,412
![]() |
Note that this version also contains an updated set of great circle and rhumb line computation methods in LatLon. Previous spherical methods have been renamed to greatCircleAzimuth, Distance and EndPosition. New rhumb methods are named rhumbAzimuth, Distance and EndPosition.
A few non unicode characters have also been removed from a couple classes. |
|
|
|
|
|
#3 |
|
WWJ Technical Manager
Join Date: May 2007
Location: Seattle
Posts: 1,027
![]() |
The new great circle and rhumb line code didn't make it into 0.4.1. I wanted to quickly make the network status fix available first. They'll be in an update in the next day or two.
|
|
|
|
|
|
#4 |
|
Senior Member
Join Date: Jul 2007
Location: Mirabel, Quebec, Canada
Posts: 225
![]() |
Hi Tag and Pat,
Testing with 0.4.1 "out-of-the-box" behind my corporate firewall (ref the thread about problems with 0.4.0): -> The globe still freezes for 20 seconds or so, and then it's ok for 5 seconds or so, and then it freezes again. This cycle repeats many times, but after a minute or two I didn't think the pattern would change, so I stopped trying. Here's the thread dump: Code:
2007-12-06 09:30:42 Full thread dump Java HotSpot(TM) Client VM (1.6.0_01-b06 mixed mode): "Idle World Wind Task " daemon prio=2 tid=0x0b0c4800 nid=0xa40 waiting on condition [0x1ea3f000..0x1ea3fc14] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x02ff83f8> (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.ArrayBlockingQueue.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) "Idle World Wind Retriever" daemon prio=2 tid=0x0b37dc00 nid=0x394 waiting on condition [0x1e9ef000..0x1e9efc94] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x02ff8810> (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.PriorityBlockingQueue.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) "Idle World Wind Retriever" daemon prio=2 tid=0x0b35ec00 nid=0x9e0 waiting on condition [0x1e99f000..0x1e99fd14] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x02ff8810> (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.PriorityBlockingQueue.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) "Idle World Wind Retriever" daemon prio=2 tid=0x0b3c7800 nid=0xa2c waiting on condition [0x1e14f000..0x1e14fd94] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x02ff8810> (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.PriorityBlockingQueue.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) "Idle World Wind Retriever" daemon prio=2 tid=0x0b2b7400 nid=0x7d8 waiting on condition [0x1e0ff000..0x1e0ffa14] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x02ff8810> (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.PriorityBlockingQueue.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) "Idle World Wind Retriever" daemon prio=2 tid=0x0b261800 nid=0x8d8 waiting on condition [0x1e0af000..0x1e0afa94] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x02ff8810> (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.PriorityBlockingQueue.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) "Idle World Wind Task " daemon prio=2 tid=0x0b0c6800 nid=0x940 waiting on condition [0x1ca8f000..0x1ca8fb14] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x02ff83f8> (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.ArrayBlockingQueue.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) "Idle World Wind Task " daemon prio=2 tid=0x0b0adc00 nid=0x8a4 waiting on condition [0x1ca3f000..0x1ca3fb94] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x02ff83f8> (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.ArrayBlockingQueue.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) "Idle World Wind Task " daemon prio=2 tid=0x0b0ad400 nid=0x958 waiting on condition [0x1c9ef000..0x1c9efc14] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x02ff83f8> (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.ArrayBlockingQueue.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) "DestroyJavaVM" prio=6 tid=0x00266800 nid=0xa1c waiting on condition [0x00000000..0x0094fd4c] java.lang.Thread.State: RUNNABLE "AWT-EventQueue-0" prio=6 tid=0x0b200400 nid=0x970 runnable [0x0b63f000..0x0b63fd14] java.lang.Thread.State: RUNNABLE at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method) at java.net.InetAddress$1.lookupAllHostAddr(Unknown Source) at java.net.InetAddress.getAddressFromNameService(Unknown Source) at java.net.InetAddress.getAllByName0(Unknown Source) at java.net.InetAddress.getAllByName0(Unknown Source) at java.net.InetAddress.getAllByName(Unknown Source) at java.net.InetAddress.getByName(Unknown Source) at gov.nasa.worldwind.util.BasicNetworkStatus.isHostReachable(Unknown Source) at gov.nasa.worldwind.util.BasicNetworkStatus.isNetworkUnavailable(Unknown Source) at gov.nasa.worldwind.util.BasicNetworkStatus.isNetworkUnavailable(Unknown Source) at gov.nasa.worldwind.retrieve.BasicRetrievalService.isAvailable(Unknown Source) at gov.nasa.worldwind.layers.placename.PlaceNameLayer.sendRequests(Unknown Source) at gov.nasa.worldwind.layers.placename.PlaceNameLayer.doRender(Unknown Source) at gov.nasa.worldwind.layers.AbstractLayer.render(Unknown Source) at gov.nasa.worldwind.AbstractSceneController.draw(Unknown Source) at gov.nasa.worldwind.BasicSceneController.doRepaint(Unknown Source) at gov.nasa.worldwind.AbstractSceneController.repaint(Unknown Source) at gov.nasa.worldwind.WorldWindowGLAutoDrawable.doDisplay(Unknown Source) at gov.nasa.worldwind.WorldWindowGLAutoDrawable.display(Unknown Source) at com.sun.opengl.impl.GLDrawableHelper.display(GLDrawableHelper.java:78) at javax.media.opengl.GLCanvas$DisplayAction.run(GLCanvas.java:435) at com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:194) at javax.media.opengl.GLCanvas.maybeDoSingleThreadedWorkaround(GLCanvas.java:412) at javax.media.opengl.GLCanvas.display(GLCanvas.java:244) at javax.media.opengl.GLCanvas.paint(GLCanvas.java:277) at javax.media.opengl.GLCanvas.update(GLCanvas.java:354) at sun.awt.RepaintArea.updateComponent(Unknown Source) at sun.awt.RepaintArea.paint(Unknown Source) at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(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) "TimerQueue" daemon prio=6 tid=0x0b090400 nid=0xa88 in Object.wait() [0x0b5ef000..0x0b5efd94] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x031a4be8> (a javax.swing.TimerQueue) at javax.swing.TimerQueue.run(Unknown Source) - locked <0x031a4be8> (a javax.swing.TimerQueue) at java.lang.Thread.run(Unknown Source) "Timer-0" prio=6 tid=0x0b1fbc00 nid=0xa68 in Object.wait() [0x0b59f000..0x0b59fa14] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x03003b58> (a java.util.TaskQueue) at java.lang.Object.wait(Object.java:485) at java.util.TimerThread.mainLoop(Unknown Source) - locked <0x03003b58> (a java.util.TaskQueue) at java.util.TimerThread.run(Unknown Source) "AWT-Windows" daemon prio=6 tid=0x0b029400 nid=0xa24 runnable [0x0b50f000..0x0b50fa94] java.lang.Thread.State: RUNNABLE at sun.awt.windows.WToolkit.eventLoop(Native Method) at sun.awt.windows.WToolkit.run(Unknown Source) at java.lang.Thread.run(Unknown Source) "AWT-Shutdown" prio=6 tid=0x0b028800 nid=0x214 in Object.wait() [0x0b4bf000..0x0b4bfb14] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x02fc4180> (a java.lang.Object) at java.lang.Object.wait(Object.java:485) at sun.awt.AWTAutoShutdown.run(Unknown Source) - locked <0x02fc4180> (a java.lang.Object) at java.lang.Thread.run(Unknown Source) "Java2D Disposer" daemon prio=10 tid=0x0b010c00 nid=0x8a8 in Object.wait() [0x0b46f000..0x0b46fb94] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x02fc4218> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked <0x02fc4218> (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=0x0ab2bc00 nid=0x910 runnable [0x00000000..0x00000000] java.lang.Thread.State: RUNNABLE "CompilerThread0" daemon prio=10 tid=0x0ab27000 nid=0x924 waiting on condition [0x00000000..0x0ad7f698] java.lang.Thread.State: RUNNABLE "Attach Listener" daemon prio=10 tid=0x0ab26000 nid=0xa34 runnable [0x00000000..0x00000000] java.lang.Thread.State: RUNNABLE "Signal Dispatcher" daemon prio=10 tid=0x0ab25000 nid=0xa28 waiting on condition [0x00000000..0x00000000] java.lang.Thread.State: RUNNABLE "Finalizer" daemon prio=8 tid=0x0ab13800 nid=0x3a4 in Object.wait() [0x0ac8f000..0x0ac8fa94] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x02ef1300> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked <0x02ef1300> (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=0x0ab12800 nid=0x998 in Object.wait() [0x0ac3f000..0x0ac3fb14] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x02ef1390> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:485) at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source) - locked <0x02ef1390> (a java.lang.ref.Reference$Lock) "VM Thread" prio=10 tid=0x0ab0f800 nid=0x950 runnable "VM Periodic Task Thread" prio=10 tid=0x0ab4e800 nid=0x288 waiting on condition JNI global references: 1226 Heap def new generation total 960K, used 310K [0x02a00000, 0x02b00000, 0x02ee0000) eden space 896K, 32% used [0x02a00000, 0x02a49b60, 0x02ae0000) from space 64K, 24% used [0x02af0000, 0x02af3e88, 0x02b00000) to space 64K, 0% used [0x02ae0000, 0x02ae0000, 0x02af0000) tenured generation total 16340K, used 13503K [0x02ee0000, 0x03ed5000, 0x06a00000) the space 16340K, 82% used [0x02ee0000, 0x03c0fe00, 0x03c0fe00, 0x03ed5000) compacting perm gen total 14080K, used 13939K [0x06a00000, 0x077c0000, 0x0aa00000) the space 14080K, 99% used [0x06a00000, 0x0779cf28, 0x0779d000, 0x077c0000) No shared spaces configured. The good news, though, is that once I modified ApplicationTemplate to set the offline mode to true via the WorldWind class, everything works like a charm. I believe you should make this method static (which I did for my test), because it's itself calling a static method (getNetworkStatus()). Probably just an oversight. Many thanks for that offline mode, by the way, it will be very usefull for me too.. My users, like myself, are typically on a Defense network behind an (understandably) paranoid firewall, so I'll be either packaging my layers or get them from an internal WMS server...but I guess at that point I'll have to re-enable the network... hmmmm....something to think about Glad to be of help! Chiss! Last edited by Chiss; 12-06-2007 at 02:42 PM. Reason: Added contextual details |
|
|
|
|
|
#5 |
|
Senior Member
Join Date: Jul 2007
Location: Mirabel, Quebec, Canada
Posts: 225
![]() |
Hello again,
What a fantastic set of examples! I'm drooling all over it ! I didn't get the time to check 0.3.0 when it got released, so maybe I'm late to the party..! ![]() I did notice, however, that the Tracks.java is missing its "tuolumne.gpx" file... All I found was the 3 PipeTracks gpx files. Great job with the SDK! Chiss! |
|
|
|
|
|
#6 |
|
WWJ Technical Manager
Join Date: May 2007
Location: Seattle
Posts: 1,027
![]() |
Thanks for trying that. We're unable to duplicate the problem here -- yes, even when we unplug the network cable, and we tried several computers -- so the solution was just a guess based on the stack traces you posted. Can you tell me the characteristics of the machine you're using. Specifically, the number and type of processors, the operating system and the graphics device. Are you connected to some network, even if not a public one, or fully stand-alone?
Thanks. |
|
|
|
|
|
#7 |
|
Senior Member
Join Date: Jul 2007
Location: Mirabel, Quebec, Canada
Posts: 225
![]() |
Here we go:
Computer : Pentium4 3.2GHz, single CPU with 1Gig of RAM O/S : Win2k Video: ATI Radeon X600 256M (at least that's what Windows's 'Device Manager' says... It's my machine at work and I'm not allowed to peek under the hood ![]() The computer is connected to the office LAN which can access the Internet via the corporate firewall. I hope this helps! Chiss! |
|
|
|
|
|
#8 |
|
Member
Join Date: Jun 2007
Posts: 30
![]() |
Tag, thank you very much for the quick response. I am also still having the same problem as chiss described. My machine is a Dell Pentium M Chip, 2.0 GHz, 2 GB RAM laptop.
I also noticed that the new version somehow does not use the USGS Digital Orth graphics data and high res LandSat data. I can prvoide screen shot of wwj0.3.0 and wwj0.4.1 using the same dataset if you think that helps. |
|
|
|
|
|
#9 |
|
WWJ Consultant
Join Date: Jun 2005
Location: Saint-Paul de Vence, Alpes Maritimes, France
Posts: 3,412
![]() |
shin103, can you be more specific about the missing layers?
|
|
|
|
|
|
#10 |
|
Member
Join Date: Jun 2007
Posts: 30
![]() |
Patrick,
the attached screen shots are taken from running JavaOneDemoA using wwj0.3.0 and wwj0.4.1 respectively on my box without code change. As you can see, the 0.3.0 is using more detailed data than 0.4.1. thanks, Shin. |
|
|
|
![]() |
| Tags |
| None |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| WWJ SDK Alpha 4 - 0.4.0 available | patmurris | WWJ Release Announcements | 10 | 09-21-2010 02:48 PM |
| WWJ SDK Alpha 3 - 0.3.0 available | patmurris | WWJ Release Announcements | 35 | 12-03-2007 08:56 PM |
| 1.3.2 alpha 2 released | Jessi | Developers' Corner | 28 | 02-02-2006 07:27 PM |