From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7918 invoked by alias); 19 Oct 2013 20:24:17 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 7874 invoked by uid 48); 19 Oct 2013 20:24:13 -0000 From: "pashev.igor at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug libgcj/34574] wait() call hangs in _Jv_CondWait taking the monitor with it causing the application to hang Date: Sat, 19 Oct 2013 20:24:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libgcj X-Bugzilla-Version: 4.2.2 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: pashev.igor at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: attachments.created Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-10/txt/msg01378.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34574 --- Comment #3 from Igor Pashev --- Created attachment 31052 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31052&action=edit Adopted test case I've made a test case. It work for GCC 4.7 on illumos/amd64 (aka OpenSolaris) pashev@bok:~/gcj-hang$ make clean rm -f TestJVSynchronise19thDec rm -f *.o *.class *.h pashev@bok:~/gcj-hang$ make gcj -d . -C ThreadPool.java ThreadPool.java:30: warning: Collection is a raw type. References to generic type Collection should be parameterized Collection assignments = new ArrayList(3); ^^^^^^^^^^ ThreadPool.java:30: warning: ArrayList is a raw type. References to generic type ArrayList should be parameterized Collection assignments = new ArrayList(3); ^^^^^^^^^ ThreadPool.java:67: warning: Type safety: The method add(Object) belongs to the raw type Collection. References to generic type Collection should be parameterized assignments.add(r); ^^^^^^^^^^^^^^^^^^ ThreadPool.java:111: warning: The method destroy() from the type Thread is deprecated threads[i].destroy(); ^^^^^^^^^^^^^^^^^^^^ 4 problems (4 warnings) gcj -d . -C env_test.java env_test.java:5: warning: The field env_test.taskNumber is never read locally private int taskNumber; ^^^^^^^^^^ 1 problem (1 warning) gcjh -cp . env_test gcjh -cp . ThreadPool g++ -fPIC -I. -c TestJVSynchronise19thDec.cc -o TestJVSynchronise19thDec.o gcj -o TestJVSynchronise19thDec TestJVSynchronise19thDec.o ThreadPool.java env_test.java -lstdc++ ThreadPool.java:30: warning: Collection is a raw type. References to generic type Collection should be parameterized Collection assignments = new ArrayList(3); ^^^^^^^^^^ ThreadPool.java:30: warning: ArrayList is a raw type. References to generic type ArrayList should be parameterized Collection assignments = new ArrayList(3); ^^^^^^^^^ ThreadPool.java:67: warning: Type safety: The method add(Object) belongs to the raw type Collection. References to generic type Collection should be parameterized assignments.add(r); ^^^^^^^^^^^^^^^^^^ ThreadPool.java:111: warning: The method destroy() from the type Thread is deprecated threads[i].destroy(); ^^^^^^^^^^^^^^^^^^^^ env_test.java:5: warning: The field env_test.taskNumber is never read locally private int taskNumber; ^^^^^^^^^^ 5 problems (5 warnings)