public inbox for java-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug java/20768] New: Bytecode -> native code doesn't handle exception properly
@ 2005-04-05 18:11 overholt at redhat dot com
  2005-04-05 18:12 ` [Bug java/20768] " overholt at redhat dot com
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: overholt at redhat dot com @ 2005-04-05 18:11 UTC (permalink / raw)
  To: java-prs

With the test case I will attach, I get different behaviour if I compile it
first to bytecode *with ecj* and then natively compile it versus interpreting
the bytecode (I have also tried going directly from source to native and that's
the same behaviour as interpreted).

The error does not happen with bytecode generated by gcj -C or Sun's javac.

To duplicate (note:  javac == ecj in case 1 and Sun's javac in case 2)

1.

javac TestExceptionBug.java
gcj -fPIC -fjni -findirect-dispatch --main=TestExceptionBug -o TestExceptionBug
*.class
gcj -fPIC -fjni -findirect-dispatch --main=TestExceptionBug -o
nativeTestExceptionBug TestExceptionBug.java
echo "==== interpreted ===="; gij TestExceptionBug
echo "==== native (from source) ===="; ./nativeTestExceptionBug
echo "==== native (from bytecode) ===="; ./TestExceptionBug

Output:
==== interpreted ====
Finally! It's happened to me -- Ce Ce Penniston
Hi
==== native (from source) ====
Finally! It's happened to me -- Ce Ce Penniston
Hi
==== native (from bytecode) ====
Finally! It's happened to me -- Ce Ce Penniston
Exception in thread "main" TestExceptionBug$IndexedStoreException
   at TestExceptionBug.getIndex(java.lang.String) (Unknown Source)
   at TestExceptionBug.getIndex() (Unknown Source)
   at TestExceptionBug.main(java.lang.String[]) (Unknown Source)
   at gnu.java.lang.MainThread.call_main() (/usr/lib/libgcj.so.6.0.0)
   at gnu.java.lang.MainThread.run() (/usr/lib/libgcj.so.6.0.0)

2.

javac TestExceptionBug.java
gcj -fPIC -fjni -findirect-dispatch --main=TestExceptionBug -o TestExceptionBug
*.class
gcj -fPIC -fjni -findirect-dispatch --main=TestExceptionBug -o
nativeTestExceptionBug TestExceptionBug.java
echo "==== interpreted ===="; gij TestExceptionBug
echo "==== native (from source) ===="; ./nativeTestExceptionBug
echo "==== native (from bytecode) ===="; ./TestExceptionBug

Output:
==== interpreted ====
Finally! It's happened to me -- Ce Ce Penniston
Hi
==== native (from source) ====
Finally! It's happened to me -- Ce Ce Penniston
Hi
==== native (from bytecode) ====
Finally! It's happened to me -- Ce Ce Penniston
Hi

$ gcj --version
gcj (GCC) 4.0.0 20050402 (Red Hat 4.0.0-0.39)

$ javac -version
Eclipse Java Compiler 0.537, pre-3.1.0 milestone-5, Copyright IBM Corp 2000,
2005. All rights reserved.

-- 
           Summary: Bytecode -> native code doesn't handle exception
                    properly
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: java
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: overholt at redhat dot com
                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=20768


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug java/20768] Bytecode -> native code doesn't handle exception properly
  2005-04-05 18:11 [Bug java/20768] New: Bytecode -> native code doesn't handle exception properly overholt at redhat dot com
@ 2005-04-05 18:12 ` overholt at redhat dot com
  2005-04-05 18:20 ` overholt at redhat dot com
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: overholt at redhat dot com @ 2005-04-05 18:12 UTC (permalink / raw)
  To: java-prs


------- Additional Comments From overholt at redhat dot com  2005-04-05 18:12 -------
Created an attachment (id=8537)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8537&action=view)
Test case (boiled down from something we're seeing with Ecilpse)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20768


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug java/20768] Bytecode -> native code doesn't handle exception properly
  2005-04-05 18:11 [Bug java/20768] New: Bytecode -> native code doesn't handle exception properly overholt at redhat dot com
  2005-04-05 18:12 ` [Bug java/20768] " overholt at redhat dot com
@ 2005-04-05 18:20 ` overholt at redhat dot com
  2005-04-05 18:41 ` mckinlay at redhat dot com
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: overholt at redhat dot com @ 2005-04-05 18:20 UTC (permalink / raw)
  To: java-prs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bkonrath at redhat dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20768


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug java/20768] Bytecode -> native code doesn't handle exception properly
  2005-04-05 18:11 [Bug java/20768] New: Bytecode -> native code doesn't handle exception properly overholt at redhat dot com
  2005-04-05 18:12 ` [Bug java/20768] " overholt at redhat dot com
  2005-04-05 18:20 ` overholt at redhat dot com
@ 2005-04-05 18:41 ` mckinlay at redhat dot com
  2005-04-05 20:15 ` tromey at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: mckinlay at redhat dot com @ 2005-04-05 18:41 UTC (permalink / raw)
  To: java-prs


------- Additional Comments From mckinlay at redhat dot com  2005-04-05 18:33 -------
Confirmed. There seems to be something unique about the exception table
generated by ecj which confuses gcj. Note that this happens both with or without
optimization.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2005-04-05 18:33:25
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20768


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug java/20768] Bytecode -> native code doesn't handle exception properly
  2005-04-05 18:11 [Bug java/20768] New: Bytecode -> native code doesn't handle exception properly overholt at redhat dot com
                   ` (2 preceding siblings ...)
  2005-04-05 18:41 ` mckinlay at redhat dot com
@ 2005-04-05 20:15 ` tromey at gcc dot gnu dot org
  2005-04-08  8:52 ` aph at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: tromey at gcc dot gnu dot org @ 2005-04-05 20:15 UTC (permalink / raw)
  To: java-prs


------- Additional Comments From tromey at gcc dot gnu dot org  2005-04-05 20:15 -------
Could you attach the ecj-generated bytecode for this file?

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20768


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug java/20768] Bytecode -> native code doesn't handle exception properly
  2005-04-05 18:11 [Bug java/20768] New: Bytecode -> native code doesn't handle exception properly overholt at redhat dot com
                   ` (3 preceding siblings ...)
  2005-04-05 20:15 ` tromey at gcc dot gnu dot org
@ 2005-04-08  8:52 ` aph at gcc dot gnu dot org
  2005-04-19 12:34 ` aph at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: aph at gcc dot gnu dot org @ 2005-04-08  8:52 UTC (permalink / raw)
  To: java-prs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |aph at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20768


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug java/20768] Bytecode -> native code doesn't handle exception properly
  2005-04-05 18:11 [Bug java/20768] New: Bytecode -> native code doesn't handle exception properly overholt at redhat dot com
                   ` (4 preceding siblings ...)
  2005-04-08  8:52 ` aph at gcc dot gnu dot org
@ 2005-04-19 12:34 ` aph at gcc dot gnu dot org
  2005-04-26 14:54 ` overholt at redhat dot com
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: aph at gcc dot gnu dot org @ 2005-04-19 12:34 UTC (permalink / raw)
  To: java-prs


------- Additional Comments From aph at gcc dot gnu dot org  2005-04-19 12:33 -------
Should be fixed by

2005-04-18  Andrew Haley  <aph@redhat.com>

        * java-except.h (struct eh_range.handler): Remove unused field.
        (handle_nested_ranges): Remove function declaration.
        (sanity_check_exception_range): Add function declaration.
        * verify.c (verify_jvm_instructions): Remove call to
        handle_nested_ranges.
        * verify-glue.c (verify_jvm_instructions_new): Call
        sanity_check_exception_range.
        * except.c (link_handler, eh_range_freelist, link_handler,
        handle_nested_ranges): Remove.
        (add_handler): Rewrite.
        (sanity_check_exception_range): New function.
        (print_ranges): New function.



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20768


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug java/20768] Bytecode -> native code doesn't handle exception properly
  2005-04-05 18:11 [Bug java/20768] New: Bytecode -> native code doesn't handle exception properly overholt at redhat dot com
                   ` (5 preceding siblings ...)
  2005-04-19 12:34 ` aph at gcc dot gnu dot org
@ 2005-04-26 14:54 ` overholt at redhat dot com
  2005-04-26 16:20 ` pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: overholt at redhat dot com @ 2005-04-26 14:54 UTC (permalink / raw)
  To: java-prs


------- Additional Comments From overholt at redhat dot com  2005-04-26 14:54 -------
I've verified this fix in the RPMs in Fedora rawhide (4.0.0-1).  I'm not sure if
this counts as a verification from gcc's standpoint, though.  I'll mark as FIXED
but feel free to change if I need to verify on HEAD or something.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20768


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug java/20768] Bytecode -> native code doesn't handle exception properly
  2005-04-05 18:11 [Bug java/20768] New: Bytecode -> native code doesn't handle exception properly overholt at redhat dot com
                   ` (6 preceding siblings ...)
  2005-04-26 14:54 ` overholt at redhat dot com
@ 2005-04-26 16:20 ` pinskia at gcc dot gnu dot org
  2005-04-26 16:21 ` [Bug java/20768] [4.0 only] " pinskia at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-04-26 16:20 UTC (permalink / raw)
  To: java-prs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-04-26 16:20 -------
Reopening since this is only fixed on the mainline, this should also be fixed for 4.0.1.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20768


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug java/20768] [4.0 only] Bytecode -> native code doesn't handle exception properly
  2005-04-05 18:11 [Bug java/20768] New: Bytecode -> native code doesn't handle exception properly overholt at redhat dot com
                   ` (7 preceding siblings ...)
  2005-04-26 16:20 ` pinskia at gcc dot gnu dot org
@ 2005-04-26 16:21 ` pinskia at gcc dot gnu dot org
  2005-04-28 16:35 ` cvs-commit at gcc dot gnu dot org
  2005-04-28 16:53 ` pinskia at gcc dot gnu dot org
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-04-26 16:21 UTC (permalink / raw)
  To: java-prs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |ASSIGNED
           Keywords|                            |wrong-code
      Known to fail|                            |4.0.0
      Known to work|                            |4.1.0
            Summary|Bytecode -> native code     |[4.0 only] Bytecode ->
                   |doesn't handle exception    |native code doesn't handle
                   |properly                    |exception properly
   Target Milestone|---                         |4.0.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20768


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug java/20768] [4.0 only] Bytecode -> native code doesn't handle exception properly
  2005-04-05 18:11 [Bug java/20768] New: Bytecode -> native code doesn't handle exception properly overholt at redhat dot com
                   ` (8 preceding siblings ...)
  2005-04-26 16:21 ` [Bug java/20768] [4.0 only] " pinskia at gcc dot gnu dot org
@ 2005-04-28 16:35 ` cvs-commit at gcc dot gnu dot org
  2005-04-28 16:53 ` pinskia at gcc dot gnu dot org
  10 siblings, 0 replies; 12+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-04-28 16:35 UTC (permalink / raw)
  To: java-prs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-04-28 16:35 -------
Subject: Bug 20768

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-4_0-branch
Changes by:	aph@gcc.gnu.org	2005-04-28 16:35:25

Modified files:
	gcc/java       : expr.c java-except.h verify.c verify-glue.c 
	                 except.c ChangeLog 

Log message:
	2005-04-28  Andrew Haley  <aph@redhat.com>
	
	PR java/21115
	* expr.c (force_evaluation_order): Convert outgoing args smaller
	than integer.
	
	PR java/20768
	* java-except.h (struct eh_range.handler): Remove unused field.
	(handle_nested_ranges): Remove function declaration.
	(sanity_check_exception_range): Add function declaration.
	* verify.c (verify_jvm_instructions): Remove call to
	handle_nested_ranges.
	(start_pc_cmp): Remove function.
	(verify_jvm_instructions): Remove PC sorting of exception regions.
	* verify-glue.c (verify_jvm_instructions_new): Call
	sanity_check_exception_range.
	* except.c (link_handler, eh_range_freelist, link_handler,
	handle_nested_ranges): Remove.
	(add_handler): Rewrite.
	(sanity_check_exception_range): New function.
	(print_ranges): New function.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/expr.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.218.4.2&r2=1.218.4.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/java-except.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.18&r2=1.18.4.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/verify.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.69&r2=1.69.10.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/verify-glue.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.4.2.1&r2=1.4.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/except.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.47&r2=1.47.10.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.1556.2.16&r2=1.1556.2.17



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20768


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug java/20768] [4.0 only] Bytecode -> native code doesn't handle exception properly
  2005-04-05 18:11 [Bug java/20768] New: Bytecode -> native code doesn't handle exception properly overholt at redhat dot com
                   ` (9 preceding siblings ...)
  2005-04-28 16:35 ` cvs-commit at gcc dot gnu dot org
@ 2005-04-28 16:53 ` pinskia at gcc dot gnu dot org
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-04-28 16:53 UTC (permalink / raw)
  To: java-prs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-04-28 16:53 -------
Fixed.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20768


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2005-04-28 16:53 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-04-05 18:11 [Bug java/20768] New: Bytecode -> native code doesn't handle exception properly overholt at redhat dot com
2005-04-05 18:12 ` [Bug java/20768] " overholt at redhat dot com
2005-04-05 18:20 ` overholt at redhat dot com
2005-04-05 18:41 ` mckinlay at redhat dot com
2005-04-05 20:15 ` tromey at gcc dot gnu dot org
2005-04-08  8:52 ` aph at gcc dot gnu dot org
2005-04-19 12:34 ` aph at gcc dot gnu dot org
2005-04-26 14:54 ` overholt at redhat dot com
2005-04-26 16:20 ` pinskia at gcc dot gnu dot org
2005-04-26 16:21 ` [Bug java/20768] [4.0 only] " pinskia at gcc dot gnu dot org
2005-04-28 16:35 ` cvs-commit at gcc dot gnu dot org
2005-04-28 16:53 ` 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).