I have a program running sometime alright, the other time it just won’t. The odds is roughly 50-50. Those are the snapshots when I run the program. Without looking at my code, does anybody know any scenarios this might happens? I am just confused, by the way, the program can’t be stop normally either when it displays the white screen, I had to kill the process to terminate it, I am guess there is a thing with the JVM, correct me if I am wrong. Thanks 
I know this is not the way I should post the question, but the code is gigantic and I am not even sure where it might go wrong. My confusion is why it works 50% of the time, not all or nothing situation. Thanks

When using Java Swing, this kind of thing is often a symptom of doing GUI work (calls on methods on Swing or AWT objects) on any thread other than Swing’s GUI thread. Make sure you’re dispatching correctly to prevent that.
EDIT: Adding these links to some docs on the subject to get you started:
http://docs.oracle.com/javase/tutorial/uiswing/concurrency/dispatch.html
http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html