Libbulletjme.so chashed after application destroy,

  1. i start application.
   public GameLevel(String levelJson){
      //asdasd
     try {
         JSONParser parser       = new JSONParser();
         
         JSONObject result       = (JSONObject) parser.parse(levelJson);
         
         levelName               = (String) result.get("model");
               
         levelId                 = (String) result.get("leveId");
         
         localPlayerId           = JConfig.user_id;
         
         
         //levelDescription        = (String) result.get("points");
         // fallSpeed    = (int) result.get("fallSpeed");
         
         
         setShowSettings(false);
         AppSettings settings = new AppSettings(true);
         Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
         int width = (int) screenSize.getWidth();
         int height = (int) screenSize.getHeight();
         
         
         settings.setResolution(width, height);
         settings.setBitsPerPixel(32);
         setSettings(settings);
         
         state = "init";
         
         System.out.println("Start");
        
         start();
     } catch (ParseException ex) {
         Logger.getLogger(GameLevel.class.getName()).log(Level.SEVERE, null, ex);
     }
  }

id destroy application and run gc.

@Override
public void destroy(){

    String outMessage        =  "{\"task\":\"JGameTask\",\"user_id\":\""+ JConfig.user_id +"\",\"auth_token\":\""+JConfig.token +"\",\"scenario\":\"disconnect\",\"data\":\""+ levelId +"\"}";
    JOutMessages outMessages = new JOutMessages(JConfig.server_ip,outMessage);
    
    
    outMessages.insert();
    
    
    Main.interfaceFrame();
    super.destroy();
    //reset fields and instance.
    
    instance = null;
    
    
    state = "start"; 

    players = new HashMap<String, Player>();
    localPlayerId = "";
    
    System.gc();
}

I create the game again.

and have next error:

1 Like

A fatal error has been detected by the Java Runtime Environment:

SIGSEGV (0xb) at pc=0xa52f5c86, pid=28615, tid=2821188416

JRE version: Java™ SE Runtime Environment (8.0_74-b02) (build 1.8.0_74-b02)

Java VM: Java HotSpot™ Server VM (25.74-b02 mixed mode linux-x86 )

Problematic frame:

C [libbulletjme.so+0x202c86] typeinfo name for btCollisionObject+0x2

Failed to write core dump. Core dumps have been disabled. To enable core dumping, try “ulimit -c unlimited” before starting Java again

If you would like to submit a bug report, please visit:

http://bugreport.java.com/bugreport/crash.jsp

The crash happened outside the Java Virtual Machine in native code.

See problematic frame for where to report the bug.

--------------- T H R E A D ---------------

Current thread (0xa8317800): JavaThread “Finalizer” daemon [_thread_in_native, id=28624, stack(0xa822e000,0xa827f000)]

siginfo: si_signo: 11 (SIGSEGV), si_code: 2 (SEGV_ACCERR), si_addr: 0xef934977

1 Like

Registers:
EAX=0xa52f5c84, EBX=0xa5349000, ECX=0x9d95f250, EDX=0x9b175e10
ESP=0xa827da5c, EBP=0xa827da88, ESI=0x9b176290, EDI=0x9df72600
EIP=0xa52f5c86, EFLAGS=0x00010206, CR2=0xef934977

Top of Stack: (sp=0xa827da5c)
0xa827da5c: a529db4e 9b175e10 9d95f250 9df72600
0xa827da6c: 9b176290 9df88c20 9b175e10 00000000
0xa827da7c: 9b175e10 ffffffff a5349000 a827dae8
0xa827da8c: a52aadb7 9df755c8 9d95f250 9b176290
0xa827da9c: 9df72600 00000000 00000000 ffffffff
0xa827daac: 00000001 00000002 00000000 9df749d0
0xa827dabc: 00000000 00000000 00000000 a70b1540
0xa827dacc: 00000005 a827db30 a5349000 a827db28

Instructions: (pc=0xa52f5c86)
0xa52f5c66: 6c 6f 61 74 44 61 74 61 00 00 ff ff ff ff 00 00
0xa52f5c76: 00 00 00 00 80 3f 6b 0b 5e 5d 00 00 00 3f 31 37
0xa52f5c86: 62 74 43 6f 6c 6c 69 73 69 6f 6e 4f 62 6a 65 63
0xa52f5c96: 74 00 00 00 00 00 00 00 00 00 69 6e 74 00 62 74

Register to memory mapping:

EAX=0xa52f5c84: _ZTS17btCollisionObject+0 in /home/nn/omonkeystrike/libbulletjme.so at 0xa50f3000
EBX=0xa5349000: <offset 0x256000> in /home/nn/omonkeystrike/libbulletjme.so at 0xa50f3000
ECX=0x9d95f250 is an unknown value
EDX=0x9b175e10 is an unknown value
ESP=0xa827da5c is pointing into the stack for thread: 0xa8317800
EBP=0xa827da88 is pointing into the stack for thread: 0xa8317800
ESI=0x9b176290 is an unknown value
EDI=0x9df72600 is an unknown value

Stack: [0xa822e000,0xa827f000], sp=0xa827da5c, free space=318k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libbulletjme.so+0x202c86] typeinfo name for btCollisionObject+0x2
C [libbulletjme.so+0x1b7db7] btHashedOverlappingPairCache::removeOverlappingPair(btBroadphaseProxy*, btBroadphaseProxy*, btDispatcher*)+0x213
C [libbulletjme.so+0x1b800b] btHashedOverlappingPairCache::processAllOverlappingPairs(btOverlapCallback*, btDispatcher*)+0x7d
C [libbulletjme.so+0x1b7643] btHashedOverlappingPairCache::removeOverlappingPairsContainingProxy(btBroadphaseProxy*, btDispatcher*)+0x45
C [libbulletjme.so+0x1b33e8] btDbvtBroadphase::destroyProxy(btBroadphaseProxy*, btDispatcher*)+0xa8
C [libbulletjme.so+0x1c76bb] btCollisionWorld::~btCollisionWorld()+0xb7
C [libbulletjme.so+0x11431f] btDynamicsWorld::~btDynamicsWorld()+0x2b
C [libbulletjme.so+0x10f78d] btDiscreteDynamicsWorld::~btDiscreteDynamicsWorld()+0x129
C [libbulletjme.so+0x10f847] btDiscreteDynamicsWorld::~btDiscreteDynamicsWorld()+0x1d
C [libbulletjme.so+0x1aa6ee] jmePhysicsSpace::~jmePhysicsSpace()+0x28
C [libbulletjme.so+0x19afbe] Java_com_jme3_bullet_PhysicsSpace_finalizeNative+0x3c
j com.jme3.bullet.PhysicsSpace.finalizeNative(J)V+0
j com.jme3.bullet.PhysicsSpace.finalize()V+34
J 1329 C1 java.lang.ref.Finalizer.runFinalizer(Lsun/misc/JavaLangAccess;)V (62 bytes) @ 0xe7827960 [0xe78274e0+0x480]
J 1328 C1 java.lang.ref.Finalizer.access$100(Ljava/lang/ref/Finalizer;Lsun/misc/JavaLangAccess;)V (6 bytes) @ 0xe75fdda8 [0xe75fdd60+0x48]
j java.lang.ref.Finalizer$FinalizerThread.run()V+45
v ~StubRoutines::call_stub
V [libjvm.so+0x4fc6ef] JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0x101f
V [libjvm.so+0x74ce19] os::os_exception_wrapper(void ()(JavaValue, methodHandle*, JavaCallArguments*, Thread*), JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0x19
V [libjvm.so+0x4fcafc] JavaCalls::call_virtual(JavaValue*, KlassHandle, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x25c
V [libjvm.so+0x4fcf3b] JavaCalls::call_virtual(JavaValue*, Handle, KlassHandle, Symbol*, Symbol*, Thread*)+0x4b
V [libjvm.so+0x58f9f0] thread_entry(JavaThread*, Thread*)+0x90
V [libjvm.so+0x8819b9] JavaThread::thread_main_inner()+0x109
V [libjvm.so+0x881b3b] JavaThread::run()+0x14b
V [libjvm.so+0x754339] java_start(Thread*)+0x119
C [libpthread.so.0+0x6f72] start_thread+0xd2
C [libc.so.6+0xebf8e] clone+0x5e

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.jme3.bullet.PhysicsSpace.finalizeNative(J)V+0
j com.jme3.bullet.PhysicsSpace.finalize()V+34
J 1329 C1 java.lang.ref.Finalizer.runFinalizer(Lsun/misc/JavaLangAccess;)V (62 bytes) @ 0xe7827960 [0xe78274e0+0x480]
J 1328 C1 java.lang.ref.Finalizer.access$100(Ljava/lang/ref/Finalizer;Lsun/misc/JavaLangAccess;)V (6 bytes) @ 0xe75fdda8 [0xe75fdd60+0x48]
j java.lang.ref.Finalizer$FinalizerThread.run()V+45
v ~StubRoutines::call_stub

--------------- P R O C E S S ---------------

1 Like

Java Threads: ( => current thread )
0xa3a21000 JavaThread “jME3 Audio Decoder” daemon [_thread_blocked, id=28981, stack(0xa6327000,0xa6378000)]
0x9753f800 JavaThread “jME3 Main” [_thread_in_native, id=28976, stack(0xa3e0d000,0xa3e5e000)]
0x9b17a800 JavaThread “pool-3-thread-6” [_thread_blocked, id=28975, stack(0xa3e5e000,0xa3eaf000)]
0xaae50800 JavaThread “pool-2-thread-6” [_thread_blocked, id=28974, stack(0xa3eaf000,0xa3f00000)]
0x9b184000 JavaThread “pool-3-thread-5” [_thread_blocked, id=28972, stack(0x9e285000,0x9e386000)]
0xaae4c000 JavaThread “pool-2-thread-5” [_thread_blocked, id=28971, stack(0x9e0af000,0x9e100000)]
0x9035f000 JavaThread “pool-1-thread-300” [_thread_blocked, id=28967, stack(0x8d950000,0x8d9a1000)]
0x9035d400 JavaThread “pool-1-thread-299” [_thread_blocked, id=28966, stack(0x8d9a1000,0x8d9f2000)]
0x9035c000 JavaThread “pool-1-thread-298” [_thread_blocked, id=28965, stack(0x8d9f2000,0x8da43000)]
0x9035a800 JavaThread “pool-1-thread-297” [_thread_blocked, id=28964, stack(0x8da43000,0x8da94000)]
0x90359000 JavaThread “pool-1-thread-296” [_thread_blocked, id=28963, stack(0x8da94000,0x8dae5000)]
0x90357800 JavaThread “pool-1-thread-295” [_thread_blocked, id=28962, stack(0x8dae5000,0x8db36000)]
0x90356400 JavaThread “pool-1-thread-294” [_thread_blocked, id=28961, stack(0x8db36000,0x8db87000)]
0x90354c00 JavaThread “pool-1-thread-293” [_thread_blocked, id=28960, stack(0x8db87000,0x8dbd8000)]
0x90353400 JavaThread “pool-1-thread-292” [_thread_blocked, id=28959, stack(0x8dbd8000,0x8dc29000)]
0x90351c00 JavaThread “pool-1-thread-291” [_thread_blocked, id=28958, stack(0x8dc29000,0x8dc7a000)]
0x90350400 JavaThread “pool-1-thread-290” [_thread_blocked, id=28957, stack(0x8dc7a000,0x8dccb000)]
0x9034f000 JavaThread “pool-1-thread-289” [_thread_blocked, id=28956, stack(0x8dccb000,0x8dd1c000)]
0x9034d800 JavaThread “pool-1-thread-288” [_thread_blocked, id=28955, stack(0x8dd1c000,0x8dd6d000)]
0x9034c400 JavaThread “pool-1-thread-287” [_thread_blocked, id=28954, stack(0x8dd6d000,0x8ddbe000)]
0x9034ac00 JavaThread “pool-1-thread-286” [_thread_blocked, id=28953, stack(0x8ddbe000,0x8de0f000)]
0x90349000 JavaThread “pool-1-thread-285” [_thread_blocked, id=28952, stack(0x8de0f000,0x8de60000)]
0x90347c00 JavaThread “pool-1-thread-284” [_thread_blocked, id=28951, stack(0x8de60000,0x8deb1000)]
0x90346400 JavaThread “pool-1-thread-283” [_thread_blocked, id=28950, stack(0x8deb1000,0x8df02000)]
0x90344c00 JavaThread “pool-1-thread-282” [_thread_blocked, id=28949, stack(0x8df02000,0x8df53000)]
0x90343400 JavaThread “pool-1-thread-281” [_thread_blocked, id=28948, stack(0x8df53000,0x8dfa4000)]
0x90342400 JavaThread “pool-1-thread-280” [_thread_blocked, id=28947, stack(0x8dfa4000,0x8dff5000)]
0x9477b800 JavaThread “pool-1-thread-279” [_thread_blocked, id=28946, stack(0x8dff5000,0x8e046000)]
0x9477a400 JavaThread “pool-1-thread-278” [_thread_blocked, id=28945, stack(0x8e046000,0x8e097000)]
0x94779000 JavaThread “pool-1-thread-277” [_thread_blocked, id=28944, stack(0x8e4a0000,0x8e4f1000)]
0xaac3cc00 JavaThread “pool-1-thread-276” [_thread_blocked, id=28943, stack(0x8e139000,0x8e18a000)]
0xaac3b400 JavaThread “pool-1-thread-275” [_thread_blocked, id=28942, stack(0x8e18a000,0x8e1db000)]
0xaac39c00 JavaThread “pool-1-thread-274” [_thread_blocked, id=28941, stack(0x8e1db000,0x8e22c000)]
0xaac38400 JavaThread “pool-1-thread-273” [_thread_blocked, id=28940, stack(0x8e22c000,0x8e27d000)]
0xa69efc00 JavaThread “pool-1-thread-272” [_thread_blocked, id=28939, stack(0x8e27d000,0x8e2ce000)]
0xa69ee400 JavaThread “pool-1-thread-271” [_thread_blocked, id=28938, stack(0x8e2ce000,0x8e31f000)]
0xa69ed000 JavaThread “pool-1-thread-270” [_thread_blocked, id=28937, stack(0x8e31f000,0x8e370000)]
0xa69eb800 JavaThread “pool-1-thread-269” [_thread_blocked, id=28936, stack(0x8e370000,0x8e3c1000)]
0xa69ea000 JavaThread “pool-1-thread-268” [_thread_blocked, id=28935, stack(0x8e3c1000,0x8e412000)]
0xa69e8c00 JavaThread “pool-1-thread-267” [_thread_blocked, id=28934, stack(0x8e412000,0x8e463000)]
0xa69e7400 JavaThread “pool-1-thread-266” [_thread_blocked, id=28933, stack(0x8e4f1000,0x8e542000)]
0xa69e5800 JavaThread “pool-1-thread-265” [_thread_blocked, id=28932, stack(0x8e542000,0x8e593000)]
0xa69e4400 JavaThread “pool-1-thread-264” [_thread_blocked, id=28931, stack(0x8e593000,0x8e5e4000)]
0xa69e2c00 JavaThread “pool-1-thread-263” [_thread_blocked, id=28930, stack(0x8e5e4000,0x8e635000)]
0xa69e1400 JavaThread “pool-1-thread-262” [_thread_blocked, id=28929, stack(0x8e635000,0x8e686000)]
0xa6995000 JavaThread “pool-1-thread-261” [_thread_blocked, id=28928, stack(0x8e686000,0x8e6d7000)]
0xa6992000 JavaThread “pool-1-thread-260” [_thread_blocked, id=28927, stack(0x8e6d7000,0x8e728000)]
0xa6990800 JavaThread “pool-1-thread-259” [_thread_blocked, id=28926, stack(0x8e728000,0x8e779000)]
0xa698f400 JavaThread “pool-1-thread-258” [_thread_blocked, id=28925, stack(0x8e779000,0x8e7ca000)]
0xa698e000 JavaThread “pool-1-thread-257” [_thread_blocked, id=28924, stack(0x8e7ca000,0x8e81b000)]
0xa78b6800 JavaThread “pool-1-thread-256” [_thread_blocked, id=28923, stack(0x8e81b000,0x8e86c000)]
0xa78b4000 JavaThread “pool-1-thread-255” [_thread_blocked, id=28922, stack(0x8e86c000,0x8e8bd000)]
0xa78b2c00 JavaThread “pool-1-thread-254” [_thread_blocked, id=28921, stack(0x8e8bd000,0x8e90e000)]
0xa78b1000 JavaThread “pool-1-thread-253” [_thread_blocked, id=28920, stack(0x8e90e000,0x8e95f000)]
0xa6907800 JavaThread “pool-1-thread-252” [_thread_blocked, id=28919, stack(0x8e95f000,0x8e9b0000)]
0xa6906000 JavaThread “pool-1-thread-251” [_thread_blocked, id=28918, stack(0x8e9b0000,0x8ea01000)]
0xa6904800 JavaThread “pool-1-thread-250” [_thread_blocked, id=28917, stack(0x8ea01000,0x8ea52000)]
0xa6902400 JavaThread “pool-1-thread-249” [_thread_blocked, id=28916, stack(0x8ea52000,0x8eaa3000)]
0xa6900c00 JavaThread “pool-1-thread-248” [_thread_blocked, id=28915, stack(0x8eaa3000,0x8eaf4000)]
0x947aac00 JavaThread “pool-1-thread-247” [_thread_blocked, id=28914, stack(0x8eaf4000,0x8eb45000)]
0x947a9c00 JavaThread “pool-1-thread-246” [_thread_blocked, id=28913, stack(0x8eb45000,0x8eb96000)]
0x947a8400 JavaThread “pool-1-thread-245” [_thread_blocked, id=28912, stack(0x8eb96000,0x8ebe7000)]
0x947a6800 JavaThread “pool-1-thread-244” [_thread_blocked, id=28911, stack(0x8ebe7000,0x8ec38000)]
0x947a5000 JavaThread “pool-1-thread-243” [_thread_blocked, id=28910, stack(0x8ec38000,0x8ec89000)]
0x947a4000 JavaThread “pool-1-thread-242” [_thread_blocked, id=28909, stack(0x8ec89000,0x8ecda000)]
0xa69fe000 JavaThread “pool-1-thread-241” [_thread_blocked, id=28908, stack(0x8ecda000,0x8ed2b000)]
0xa69fd000 JavaThread “pool-1-thread-240” [_thread_blocked, id=28907, stack(0x8ed2b000,0x8ed7c000)]
0xa69fb400 JavaThread “pool-1-thread-239” [_thread_blocked, id=28906, stack(0x8ed7c000,0x8edcd000)]
0xa69f9800 JavaThread “pool-1-thread-238” [_thread_blocked, id=28905, stack(0x8edcd000,0x8ee1e000)]
0xa69f8400 JavaThread “pool-1-thread-237” [_thread_blocked, id=28904, stack(0x8ee1e000,0x8ee6f000)]
0xa69b8400 JavaThread “pool-1-thread-236” [_thread_blocked, id=28903, stack(0x8ee6f000,0x8eec0000)]
0xa69b6c00 JavaThread “pool-1-thread-235” [_thread_blocked, id=28902, stack(0x8eec0000,0x8ef11000)]
0xa69b5400 JavaThread “pool-1-thread-234” [_thread_blocked, id=28901, stack(0x8ef11000,0x8ef62000)]
0xa69b3c00 JavaThread “pool-1-thread-233” [_thread_blocked, id=28900,

ETC

1 Like

0xa70b5c00 JavaThread “TimerQueue” daemon [_thread_blocked, id=28639, stack(0xa6b02000,0xa6b53000)]
0xf6508400 JavaThread “DestroyJavaVM” [_thread_blocked, id=28619, stack(0xf66a0000,0xf66f1000)]
0xa7019c00 JavaThread “AWT-EventQueue-0” [_thread_blocked, id=28638, stack(0xa6ebc000,0xa6f0d000)]
0xa7018c00 JavaThread “AWT-Shutdown” [_thread_blocked, id=28637, stack(0xa6f0d000,0xa6f5e000)]
0xa7017400 JavaThread “AWT-XAWT” daemon [_thread_in_native, id=28636, stack(0xa6f5e000,0xa6faf000)]
0xa7004000 JavaThread “Java2D Disposer” daemon [_thread_blocked, id=28635, stack(0xa6faf000,0xa7000000)]
0xa7aabc00 JavaThread “Thread-6” [_thread_in_Java, id=28634, stack(0xa775e000,0xa77af000)]
0xa7aaa000 JavaThread “Thread-5” [_thread_in_native, id=28633, stack(0xa77af000,0xa7800000)]
0xa7aa5c00 JavaThread “Thread-4” [_thread_in_Java, id=28632, stack(0xa7948000,0xa7999000)]
0xa7a7cc00 JavaThread “Timer-0” daemon [_thread_blocked, id=28630, stack(0xa79af000,0xa7a00000)]
0xa8338c00 JavaThread “Service Thread” daemon [_thread_blocked, id=28628, stack(0xa7ba8000,0xa7bf9000)]
0xa8335c00 JavaThread “C1 CompilerThread1” daemon [_thread_blocked, id=28627, stack(0xa7bf9000,0xa7c7a000)]
0xa8333c00 JavaThread “C2 CompilerThread0” daemon [_thread_blocked, id=28626, stack(0xa7c7a000,0xa7cfb000)]
0xa8332400 JavaThread “Signal Dispatcher” daemon [_thread_blocked, id=28625, stack(0xa7cfb000,0xa7d4c000)]
=>0xa8317800 JavaThread “Finalizer” daemon [_thread_in_native, id=28624, stack(0xa822e000,0xa827f000)]
0xa8314c00 JavaThread “Reference Handler” daemon [_thread_blocked, id=28623, stack(0xaad05000,0xaad56000)]

Other Threads:
0xa8310400 VMThread [stack: 0xa827f000,0xa8300000] [id=28622]
0xa833ac00 WatcherThread [stack: 0xa7b27000,0xa7ba8000] [id=28629]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap:
PSYoungGen total 211456K, used 34331K [0xd30c0000, 0xe59c0000, 0xe7000000)
eden space 209920K, 16% used [0xd30c0000,0xd5246e10,0xdfdc0000)
from space 1536K, 0% used [0xe56c0000,0xe56c0000,0xe5840000)
to space 1280K, 0% used [0xe5880000,0xe5880000,0xe59c0000)
ParOldGen total 73728K, used 31119K [0xab200000, 0xafa00000, 0xd30c0000)
object space 73728K, 42% used [0xab200000,0xad063ca0,0xafa00000)
Metaspace used 15326K, capacity 15500K, committed 15640K, reserved 15664K

Card table byte_map: [0xab020000,0xab200000] byte_map_base: 0xaaac7000

Marking Bits: (ParMarkBitMap*) 0xf7139940
Begin Bits: [0xa8e10000, 0xa9d08000)
End Bits: [0xa9d08000, 0xaac00000)

Polling page: 0xf7742000

CodeCache: size=245760Kb used=8669Kb max_used=8679Kb free=237090Kb
bounds [0xe7500000, 0xe7d88000, 0xf6500000]
total_blobs=3672 nmethods=3295 adapters=290
compilation: enabled

Compilation events (10 events):
Event: 74,119 Thread 0xa8335c00 3713 1 java.util.logging.LogRecord::getLoggerName (5 bytes)
Event: 74,119 Thread 0xa8335c00 nmethod 3713 0xe7a87048 code [0xe7a87140, 0xe7a871e0]
Event: 74,119 Thread 0xa8335c00 3714 ! 3 java.util.Formatter::format (271 bytes)
Event: 74,120 Thread 0xa8335c00 nmethod 3714 0xe7d7b988 code [0xe7d7bc00, 0xe7d7c93c]
Event: 74,123 Thread 0xa8335c00 3715 1 java.text.FieldPosition::getFieldAttribute (5 bytes)
Event: 74,123 Thread 0xa8335c00 nmethod 3715 0xe7a86e48 code [0xe7a86f40, 0xe7a86fe0]
Event: 74,125 Thread 0xa8333c00 3716 ! 4 java.lang.ref.ReferenceQueue::poll (28 bytes)
Event: 74,127 Thread 0xa8333c00 nmethod 3716 0xe7d80388 code [0xe7d804c0, 0xe7d806fc]
Event: 74,129 Thread 0xa8335c00 3717 3 java.net.URI$Parser::scan (73 bytes)
Event: 74,130 Thread 0xa8335c00 nmethod 3717 0xe7d7f7c8 code [0xe7d7f960, 0xe7d7fec4]

1 Like

GC Heap History (10 events):
Event: 73,012 GC heap before
{Heap before GC invocations=108 (full 2):
PSYoungGen total 166912K, used 166898K [0xd30c0000, 0xe5b00000, 0xe7000000)
eden space 166656K, 100% used [0xd30c0000,0xdd380000,0xdd380000)
from space 256K, 94% used [0xe5a80000,0xe5abc9e0,0xe5ac0000)
to space 256K, 0% used [0xe5ac0000,0xe5ac0000,0xe5b00000)
ParOldGen total 70656K, used 8364K [0xab200000, 0xaf700000, 0xd30c0000)
object space 70656K, 11% used [0xab200000,0xaba2b0f8,0xaf700000)
Metaspace used 15312K, capacity 15500K, committed 15640K, reserved 15664K
Event: 73,016 GC heap after
Heap after GC invocations=108 (full 2):
PSYoungGen total 159488K, used 80K [0xd30c0000, 0xe5b00000, 0xe7000000)
eden space 159232K, 0% used [0xd30c0000,0xd30c0000,0xdcc40000)
from space 256K, 31% used [0xe5ac0000,0xe5ad4060,0xe5b00000)
to space 1536K, 0% used [0xe5800000,0xe5800000,0xe5980000)
ParOldGen total 70656K, used 8522K [0xab200000, 0xaf700000, 0xd30c0000)
object space 70656K, 12% used [0xab200000,0xaba52ad8,0xaf700000)
Metaspace used 15312K, capacity 15500K, committed 15640K, reserved 15664K
}
Event: 73,408 GC heap before
{Heap before GC invocations=109 (full 2):
PSYoungGen total 159488K, used 159312K [0xd30c0000, 0xe5b00000, 0xe7000000)
eden space 159232K, 100% used [0xd30c0000,0xdcc40000,0xdcc40000)
from space 256K, 31% used [0xe5ac0000,0xe5ad4060,0xe5b00000)
to space 1536K, 0% used [0xe5800000,0xe5800000,0xe5980000)
ParOldGen total 70656K, used 8522K [0xab200000, 0xaf700000, 0xd30c0000)
object space 70656K, 12% used [0xab200000,0xaba52b68,0xaf700000)
Metaspace used 15319K, capacity 15500K, committed 15640K, reserved 15664K
Event: 73,415 GC heap after
Heap after GC invocations=109 (full 2):
PSYoungGen total 187136K, used 120K [0xd30c0000, 0xe5b00000, 0xe7000000)
eden space 185600K, 0% used [0xd30c0000,0xd30c0000,0xde600000)
from space 1536K, 7% used [0xe5800000,0xe581e050,0xe5980000)
to space 1536K, 0% used [0xe5980000,0xe5980000,0xe5b00000)
ParOldGen total 70656K, used 11598K [0xab200000, 0xaf700000, 0xd30c0000)
object space 70656K, 16% used [0xab200000,0xabd53b78,0xaf700000)
Metaspace used 15319K, capacity 15500K, committed 15640K, reserved 15664K
}
Event: 73,960 GC heap before
{Heap before GC invocations=110 (full 2):
PSYoungGen total 187136K, used 185720K [0xd30c0000, 0xe5b00000, 0xe7000000)
eden space 185600K, 100% used [0xd30c0000,0xde600000,0xde600000)
from space 1536K, 7% used [0xe5800000,0xe581e050,0xe5980000)
to space 1536K, 0% used [0xe5980000,0xe5980000,0xe5b00000)
ParOldGen total 70656K, used 11601K [0xab200000, 0xaf700000, 0xd30c0000)
object space 70656K, 16% used [0xab200000,0xabd546e8,0xaf700000)
Metaspace used 15319K, capacity 15500K, committed 15640K, reserved 15664K
Event: 73,961 GC heap after
Heap after GC invocations=110 (full 2):
PSYoungGen total 177408K, used 48K [0xd30c0000, 0xe59c0000, 0xe7000000)
eden space 177152K, 0% used [0xd30c0000,0xd30c0000,0xdddc0000)
from space 256K, 18% used [0xe5980000,0xe598c020,0xe59c0000)
to space 1536K, 0% used [0xe56c0000,0xe56c0000,0xe5840000)
ParOldGen total 70656K, used 11700K [0xab200000, 0xaf700000, 0xd30c0000)
object space 70656K, 16% used [0xab200000,0xabd6d368,0xaf700000)
Metaspace used 15319K, capacity 15500K, committed 15640K, reserved 15664K
}
Event: 74,429 GC heap before
{Heap before GC invocations=111 (full 2):
PSYoungGen total 177408K, used 177200K [0xd30c0000, 0xe59c0000, 0xe7000000)
eden space 177152K, 100% used [0xd30c0000,0xdddc0000,0xdddc0000)
from space 256K, 18% used [0xe5980000,0xe598c020,0xe59c0000)
to space 1536K, 0% used [0xe56c0000,0xe56c0000,0xe5840000)
ParOldGen total 70656K, used 11700K [0xab200000, 0xaf700000, 0xd30c0000)
object space 70656K, 16% used [0xab200000,0xabd6d368,0xaf700000)
Metaspace used 15325K, capacity 15500K, committed 15640K, reserved 15664K
Event: 74,463 GC heap after
Heap after GC invocations=111 (full 2):
PSYoungGen total 211456K, used 123K [0xd30c0000, 0xe59c0000, 0xe7000000)
eden space 209920K, 0% used [0xd30c0000,0xd30c0000,0xdfdc0000)
from space 1536K, 8% used [0xe56c0000,0xe56def70,0xe5840000)
to space 1280K, 0% used [0xe5880000,0xe5880000,0xe59c0000)
ParOldGen total 70656K, used 64412K [0xab200000, 0xaf700000, 0xd30c0000)
object space 70656K, 91% used [0xab200000,0xaf0e71b8,0xaf700000)
Metaspace used 15325K, capacity 15500K, committed 15640K, reserved 15664K
}
Event: 74,464 GC heap before
{Heap before GC invocations=112 (full 3):
PSYoungGen total 211456K, used 123K [0xd30c0000, 0xe59c0000, 0xe7000000)
eden space 209920K, 0% used [0xd30c0000,0xd30c0000,0xdfdc0000)
from space 1536K, 8% used [0xe56c0000,0xe56def70,0xe5840000)
to space 1280K, 0% used [0xe5880000,0xe5880000,0xe59c0000)
ParOldGen total 70656K, used 64412K [0xab200000, 0xaf700000, 0xd30c0000)
object space 70656K, 91% used [0xab200000,0xaf0e71b8,0xaf700000)
Metaspace used 15325K, capacity 15500K, committed 15640K, reserved 15664K
Event: 74,549 GC heap after
Heap after GC invocations=112 (full 3):
PSYoungGen total 211456K, used 0K [0xd30c0000, 0xe59c0000, 0xe7000000)
eden space 209920K, 0% used [0xd30c0000,0xd30c0000,0xdfdc0000)
from space 1536K, 0% used [0xe56c0000,0xe56c0000,0xe5840000)
to space 1280K, 0% used [0xe5880000,0xe5880000,0xe59c0000)
ParOldGen total 73728K, used 31119K [0xab200000, 0xafa00000, 0xd30c0000)
object space 73728K, 42% used [0xab200000,0xad063ca0,0xafa00000)
Metaspace used 15325K, capacity 15500K, committed 15640K, reserved 15664K
}

Deoptimization events (10 events):
Event: 72,324 Thread 0x9753f800 Uncommon trap: reason=class_check action=maybe_recompile pc=0xe78e90f0 method=java.util.regex.Pattern$Slice.match(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z @ 49
Event: 72,324 Thread 0x9753f800 Uncommon trap: reason=class_check action=maybe_recompile pc=0xe78e90f0 method=java.util.regex.Pattern$Slice.match(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z @ 49
Event: 72,324 Thread 0x9753f800 Uncommon trap: reason=class_check action=maybe_recompile pc=0xe78e90f0 method=java.util.regex.Pattern$Slice.match(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z @ 49
Event: 72,351 Thread 0x9753f800 Uncommon trap: reason=unstable_if action=reinterpret pc=0xe7cfed28 method=com.jme3.util.TempVars.get()Lcom/jme3/util/TempVars; @ 21
Event: 72,351 Thread 0x9753f800 Uncommon trap: reason=unstable_if action=reinterpret pc=0xe7cf7260 method=com.jme3.util.TempVars.get()Lcom/jme3/util/TempVars; @ 21
Event: 72,351 Thread 0x9753f800 Uncommon trap: reason=unstable_if action=reinterpret pc=0xe7779b50 method=java.lang.Float.compare(FF)I @ 11
Event: 72,450 Thread 0x9753f800 Uncommon trap: reason=unstable_if action=reinterpret pc=0xe7d05244 method=com.jme3.font.BitmapCharacterSet.getCharacterSet(I)Lcom/jme3/util/IntMap; @ 7
Event: 72,470 Thread 0x9753f800 Uncommon trap: reason=unstable_if action=reinterpret pc=0xe7d036e8 method=java.nio.DirectFloatBufferU.put([FII)Ljava/nio/FloatBuffer; @ 8
Event: 72,470 Thread 0x9753f800 Uncommon trap: reason=unstable_if action=reinterpret pc=0xe7b79f04 method=java.nio.DirectFloatBufferU.put([FII)Ljava/nio/FloatBuffer; @ 8
Event: 72,470 Thread 0x9753f800 Uncommon trap: reason=unstable_if action=reinterpret pc=0xe7d04b28 method=java.nio.DirectShortBufferU.put([SII)Ljava/nio/ShortBuffer; @ 8

Internal exceptions (10 events):
Event: 72,352 Thread 0x9753f800 Exception <a ‘java/security/PrivilegedActionException’> (0xd9762470) thrown at [/HUDSON/workspace/8-2-build-linux-i586/jdk8u74/6087/hotspot/src/share/vm/prims/jvm.cpp, line 1386]
Event: 72,352 Thread 0x9753f800 Exception <a ‘java/security/PrivilegedActionException’> (0xd9762ff0) thrown at [/HUDSON/workspace/8-2-build-linux-i586/jdk8u74/6087/hotspot/src/share/vm/prims/jvm.cpp, line 1386]
Event: 72,357 Thread 0x9753f800 Exception <a ‘org/lwjgl/LWJGLException’: Could not load OpenAL library> (0xd9764740) thrown at [/HUDSON/workspace/8-2-build-linux-i586/jdk8u74/6087/hotspot/src/share/vm/prims/jni.cpp, line 735]
Event: 72,357 Thread 0x9753f800 Exception <a ‘org/lwjgl/LWJGLException’: Could not load OpenAL library> (0xd9764d18) thrown at [/HUDSON/workspace/8-2-build-linux-i586/jdk8u74/6087/hotspot/src/share/vm/prims/jni.cpp, line 735]
Event: 72,357 Thread 0x9753f800 Exception <a ‘org/lwjgl/LWJGLException’: Could not load OpenAL library> (0xd97653c8) thrown at [/HUDSON/workspace/8-2-build-linux-i586/jdk8u74/6087/hotspot/src/share/vm/prims/jni.cpp, line 735]
Event: 72,357 Thread 0x9753f800 Exception <a ‘org/lwjgl/LWJGLException’: Could not load OpenAL library> (0xd9765a10) thrown at [/HUDSON/workspace/8-2-build-linux-i586/jdk8u74/6087/hotspot/src/share/vm/prims/jni.cpp, line 735]
Event: 72,357 Thread 0x9753f800 Exception <a ‘org/lwjgl/LWJGLException’: Could not load OpenAL library> (0xd9765f58) thrown at [/HUDSON/workspace/8-2-build-linux-i586/jdk8u74/6087/hotspot/src/share/vm/prims/jni.cpp, line 735]
Event: 72,357 Thread 0x9753f800 Exception <a ‘org/lwjgl/LWJGLException’: Could not load OpenAL library> (0xd97663f8) thrown at [/HUDSON/workspace/8-2-build-linux-i586/jdk8u74/6087/hotspot/src/share/vm/prims/jni.cpp, line 735]
Event: 72,357 Thread 0x9753f800 Exception <a ‘org/lwjgl/LWJGLException’: Could not load OpenAL library> (0xd97668f0) thrown at [/HUDSON/workspace/8-2-build-linux-i586/jdk8u74/6087/hotspot/src/share/vm/prims/jni.cpp, line 735]
Event: 72,357 Thread 0x9753f800 Exception <a ‘org/lwjgl/LWJGLException’: Could not load OpenAL library> (0xd9766e00) thrown at [/HUDSON/workspace/8-2-build-linux-i586/jdk8u74/6087/hotspot/src/share/vm/prims/jni.cpp, line 735]

Events (10 events):
Event: 74,559 Executing VM operation: RevokeBias
Event: 74,559 Executing VM operation: RevokeBias done
Event: 74,560 Executing VM operation: RevokeBias
Event: 74,560 Executing VM operation: RevokeBias done
Event: 74,560 Executing VM operation: RevokeBias
Event: 74,560 Executing VM operation: RevokeBias done
Event: 74,560 Executing VM operation: RevokeBias
Event: 74,561 Executing VM operation: RevokeBias done
Event: 74,561 Executing VM operation: BulkRevokeBias
Event: 74,562 Executing VM operation: BulkRevokeBias done

1 Like

M Arguments:
jvm_args: -Dfile.encoding=UTF-8
java_command: mygame.Main
java_class_path (initial): /home/nn/jmonkeyplatform/jmonkeyplatform/libs/jme3-core-3.1.0-SNAPSHOT.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/jme3-desktop-3.1.0-SNAPSHOT.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/jme3-plugins-3.1.0-SNAPSHOT.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/jme3-effects-3.1.0-SNAPSHOT.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/jme3-networking-3.1.0-SNAPSHOT.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/jme3-jogg-3.1.0-SNAPSHOT.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/j-ogg-all-1.0.0.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/jme3-terrain-3.1.0-SNAPSHOT.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/jme3-lwjgl-3.1.0-SNAPSHOT.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/lwjgl-platform-2.9.3-natives-linux.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/lwjgl-platform-2.9.3-natives-osx.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/lwjgl-platform-2.9.3-natives-windows.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/jutils-1.0.0.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/jinput-2.0.5.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/lwjgl-2.9.3.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/jinput-platform-2.0.5-natives-linux.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/jinput-platform-2.0.5-natives-osx.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/jinput-platform-2.0.5-natives-windows.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/jme3-bullet-3.1.0-SNAPSHOT.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/jme3-bullet-native-3.1.0-SNAPSHOT.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/jme3-niftygui-3.1.0-SNAPSHOT.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/eventbus-1.4.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/xpp3-1.1.4c.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/jsr305-2.0.2.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/jglfont-core-1.4.jar:/home/nn/jmonkeyplatform/jmonkeyplatform/libs/nifty-1.4.1.jar:/home/nn/jmonkeyplatform/jmo
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=/usr/lib/jvm/java-8-oracle
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
LD_LIBRARY_PATH=/home/nn/jmonkeyplatform/bin/…/jdk/jre/lib/amd64:/home/nn/jmonkeyplatform/bin/…/jdk/jre/lib/i386:
SHELL=/bin/bash
DISPLAY=:0

Signal Handlers:
SIGSEGV: [libjvm.so+0x8cea40], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGBUS: [libjvm.so+0x8cea40], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGFPE: [libjvm.so+0x74e9d0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGPIPE: [libjvm.so+0x74e9d0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGXFSZ: [libjvm.so+0x74e9d0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGILL: [libjvm.so+0x74e9d0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGUSR1: SIG_DFL, sa_mask[0]=00000000000000000000000000000000, sa_flags=none
SIGUSR2: [libjvm.so+0x750050], sa_mask[0]=00100000000000000000000000000000, sa_flags=SA_RESTART|SA_SIGINFO
SIGHUP: [libjvm.so+0x751500], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGINT: SIG_IGN, sa_mask[0]=00000000000000000000000000000000, sa_flags=none
SIGTERM: [libjvm.so+0x751500], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGQUIT: [libjvm.so+0x751500], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO

--------------- S Y S T E M ---------------

OS:DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION=“Ubuntu 14.04.5 LTS”

uname:Linux 4.4.0-47-generic #68~14.04.1-Ubuntu SMP Wed Oct 26 19:42:11 UTC 2016 x86_64
libc:glibc 2.19 NPTL 2.19
rlimit: STACK 8192k, CORE 0k, NPROC 14398, NOFILE 4096, AS infinity
load average:6,01 5,42 4,36

/proc/meminfo:
MemTotal: 3921084 kB
MemFree: 114604 kB
MemAvailable: 138156 kB
Buffers: 6916 kB
Cached: 525452 kB
SwapCached: 83724 kB
Active: 2743248 kB
Inactive: 872752 kB
Active(anon): 2607784 kB
Inactive(anon): 806432 kB
Active(file): 135464 kB
Inactive(file): 66320 kB
Unevictable: 48 kB
Mlocked: 48 kB
SwapTotal: 4067324 kB
SwapFree: 3322000 kB
Dirty: 408 kB
Writeback: 0 kB
AnonPages: 3082792 kB
Mapped: 202072 kB
Shmem: 330576 kB
Slab: 86448 kB
SReclaimable: 49044 kB
SUnreclaim: 37404 kB
KernelStack: 24608 kB
PageTables: 43984 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 6027864 kB
Committed_AS: 8384480 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
HardwareCorrupted: 0 kB
AnonHugePages: 1634304 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 230704 kB
DirectMap2M: 3837952 kB

CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 58 stepping 9, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, clmul, erms, tsc, tscinvbit, tscinv

/proc/cpuinfo:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 58
model name : IntelÂŽ PentiumÂŽ CPU G2030 @ 3.00GHz
stepping : 9
microcode : 0x17
cpu MHz : 3000.000
cache size : 3072 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave lahf_lm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm arat pln pts
bugs :
bogomips : 5986.37
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 58
model name : IntelÂŽ PentiumÂŽ CPU G2030 @ 3.00GHz
stepping : 9
microcode : 0x17
cpu MHz : 3000.000
cache size : 3072 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave lahf_lm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm arat pln pts
bugs :
bogomips : 5986.37
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

Memory: 4k page, physical 3921084k(114604k free), swap 4067324k(3322000k free)

vm_info: Java HotSpot™ Server VM (25.74-b02) for linux-x86 JRE (1.8.0_74-b02), built on Jan 29 2016 18:53:55 by “java_re” with gcc 4.3.0 20080428 (Red Hat 4.3.0-8)

time: Wed Jul 26 03:14:03 2017
elapsed time: 74 seconds (0d 0h 1m 14s)

1 Like

May be when i destroy application need detach players and make cleanup()?

1 Like

Or try using the proper method:
http://javadoc.jmonkeyengine.org/com/jme3/app/Application.html#stop-boolean-

1 Like

And if you want to clean stuff up on shutdown then you should really be using AppStates.

…but you should be using those for 99% of what you’ve been shoving into SimpleApplicaiton anyway.

2 Likes

I think need detach:

  1. players from rootNode and physics.
  2. all variables = null
  3. make System.gc();

error: player It remains in the Physics Library - we need detach player and null library. + gc

try this…

I need not stop.
I need new (another) application…

try use “stop” before super.destroy();

1 Like

work this great:

@Override
    public void destroy(){
        
        
        String outMessage        =  "{\"task\":\"JGameTask\",\"user_id\":\""+ JConfig.user_id +"\",\"auth_token\":\""+JConfig.token +"\",\"scenario\":\"disconnect\",\"data\":\""+ levelId +"\"}";

        JOutMessages outMessages = new JOutMessages(JConfig.server_ip,outMessage);
        
        
        outMessages.insert();
        
        
        stop();
        
        
        
        //clear players
        Player player;
            
        for(String key : players.keySet()){
            player = players.get(key);
            
            player.characterModel.removeControl(player.characterControl);
            instance.bulletAppState.getPhysicsSpace().remove(player.characterControl);
            
            
            instance.rootNode.detachChild(player.characterModel);
            

            player.rotateChannel    = null;
            player.rotateControl    = null;

            player.runChannel       = null;
            player.runControl       = null;
            
            player.characterModel   = null;
            player.characterControl = null;

            player.assetManager     = null;
            
            players.remove(player, key);
        }
        
        player = null;
        
        instance.players.clear();
        instance.players = null;
        
        
        // clear landscape
        instance.sceneModel.removeControl(landscape);
        
        instance.bulletAppState.getPhysicsSpace().remove(landscape);

        landscape = null;
        
        
        
        
        //clear bulletAppState

        instance.bulletAppState.cleanup();

        instance.stateManager.detach(bulletAppState);
        
        instance.bulletAppState = null;
        
  
        
        
        //remove scene model
        instance.rootNode.detachChild(sceneModel);
        
        sceneModel = null;
  
        
        
        //clean state manager
        super.destroy();

        instance.stateManager = null;
        
        
        
        //clean application
        instance = null;

        
        
        
        //run garbage 
        System.gc();
        
        
        
        //init static values
        instance.players = new HashMap<String, Player>();

        
        //run interface
        Main.interfaceFrame();
    }
1 Like

i need work with memory in net framework and game server logic…

1 Like

To stop the application call stop(). destroy() will be called for you.

To do cleanup… use an app state’s cleanup method.

Since you won’t read that and I’m tired of repeating myself, I’ll go ahead and repeat it a few times here.

To stop the application call stop(). destroy() will be called for you.

To do cleanup… use an app state’s cleanup method.

To stop the application call stop(). destroy() will be called for you.

To do cleanup… use an app state’s cleanup method.

To stop the application call stop(). destroy() will be called for you.

To do cleanup… use an app state’s cleanup method.

To stop the application call stop(). destroy() will be called for you.

To do cleanup… use an app state’s cleanup method.

To stop the application call stop(). destroy() will be called for you.

To do cleanup… use an app state’s cleanup method.

To stop the application call stop(). destroy() will be called for you.

To do cleanup… use an app state’s cleanup method.

Now you are on your own.

4 Likes

=)
i read. and doo. thanks. not for all application components has cleanup() method.

for call standard java system garbage need:

  • null object
  • execute System.gc();
1 Like

If you have to do this before your application exits then something is very broken.

No, but you can call them from your cleanup method instead of overriding destroy() (which is totally stupid).

But you won’t. You post here for no reason.

1 Like

Its the classic situaton whilst learning without doing homework. You know what you want but you dont know how to follow the procedure correctly. So you try your own way. So far so good.

But in this situation it is vital that you read not only the docs but look at examples. Understand the approach. Why the library is doing it the way it is. The limitations of the approach. The befefits. The side effects. Etc.

I find that more and more these days i write less code and read/think a lot more. I write notes everywhere. I basically type my thought process down before i begin, and often explain why i came to this conclusion. I might see this code again in a few weeks and wonder why i did it that way. Now ill know. Not only why, but also a window into my level of understanding at that time.

It sounds a lot less exciting, but i dont often see myself re-writing things 5 times - because i did my homework and theory first. And you end up with a nice solid and well thought-out bit of code.

5 Likes

I’ll take this to my toolbox, after your approval.

2 Likes

This is some serious “Zen and the art of coding”. :wink:

3 Likes

I always design this way. I have text files where I have a chat with myself on the subject. Pros/cons, experiments, results, designs… all discussed there where I have this sort of multiple personality disorder-style conversation with myself and beat my ideas up.

When I come back even years later, I can instantly insert myself back into the mindset… and often times I add my own dated notes as I go… “This guy was stupid then because… X Y Z”

1 Like