public inbox for java-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug libgcj/34574] New: wait() call hangs in _Jv_CondWait taking the monitor with it causing the application to hang
@ 2007-12-24 18:24 rajathf at techmahindra dot com
2007-12-24 18:27 ` [Bug libgcj/34574] " rajathf at techmahindra dot com
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: rajathf at techmahindra dot com @ 2007-12-24 18:24 UTC (permalink / raw)
To: java-prs
This seems to be a critical issue causing a thread pool implementaion to go
into dead lock and normally happens if code inside run method does requires
little time and large number runnable objects are assigned to thread pool...
I have identified this issue in sun solaris 2.9
Please find below the code for each of the files required to reproduce scenario
and corresponding compilation options at the end...
-----------------------------------env_test.java-------------------------------------------
public class env_test implements Runnable {
static private int count = 0;
private int taskNumber;
protected Done done;
public static native void foo();
public env_test()
{
count++;
taskNumber = count;
}
public void run()
{
foo();
}
}
---------------------------------TestJVSynchronise19thDec.cc--------------------------------------------
// This file was created by `gcjh -stubs'. -*- c++ -*-
//
// This file is intended to give you a head start on implementing native
// methods using CNI.
// Be aware: running `gcjh -stubs ' once more for this class may
// overwrite any edits you have made to this file.
#include <iostream.h>
#include <gcj/cni.h>
#include <gnu/gcj/RawData.h>
#include <env_test.h>
#include <ThreadPool.h>
#include <java/lang/Thread.h>
using namespace std;
using namespace java::lang;
Object *vl_pLock;
void env_test::foo()
{
{
JvSynchronize sync (vl_pLock);
//std::cout <<
"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ " << std::endl;
long vl_CurrThreadID = Thread::currentThread()->getId();
//std::cout << "()Thread ID : " << vl_CurrThreadID <<
std::endl;
for (int i=0;i<30;i++)
{
//cout << "Hello World" << endl;
}
//std::cout <<
"-------------------------------------------------------- " << std::endl;
}
}
int main(int argc, char *argv)
{
JvCreateJavaVM(NULL);
JvAttachCurrentThread(NULL,NULL);
ThreadPool *pool = new ThreadPool(20);
vl_pLock = new Object();
for (int i=0;i<100000;i++)
{
pool->assign((gnu::gcj::RawData *) new env_test());
}
pool->complete();
JvDetachCurrentThread();
}
-------------------------------------ThreadPool.java---------------------------------------
import java.util.*;
//import gnu.gcj.RawData;
/**
* Java Thread Pool
*
* This is a thread pool that for Java, it is
* simple to use and gets the job done. This program and
* all supporting files are distributed under the Limited
* GNU Public License (LGPL, http://www.gnu.org).
*
* This is the main class for the thread pool. You should
* create an instance of this class and assign tasks to it.
*
* For more information visit http://www.jeffheaton.com.
*
* @author Jeff Heaton (http://www.jeffheaton.com)
* @version 1.0
*/
public class ThreadPool {
/**
* The threads in the pool.
*/
protected Thread threads[] = null;
/**
* The backlog of assignments, which are waiting
* for the thread pool.
*/
Collection assignments = new ArrayList(3);
//Vector assignments = new Vector();
/**
* A Done object that is used to track when the
* thread pool is done, that is has no more work
* to perform.
*/
protected Done done = new Done();
/**
* The constructor.
*
* @param size How many threads in the thread pool.
*/
public ThreadPool(int size)
{
threads = new WorkerThread[size];
for (int i=0;i<threads.length;i++) {
threads[i] = new WorkerThread(this);
threads[i].start();
}
}
/**
* Add a task to the thread pool. Any class
* which implements the Runnable interface
* may be assienged. When this task runs, its
* run method will be called.
*
* @param r An object that implements the Runnable interface
*/
//public synchronized void assign(Runnable r)
public synchronized void assign(Object r)
//public void assign(Object r)
{
done.workerBegin();
assignments.add(r);
notify();
}
/**
* Get a new work assignment.
*
* @return A new assignment
*/
public synchronized Runnable getAssignment()
{
try {
while ( !assignments.iterator().hasNext() )
wait();
Runnable r = (Runnable)assignments.iterator().next();
assignments.remove(r);
return r;
} catch (InterruptedException e) {
done.workerEnd();
return null;
}
}
/**
* Called to block the current thread until
* the thread pool has no more work.
*/
public void complete()
{
done.waitBegin();
done.waitDone();
}
protected void finalize()
{
done.reset();
for (int i=0;i<threads.length;i++) {
threads[i].interrupt();
done.workerBegin();
threads[i].destroy();
}
done.waitDone();
}
}
/**
* The worker threads that make up the thread pool.
*
* @author Jeff Heaton
* @version 1.0
*/
class WorkerThread extends Thread {
/**
* True if this thread is currently processing.
*/
public boolean busy;
/**
* The thread pool that this object belongs to.
*/
public ThreadPool owner;
/**
* The constructor.
*
* @param o the thread pool
*/
WorkerThread(ThreadPool o)
{
owner = o;
}
/**
* Scan for and execute tasks.
*/
public void run()
{
Runnable target = null;
do {
target = owner.getAssignment();
if (target!=null) {
target.run();
owner.done.workerEnd();
}
} while (target!=null);
}
}
/**
*
* This is a thread pool for Java, it is
* simple to use and gets the job done. This program and
* all supporting files are distributed under the Limited
* GNU Public License (LGPL, http://www.gnu.org).
*
* This is a very simple object that
* allows the TheadPool to determine when
* it is done. This object implements
* a simple lock that the ThreadPool class
* can wait on to determine completion.
* Done is defined as the ThreadPool having
* no more work to complete.
*
* Copyright 2001 by Jeff Heaton
*
* @author Jeff Heaton (http://www.jeffheaton.com)
* @version 1.0
*/
class Done {
/**
* The number of Worker object
* threads that are currently working
* on something.
*/
private int _activeThreads = 0;
/**
* This boolean keeps track of if
* the very first thread has started
* or not. This prevents this object
* from falsely reporting that the ThreadPool
* is done, just because the first thread
* has not yet started.
*/
private boolean _started = false;
/**
* This method can be called to block
* the current thread until the ThreadPool
* is done.
*/
synchronized public void waitDone()
{
try {
while ( _activeThreads>0 ) {
wait();
}
} catch ( InterruptedException e ) {
}
}
/**
* Called to wait for the first thread to
* start. Once this method returns the
* process has begun.
*/
synchronized public void waitBegin()
{
try {
while ( !_started ) {
wait();
}
} catch ( InterruptedException e ) {
}
}
/**
* Called by a Worker object
* to indicate that it has begun
* working on a workload.
*/
synchronized public void workerBegin()
{
_activeThreads++;
_started = true;
notify();
}
/**
* Called by a Worker object to
* indicate that it has completed a
* workload.
*/
synchronized public void workerEnd()
{
_activeThreads--;
notify();
}
/**
* Called to reset this object to
* its initial state.
*/
synchronized public void reset()
{
_activeThreads = 0;
}
}
--------------------------------------------------------------------------
compilation options used...
gcj -d . -C ThreadPool.java /* Generate Class File */
gcj -c -d . ThreadPool.java /* Compile Java File */
gcjh ThreadPool
gcj -d . -C env_test.java /* Generate Class File */
gcj -c -d . env_test.java /* Compile Java File */
gcjh env_test
g++ -m32 -Wno-deprecated -fPIC
-I/appl/flstr/d2/fernanr2/MutexLock/TestJVSynchronise -c
TestJVSynchronise19thDec.cc
gcj -o TestJVSynchronise19thDec.exe TestJVSynchronise19thDec.o ThreadPool.o
env_test.o -lstdc++
--
Summary: wait() call hangs in _Jv_CondWait taking the monitor
with it causing the application to hang
Product: gcc
Version: 4.2.2
Status: UNCONFIRMED
Severity: critical
Priority: P3
Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rajathf at techmahindra dot com
GCC build triplet: Configured with: ./configure --
prefix=/software/gcc/4.2.2 --enab
GCC host triplet: Thread model: posix
GCC target triplet: sparc-sun-solaris2.9
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34574
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug libgcj/34574] wait() call hangs in _Jv_CondWait taking the monitor with it causing the application to hang
2007-12-24 18:24 [Bug libgcj/34574] New: wait() call hangs in _Jv_CondWait taking the monitor with it causing the application to hang rajathf at techmahindra dot com
@ 2007-12-24 18:27 ` rajathf at techmahindra dot com
2007-12-24 18:58 ` rajathf at techmahindra dot com
2007-12-24 22:12 ` pinskia at gcc dot gnu dot org
2 siblings, 0 replies; 4+ messages in thread
From: rajathf at techmahindra dot com @ 2007-12-24 18:27 UTC (permalink / raw)
To: java-prs
------- Comment #1 from rajathf at techmahindra dot com 2007-12-24 18:27 -------
the pstack i got at deadlock mite help...
----------------- lwp# 1 / thread# 1 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde2b9c cond_wait_queue (1a8900, fcdf8b48, 0, 0, fcfc0000, fcdf8000) + d4
fcde3358 cond_wait (1a8900, 1a8910, 0, 0, 0, 0) + 14
fcde3394 pthread_cond_wait (1a8900, 1a8910, 0, 0, 0, 0) + 8
fdeaf8b4 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170260, 0, ffbfefe0, 0, 0) + 20c
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d10, 0, 0, 0, 0, 0) + 8c
00012e10 _ZN4Done8waitDoneEJvv (153d10, 17ade0, 1, 0, 0, 0) + 38
00013b28 _ZN10ThreadPool8completeEJvv (17ae28, 17ade0, 14c18, 61760000, 6176,
0) + 80
00014484 _ZN3abc27WaitForAllThreadsToCompleteEv (ffbff248, 14c18, 37340,
ff3b3a28, ffbfffcc, ff3cc4ec) + 28
00012d54 main (1, ffbff324, ffbff32c, 2698c, 0, 0) + c0
0001280c _start (0, 0, 0, 0, 0, 0) + 5c
----------------- lwp# 2 / thread# 2 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde2b9c cond_wait_queue (1a8888, fcdf8b48, 0, 0, fcfc0200, fcdf8000) + d4
fcde3358 cond_wait (1a8888, 1a8898, 0, 0, 0, 0) + 14
fcde3394 pthread_cond_wait (1a8888, 1a8898, 0, 0, 0, 0) + 8
fdeaf8b4 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
ff102280, 0, fcd7bdb0, 0, fcd7be74) + 20c
fde98d68 _ZN3gnu3gcj7runtime15FinalizerThread3runEJvv (177e10, fcd7be88, 0,
fcdd172c, 5, ff101be8) + e4
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (177e10, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcc80, 0, fcd7bfa0, fcd7bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 3 / thread# 3 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 0, 0) + 104
fcde206c slow_lock (170210, fcfc0400, 0, 0, 0, 0) + 58
fdeaf8d8 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, fcc7bbc8, 0, 0) + 230
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 80d080, ffffd282) +
8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 0, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (177cd0, fcc7be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (177cd0, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcc50, 0, fcc7bfa0, fcc7bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 4 / thread# 4 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 0, 0) + 104
fcde206c slow_lock (170210, fcfc0600, 0, 0, 0, 0) + 58
fdeaf8d8 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, fcb7bbc8, 0, 0) + 230
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 80a880, ffffeb72) +
8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 0, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (177c80, fcb7be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (177c80, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcc40, 0, fcb7bfa0, fcb7bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 5 / thread# 5 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 0, 0) + 104
fcde206c slow_lock (170210, fcfc0800, 0, 0, 0, 0) + 58
fdeaf8d8 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, fca7bbc8, 0, 0) + 230
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 808080, 1e62) + 8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 0, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (177c30, fca7be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (177c30, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcc38, 0, fca7bfa0, fca7bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 6 / thread# 6 --------------------
fcde58f4 lwp_park (0, 0, 0) <-------Normal Scenario for remaining
threads
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 0, 0) + 104
fcde206c slow_lock (170210, fcfc0a00, 0, 0, 0, 0) + 58
fdeaf8d8 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, fc97bbc8, 0, 0) + 230
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 8b7080, ffffd642) +
8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 0, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (177be0, fc97be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (177be0, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcc30, 0, fc97bfa0, fc97bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 7 / thread# 7 --------------------
fdeaf864 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, 0, 0, 0) + 1bc <-------Spurious Wake -up
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 8ba000, 1012) + 8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 0, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (177b90, fc87be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (177b90, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcc28, 0, fc87bfa0, fc87bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 8 / thread# 8 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 0, 0) + 104
fcde206c slow_lock (170210, fcfc0e00, 0, 0, 0, 0) + 58
fdeaf8d8 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, fc77bbc8, 0, 0) + 230
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 810000, c52) + 8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 0, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (177b40, fc77be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (177b40, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcc20, 0, fc77bfa0, fc77bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 9 / thread# 9 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 0, 0) + 104
fcde206c slow_lock (170210, fcfc1000, 0, 0, 0, 0) + 58
fdeaf8d8 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, fc67bbc8, 0, 0) + 230
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 805080, ffffe462) +
8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 177af1, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (177af0, fc67be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (177af0, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcc18, 0, fc67bfa0, fc67bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 10 / thread# 10 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 0, 0) + 104
fcde206c slow_lock (170210, fcfc1200, 0, 0, 0, 0) + 58
fdeaf8d8 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, fc57bbc8, 0, 0) + 230
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 8bc880, bad52) + 8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 0, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (177aa0, fc57be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (177aa0, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcc10, 0, fc57bfa0, fc57bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 11 / thread# 11 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 81010100, ff00) +
104
fcde206c slow_lock (170210, fcfc1400, 0, 1, 16ff00, 0) + 58
fdea40c0 _Jv_MonitorEnter (b, 14c18, 0, 0, 815000, ffffd074) + 3c
00013efc _ZN8IBMMutex7releaseEJvv (153d00, 14c18, 1, 0, 0, 0) + c
00014324 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 2b8
000131e4 _ZN12WorkerThread3runEJvv (177a50, fc47be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (177a50, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcc08, 0, fc47bfa0, fc47bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 12 / thread# 12 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 0, 0) + 104
fcde206c slow_lock (170210, fcfc1600, 0, 0, 0, 0) + 58
fdeaf8d8 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, fc37bbc8, 0, 0) + 230
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 80d800, 2544) + 8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 0, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (177a00, fc37be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (177a00, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcc00, 0, fc37bfa0, fc37bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 13 / thread# 13 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 0, 0) + 104
fcde206c slow_lock (170210, fcfc1800, 0, 0, 0, 0) + 58
fdeaf8d8 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, fc27bbc8, 0, 0) + 230
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 8bc080, baa54) + 8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 0, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (1779b0, fc27be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (1779b0, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcbf8, 0, fc27bfa0, fc27bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 14 / thread# 14 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 0, 0) + 104
fcde206c slow_lock (170210, fcfc1a00, 0, 0, 0, 0) + 58
fdeaf8d8 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, fc17bbc8, 0, 0) + 230
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 815080, 1094) + 8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 0, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (177960, fc17be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (177960, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcbf0, 0, fc17bfa0, fc17bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 15 / thread# 15 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 0, 0) + 104
fcde206c slow_lock (170210, fcfc1c00, 0, 0, 0, 0) + 58
fdeaf8d8 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, fc07bbc8, 0, 0) + 230
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 813000, ffffe664) +
8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 0, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (177910, fc07be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (177910, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcbe8, 0, fc07bfa0, fc07bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 16 / thread# 16 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 0, 0) + 104
fcde206c slow_lock (170210, fcfc1e00, 0, 0, 0, 0) + 58
fdeaf8d8 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, fbf7bbc8, 0, 0) + 230
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 805880, 4754) + 8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 0, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (1778c0, fbf7be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (1778c0, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcbe0, 0, fbf7bfa0, fbf7bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 17 / thread# 17 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 0, 0) + 104
fcde206c slow_lock (170210, fcfc2000, 0, 0, 0, 0) + 58
fdeaf8d8 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, fbe7bbc8, 0, 0) + 230
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 808880, 2164) + 8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 0, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (177870, fbe7be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (177870, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcbd8, 0, fbe7bfa0, fbe7bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 18 / thread# 18 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 0, 0) + 104
fcde206c slow_lock (170210, fcfc2200, 0, 0, 0, 0) + 58
fdeaf8d8 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, fbd7bbc8, 0, 0) + 230
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 813880, ffffe994) +
8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 0, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (177820, fbd7be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (177820, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcbd0, 0, fbd7bfa0, fbd7bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 19 / thread# 19 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 0, 0) + 104
fcde206c slow_lock (170210, fcfc2400, 0, 0, 0, 0) + 58
fdeaf8d8 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, fbc7bbc8, 0, 0) + 230
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 80a080, ffffe874) +
8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 0, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (1777d0, fbc7be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (1777d0, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcbc8, 0, fbc7bfa0, fbc7bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 20 / thread# 20 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 0, 0) + 104
fcde206c slow_lock (170210, fcfc2600, 0, 0, 0, 0) + 58
fdeaf8d8 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, fbb7bbc8, 0, 0) + 230
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 8ba780, 12e4) + 8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 0, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (177780, fbb7be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (177780, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcbc0, 0, fbb7bfa0, fbb7bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 21 / thread# 21 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 0, 0) + 104
fcde206c slow_lock (170210, fcfc2800, 0, 0, 0, 0) + 58
fdeaf8d8 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, fba7bbc8, 0, 0) + 230
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 810800, f54) + 8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 0, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (177730, fba7be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (177730, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcbb8, 0, fba7bfa0, fba7bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 22 / thread# 22 --------------------
fcde58f4 lwp_park (0, 0, 0)
fcde166c mutex_lock_queue (fcdf8b44, 0, 170210, fcdf8000, 0, 0) + 104
fcde206c slow_lock (170210, fcfc2a00, 0, 0, 0, 0) + 58
fdeaf8d8 _Z12_Jv_CondWaitP23_Jv_ConditionVariable_tP11_Jv_Mutex_txi (1,
170210, 0, fb97bbc8, 0, 0) + 230
fdea4298 _ZN4java4lang6Object4waitEJvxi (153d00, 0, 0, 0, 815900, 13c4) + 8c
00013e8c _ZN8IBMMutex7acquireEJvv (153d00, 17ade0, a, 0, 0, 0) + 88
000140f4 _ZN3env3runEJvv (17ade0, 26868, 1, 0, 0, 0) + 88
000131e4 _ZN12WorkerThread3runEJvv (1776e0, fb97be88, 0, 0, 0, ff101be8) + d0
fdea7f70 _Z13_Jv_ThreadRunPN4java4lang6ThreadE (1776e0, ff1a66a0, 0, ff1a6000,
ff12d474, feb3c510) + 18
fdeaf3d4 _Z12really_startPv (fcbb0, 0, fb97bfa0, fb97bf7c, 0, 0) + 20
fe7dd37c GC_start_routine (12ef80, 0, 0, 0, 0, 0) + d4
fcde57b4 _lwp_start (0, 0, 0, 0, 0, 0)
--
rajathf at techmahindra dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rajathf at techmahindra dot
| |com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34574
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug libgcj/34574] wait() call hangs in _Jv_CondWait taking the monitor with it causing the application to hang
2007-12-24 18:24 [Bug libgcj/34574] New: wait() call hangs in _Jv_CondWait taking the monitor with it causing the application to hang rajathf at techmahindra dot com
2007-12-24 18:27 ` [Bug libgcj/34574] " rajathf at techmahindra dot com
@ 2007-12-24 18:58 ` rajathf at techmahindra dot com
2007-12-24 22:12 ` pinskia at gcc dot gnu dot org
2 siblings, 0 replies; 4+ messages in thread
From: rajathf at techmahindra dot com @ 2007-12-24 18:58 UTC (permalink / raw)
To: java-prs
--
rajathf at techmahindra dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|critical |blocker
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34574
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug libgcj/34574] wait() call hangs in _Jv_CondWait taking the monitor with it causing the application to hang
2007-12-24 18:24 [Bug libgcj/34574] New: wait() call hangs in _Jv_CondWait taking the monitor with it causing the application to hang rajathf at techmahindra dot com
2007-12-24 18:27 ` [Bug libgcj/34574] " rajathf at techmahindra dot com
2007-12-24 18:58 ` rajathf at techmahindra dot com
@ 2007-12-24 22:12 ` pinskia at gcc dot gnu dot org
2 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-12-24 22:12 UTC (permalink / raw)
To: java-prs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|blocker |normal
GCC build triplet|Configured with: ./configure|
|--prefix=/software/gcc/4.2.2|
|--enab |
GCC host triplet|Thread model: posix sparc- |
|sun-solaris2.9 (MAY BE |
|OTHERS TOO) |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34574
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2007-12-24 22:12 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-12-24 18:24 [Bug libgcj/34574] New: wait() call hangs in _Jv_CondWait taking the monitor with it causing the application to hang rajathf at techmahindra dot com
2007-12-24 18:27 ` [Bug libgcj/34574] " rajathf at techmahindra dot com
2007-12-24 18:58 ` rajathf at techmahindra dot com
2007-12-24 22:12 ` pinskia at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).