#941 Jikes fails to compile without any error message

open
open
nobody
None
8
2005-11-13
2005-11-13
Eric L.
No

Hi,

I tried to compile freemind 0.8.0 with kaffe 1.1.6,
i.e. with jikes, and the
compilation stops at some point without any
error message, so that I'm stuck to
find the reason for the error.

I tried further to call directly jikes, with strace on
top of it. To be honest, the only thing I get from it
is that it's a segmentation fault.
I also tentatively tried:
- 'strace -v' but it didn't give any more information
- and bump target/source to 1.4, but it didn't
make any difference.

I attach the end of the ant output (-verbose file),
as well as the strace output (-strace) to this bug,
and you can grab a copy of the
development tree from
http://eric.lavar.de/freemind.free3.tgz. Each
output files contains the command(s) called at
the beginning of the file.

Thanks for your help,
Eric

Discussion

  • Eric L.
    Eric L.
    2005-11-13

    End of the ant output (verbose)

     
  • Eric L.
    Eric L.
    2005-11-13

    Strace output of jikes call

     
  • Eric L.
    Eric L.
    2005-11-13

    • priority: 5 --> 8
     
  • Chris Abbey
    Chris Abbey
    2005-11-13

    Logged In: YES
    user_id=85029

    strace isn't much use, can you get a backtrace instead? Or
    provide complete recreate directions?

     
  • Eric L.
    Eric L.
    2005-11-14

    Logged In: YES
    user_id=318488

    Hi,

    I tried to debug Jikes with gdb, and got the following result:

    [read
    /usr/share/java/batik-all.jar/org/apache/batik/transcoder(Transcoder.class)]

    Program received signal SIGSEGV, Segmentation fault.
    0x08067dee in Tuple<ShadowSymbol*>::Length (this=0x0) at
    tuple.h:159
    159 inline unsigned Length() const { return top; }
    (gdb) bt
    #0 0x08067dee in Tuple<ShadowSymbol*>::Length (this=0x0) at
    tuple.h:159
    #1 0x08133c65 in SymbolSet::Union (this=0x86728d8,
    set=@0x0) at set.cpp:75
    #2 0x0809e220 in Semantic::ProcessClassFile
    (this=0x866dc68, type=0x86f1740,
    buffer=0x8684550 "&#65533;", buffer_size=6427, tok=69) at
    class.cpp:1904
    #3 0x0809ec8b in Semantic::ReadClassFile (this=0x866dc68,
    type=0x86f1740,
    tok=69) at class.cpp:1676
    #4 0x080b794b in Semantic::ReadType (this=0x866dc68,
    file_symbol=0x83b8b88,
    package=0x8661068, name_symbol=0x83b85e0, tok=69) at
    decl.cpp:1521
    #5 0x080b983c in Semantic::ProcessImportQualifiedName
    (this=0x866dc68,
    name=0x866d4f8) at decl.cpp:1655
    #6 0x080b9a49 in Semantic::ProcessSingleTypeImportDeclaration (
    this=0x866dc68, import_declaration=0x866d518) at
    decl.cpp:1912
    #7 0x080ba226 in Semantic::ProcessImports (this=0x866dc68)
    at decl.cpp:513
    #8 0x080bac14 in Semantic::ProcessTypeNames
    (this=0x866dc68) at decl.cpp:257
    #9 0x080a8f9c in Control::ProcessHeaders (this=0x81c9c28,
    file_symbol=0x8655ca8) at control.cpp:1227
    #10 0x080a8ff0 in Control::ProcessFile (this=0x81c9c28,
    file_symbol=0x8655ca8)
    at control.cpp:1172
    #11 0x080aa356 in Control (this=0x81c9c28, arguments=0x81c9630,
    option_=@0x81c9250) at control.cpp:352
    #12 0x0810d611 in JikesAPI::compile (this=0x81c9218,
    filenames=0x81c9630)
    at jikesapi.cpp:211
    #13 0x0810cf09 in main (argc=12, argv=0xbf9edf74) at
    jikes.cpp:116

    So, I understand as much as that the Length function is
    called on a null pointer, but there I fail to get a grasp on
    the code.

    Cheers, Eric

     
  • Eric L.
    Eric L.
    2005-11-14

    Logged In: YES
    user_id=318488

    Hi again,

    how to reproduce:
    1. download and unpack the file
    http://eric.lavar.de/freemind.free3.tgz.
    2. building FreeMind will create a 'bin' at the same level
    as the freemind directory, so make sure you have no
    directory of the same name.
    3. call the 2nd 'ant' command at the beginning of
    freemind.free3-verbose.txt (the first one is to clean).
    4. then you can call the jikes command out of
    freemind.free3-strace.txt as often as you want to reproduce
    the issue (that's what I did with strace and gdb).

    The build dependencies are, beside ant and jikes:
    librelaxng-datatype-java, libjaxp1.2-java,
    libcommons-lang-java, libbatik-java (>= 1.6), rhino,
    libxerces2-java, libforms-java, libcommons-codec-java
    (it's of course easier if you have Debian Unstable lying
    somewhere around).

    Thanks, Eric