Debugging NPE during CanonicalizerPhase

Stefan Marr java at stefan-marr.de
Tue Aug 6 15:35:08 PDT 2013


Hi Thomas:

On 06 Aug 2013, at 08:56, Thomas Wuerthinger <thomas.wuerthinger at oracle.com> wrote:

> Can you upload the IGV graph that is produced by the -G:+DumpOnError flag? You should have "./mx.sh igv" running in parallel and then export the graph as an XML file. Also, what is your stack trace?

Well, I would like to, but the NPE getting into the way…

Here the two stack traces, once with and once without igv:

http://soft.vub.ac.be/~smarr/downloads/truffle/error-with-igv.txt
http://soft.vub.ac.be/~smarr/downloads/truffle/error-without-igv.txt

That's the result with the very latest code from today.
Invocation looks like this:
./mx.sh --vm server --debug build debug && ./mx.sh --debug --vm server vm -G:+DumpOnError -Xbootclasspath/a:../som/build/classes som.vm.Universe -cp ../som/Smalltalk ../som/Examples/Benchmarks/Loop.som

So far, I was only able to confirm that the null constant object really appears only in the CanonicalizerPhase.
I added checks on the whole graph for everything that happens before the pass.

One question Michael had, and that I investigate is whether there was anything related to TruffleSOM, and I think, the first null constant that was a problem was actually not directly related to my code. But I haven't had the chance to investigate further yet.

Thanks
Stefan

PS: TruffleSOM can be build and tested like this:

  $ git clone https://github.com/smarr/TruffleSOM.git som
  $ cd som
  $ ant test

-- 
Stefan Marr
Software Languages Lab
Vrije Universiteit Brussel
Pleinlaan 2 / B-1050 Brussels / Belgium
http://soft.vub.ac.be/~smarr
Phone: +32 2 629 2974
Fax:   +32 2 629 3525



More information about the graal-dev mailing list