java - Thread stuck in Thread.join(), even though other thread has terminated -


our java application starts worker thread (using thread.start()). shortly thereafter calls thread.join() on worker thread. worker thread stuff , terminates. first thread exits call join() , goes on merry way. standard stuff:

thread t = new workerthread(); t.start();  // blah blah  t.join();  class workerthread extends thread {     public void run() {         // stuff     } } 

at least that's how it's supposed work, , how work in case can reproduce. have 1 customer, however, persistently running trouble.

looking @ threads using psiprobe, see worker thread created. runs awhile, after time disappears list of threads. happens @ unexpected time (based on timing of other events related worker thread). main thread never gets out of join() call.

this seem break join()'s contract, , implies me sort of jvm-level error. has witnessed behavior this, or have idea cause it?

edit 3-3-11:

i'm still waiting conclusive data customer, seems didn't know thought knew: main thread not blocking in join() @ all, @ point prior it.

thanks ideas, anyway.

a quick search of java bugs database didn't throw matches symptoms. worth while doing more extensive search.


however, worth noting jvm bug 1 of many possible theories (see comments), , there little evidence theory @ stage. if you, would:

  1. figured out customer's platform is
  2. do search of java bugs database known bugs seem match observed symptoms (such are).
  3. if find bug looks "hit", evaluate further, try confirm customer's problem, , see if there ways mitigate it.
  4. in addition ...
    • look @ other possible theories; e.g. see above
    • try , figure out different customer's installation compared others don't have problem
    • add more monitoring, , try customer use version.

(on last bullet point, may necessary point out obvious customer. if want bug fixed, may need stuff track down bug, installing running "experimental" version of application bit.)


Comments

Popular posts from this blog

c# - How to set Z index when using WPF DrawingContext? -

razor - Is this a bug in WebMatrix PageData? -

android - layout with fragment and framelayout replaced by another fragment and framelayout -