This is the mail archive of the java-prs@sourceware.cygnus.com mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

libgcj/35: Multidimensional array creation fails at runtime



>Number:         35
>Category:       libgcj
>Synopsis:       Multidimensional array creation fails at runtime
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    tromey
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Aug 16 22:00:00 PDT 1999
>Closed-Date:
>Last-Modified:
>Originator:     Bryce McKinlay
>Release:        current cvs libjava, any gcj version
>Organization:
>Environment:
Linux reason 2.2.5 #10 Mon May 10 13:52:11 NZST 1999 i686 unknown
>Description:
A recent change to libgcj seems to have resulted in the
instantiation of multi-dimensional arrays to produce a 
NullPointerException. I don't think this is a compiler 
problem since going back to older compilers doesn't fix it 
but going back to an older libgcj does.

>How-To-Repeat:
public class Array_2
{
  static final int a = 10, b = 15;
  
  public static void main(String args[])
  {
    int[][] foo = new int [a][b];
    System.out.println(foo.length);
    System.out.println(foo[a-1].length);
  }
}

./Array_2

uncaught exception at top level
java.lang.NullPointerException

(gdb) r
Starting program: /home/bryce/projects/libgcj/libjava/testsuite/libjava.lang/./Array_2 
[New Thread 3820]
[New Thread 3819]
[New Thread 3821]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 3821]

Program received signal SIGSEGV, Segmentation fault.
0x40108645 in java::lang::Class::isArray (this=0x804dc6e)
    at ../../../libjava/java/lang/Class.h:121
121           return name->data[0] == '[';
Current language:  auto; currently c++
(gdb) bt
#0  0x40108645 in java::lang::Class::isArray (this=0x804dc6e)
    at ../../../libjava/java/lang/Class.h:121
#1  0x40093d30 in _Jv_NewMultiArray (array_type=0x804dc6e, dimensions=2)
    at ../../../libjava/java/lang/Class.h:78
#2  0x40093e2c in _Jv_NewMultiArray () at ../../../libjava/prims.cc:457
#3  0x804ad27 in Array_2::main (args=0x806fff0) at Array_2.java:7
#4  0x40109e0a in java::lang::FirstThread::run0 (this=0x8067f90)
    at ../../../libjava/java/lang/natFirstThread.cc:66
#5  0x400c35f4 in java::lang::FirstThread::run (this=0x8067f90)
    at ../../../libjava/java/lang/FirstThread.java:26
#6  0x400cd5d6 in java::lang::Thread::run_ (this=0x8067f90)
    at ../../../libjava/java/lang/Thread.java:119
#7  0x4010e4d6 in java::lang::Thread::run__ (obj=0x8067f90)
    at ../../../libjava/java/lang/natThread.cc:257
#8  0x4011e471 in really_start (x=0x8062ef0)
    at ../../../libjava/posix-threads.cc:289
#9  0x401c5846 in GC_start_routine (arg=0x8085fe0)
    at ../../../boehm-gc/linux_threads.c:539
#10 0x401dcce9 in pthread_start_thread (arg=0xbf7ffe7c) at manager.c:204
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]