From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31916 invoked by alias); 27 Oct 2004 19:44:35 -0000 Mailing-List: contact java-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-prs-owner@gcc.gnu.org Received: (qmail 31899 invoked by uid 48); 27 Oct 2004 19:44:34 -0000 Date: Wed, 27 Oct 2004 19:44:00 -0000 From: "ovidr at users dot sourceforge dot net" To: java-prs@gcc.gnu.org Message-ID: <20041027194432.18187.ovidr@users.sourceforge.net> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug libgcj/18187] New: ava.util.WeakHashMap$WeakEntrySet.next() throws NoSuchElementException during GC X-Bugzilla-Reason: CC X-SW-Source: 2004-q4/txt/msg00239.txt.bz2 List-Id: During garbage collection, the WeakHashMap will throw a NoSuchElementException when performing the methods: .keySet().toArray() .clear(); and maybe more. Sun's java does not. Here is an example: gcc version 4.0.0 20041014 (experimental) gcj -main=WH WH.java import java.util.*; public class WH { public static void main(String[] s) { Thread t = new Thread() { public void run() { while (true) { System.gc(); try { Thread.sleep(1000); } catch (Exception e) { } } } }; WeakHashMap w = new WeakHashMap(); for (int i = 0; i < 10000; i++) w.put(new WH(), null); t.setDaemon(true); t.start(); try { w.clear(); } catch (NoSuchElementException n) { System.out.println("From .clear(): "); n.printStackTrace(); } for (int i = 0; i < 10000; i++) w.put(new WH(), null); try { for (int i = 0; i < 1000; i++) System.out.print("["+w.keySet().toArray().length+"]"); } catch (NoSuchElementException n) { System.out.println("iFrom .toArray():"); n.printStackTrace(); } } } -- Summary: ava.util.WeakHashMap$WeakEntrySet.next() throws NoSuchElementException during GC Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ovidr at users dot sourceforge dot net CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18187