Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4023602
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 20, 20262026-05-20T10:37:07+00:00 2026-05-20T10:37:07+00:00

Our Java application starts a worker thread (using Thread.start() ). Shortly thereafter it calls

  • 0

Our Java application starts a worker thread (using Thread.start()). Shortly thereafter it calls Thread.join() on the worker thread. The worker thread does some stuff and terminates. The first thread exits the call to join() and goes on its merry way. Standard stuff:

Thread t = new WorkerThread();
t.start();

// Blah blah

t.join();

class WorkerThread extends Thread {
    public void run() {
        // Do some stuff
    }
}

At least that’s how it’s supposed to work, and how it does work in any case we can reproduce. We have one customer, however, who is persistently running into trouble.

Looking at the threads using PsiProbe, they see that the worker thread is created. It runs for awhile, but after some time disappears from the list of threads. This happens at an unexpected time (based on timing of other events related to the worker thread). The main thread never gets out of the join() call.

This would seem to break join()‘s contract, and implies to me some sort of JVM-level error. Has anybody witnessed behavior like this, or have any idea what could cause it?

EDIT 3-3-11:

I’m still waiting for conclusive data from the customer, but it seems likely that I didn’t really know what I thought I knew: the main thread is likely not blocking in join() at all, but at a point prior to it.

Thanks to all for the ideas, anyway.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-20T10:37:08+00:00Added an answer on May 20, 2026 at 10:37 am

    A quick search of the Java Bugs Database didn’t throw up anything that matches your symptoms. But it would be worth your while doing a more extensive search.


    However, it is worth noting that a JVM bug is only one of many possible theories (see the comments), and there is very little evidence for any theory at this stage. If I were you, I would:

    1. figured out what the customer’s platform is
    2. do a search of the Java bugs database for any known bugs that seem to match the observed symptoms (such as they are).
    3. if you find a bug that looks like a “hit”, evaluate it further, try to confirm that it is really the customer’s problem, and see if there are any ways to mitigate it.
    4. in addition …
      • look at the other possible theories; e.g. see above
      • try and figure out what is different about the customer’s installation compared with others who don’t have this problem
      • add more monitoring, and try to get the customer to use that version.

    (On the last bullet point, it may be necessary to point out the obvious to the customer. If they want the bug fixed, they may need to do extra stuff to help you track down the bug, like installing running an “experimental” version of the application for a bit.)

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Our Swing application performs some long-running tasks in a background thread using the excellent
Hi noticed some code in our application when I first started Java programming. I
Our java application relies on some resources which are available on a network share.
We recently started using Eclipse to develop our java application and have been running
We're using Warbler to deploy our application to JBoss. The server seems to start
When our application starts up it can't seem to connect to the database (using
We have developed SOA architecure for our intranet application, so our web-start java applications
Our Java application has a number of modules which implement a common interface. By
On one of our Java application screens, we want to display data loaded from
I've set up ehcache on our Java application, which uses Spring and Hibernate. However,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.