Wednesday, November 27, 2013

First Markdown Blog

Write in markdown then publish to Blogger.com

just realized I can edit using statedit using markdown then publish to this blog.

Would recommend you to try it too at https://stackedit.io

Wednesday, November 6, 2013

JDeveloper 12c crashes at startup

I've recently started using JDeveloper, and will eventually start to support it.

However, the latest JDeveloper 12.1.2.0.0 gave me a headache, that I cannot start it. It always crashes on my Mint 15.

Below's the output:

$./jdev
Oracle JDeveloper 12c 12.1.2.0.0  Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 
# A fatal error has been detected by the Java Runtime Environment: #  SIGSEGV (0xb) at pc=0xa3e351e0, pid=16287, tid=2826627904 # JRE version: 7.0_15-b33 # Java VM: Java HotSpot(TM) Server VM (23.7-b01 mixed mode linux-x86 ) # Problematic frame: # C  0xa3e351e0 # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again [thread -1462166720 also had an error] # An error report file with more information is saved as: # [thread -1462166720 also had an error] # If you would like to submit a bug report, please visit: #   http://bugreport.sun.com/bugreport/crash.jsp /home/sean/Oracle/JDev121200/jdeveloper/jdev/bin/../../ide/bin/launcher.sh: line 603: 16287 Aborted                 (core dumped) ${JAVA} "${APP_VM_OPTS[@]}" ${APP_ENV_VARS} -classpath ${APP_CLASSPATH} ${APP_MAIN_CLASS} "${APP_APP_OPTS[@]}"

There's also a jdk mini dump generated, but almost useless(at lease to me).

I've tried the following:

  1. tried 32bit and 64bit, same problem 
  2. tried upgrading the default JDK 1.7.0_15 to the latest 1.7.0_45, no luck 
  3. tried JDeveloper 11g, no problem at all 


Checked internally and finally found the cause, it's an environment parameter that stops the IDE showing up:
GNOME_DESKTOP_SESSION_ID
On my Mint box, if I run:
 $env |grep GNOME 
 I got:
GNOME_KEYRING_CONTROL=/run/user/sean/keyring-X5wlWr
GNOME_KEYRING_PID=2272
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
XDG_CURRENT_DESKTOP=GNOME
It's this 'GNOME_DESKTOP_SESSION_ID=this-is-deprecated' causing the JDeveloper to crash. 

I modified my jdev under jdeveloper/jdev/bin, added one line after main section:

#-----------------------------------------------------------------------------
#  main
#-----------------------------------------------------------------------------
unset GNOME_DESKTOP_SESSION_ID

then JDev started like a charm.

Some people might have discovered another solution which was using 'sudo ./jdev' to start JDeveloper. I guess that has the same idea as that process has a different environment which does not contains this problematic 'GNOME_DESKTOP_SESSION_ID'.