This is the mail archive of the java-prs@gcc.gnu.org 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]
Other format: [Raw text]

[Bug java/15734] internal compiler error: Segmentation fault


------- Additional Comments From dolfi at zkm dot de  2004-05-31 14:33 -------
Subject: Re:  internal compiler error: Segmentation fault

>
> ------- Additional Comments From pinskia at gcc dot gnu dot org
> 2004-05-30 15:59 -------
> I can reproduce the error when the file "Factorial$.class" does not exist
> but it I get an error since I do
> not have scala installed.
> Can you try the following command, it puts the current directory in the
> classpath which I think is the
> problem but this is still a bug if that works:
> gcj --CLASSPATH=/usr/local/Scala/lib: Factorial.class

do you mean this?
gcj --CLASSPATH=/usr/local/Scala/lib:. Factorial.class

Anyway, in all cases, I get
Factorial.scala: In class `Factorial':
Factorial.scala: In method `Factorial.fact_rec(int)':
Factorial.scala:14: error: cannot find file for class scala.Application
Factorial.scala:14: error: cannot find file for class scala.ScalaObject

I tried to strace gcj then, and found that in the case where it segfaults,
it does so short after opening /usr/local/Scala/lib, reading the
directory, and closing it:

[pid  3133] open("/usr/local/Scala/lib",
O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 6
[pid  3133] fstat64(6, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid  3133] fcntl64(6, F_SETFD, FD_CLOEXEC) = 0
[pid  3133] getdents64(6, /* 6 entries */, 4096) = 176
[pid  3133] getdents64(6, /* 0 entries */, 4096) = 0
[pid  3133] close(6)                    = 0
[pid  3133] --- SIGSEGV (Segmentation fault) @ 0 (0) ---

In the other case where it doesn't find scala.Application and
scala.ScalaObject, it attempts the following,

[pid  3137] open("/usr/local/Scala/lib/java/lang",
O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = -1 ENOENT (No such file or
directory)
[pid  3137] stat64("/usr/local/Scala/lib/java/lang/Object.class",
0xbfffec1c) = -1 ENOENT (No such file or directory)
[pid  3137] stat64("/usr/local/Scala/lib/java/lang/Object.java",
0xbfffec1c) = -1 ENOENT (No such file or directory)

but never tries to open /usr/local/Scala/lib/scala.jar nor any of the 3
other .jar files in that directory...

Good luck, Dolfi

P.S.: I could send you the content of /usr/local/Scala/lib: I'ts about 2.3
MByte.




-- 


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


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