#3 aload handling

closed-fixed
Swaroop Belur
None
5
2007-03-23
2006-08-14
Oleg.Golikov
No

Hello!
When comilling java class a.java and trying to
decompile resulting a.class(it's attaced) I'm
receiving exception on op.setClassType
(local.getDataType()) statement in handleAloadCase
(...) method of Decompiler class. It originate when
local is null.

a.java:
-------------------------------------------
package com.dstm.test;
public class a extends Object {
private String retrieveLocalizedMessage1()
{
String vMessage = "";
Object obj = null;
if( obj != null )
{
try
{
vMessage = "123";
}
catch (Exception exception)
{
vMessage = "456";
}
finally
{
vMessage = "789";
}
}
else
vMessage = "Unable to retrieve message";
return vMessage;
}
}

log.txt
--------------------------------------------
Input Parameter(s) to JDec registered ....
User has Chosen to Run JDec with option dc
Jdec will not verify user specified input parameters...
Input Parameter(s) to JDec registered ....
User has Chosen to Run JDec with option dc
Jdec will not verify user specified input parameters...
[INFO]Magic Number of the Class "a.class" Is CAFEBABE
[INFO]class Version is 46.0

Could not obtain local variable While decompiling
retrieveLocalizedMessage1()
Details.......
[Index Pos 4,Instruction Pos 33 INSTRUCTION CODE: 25]

[ERROR] Exception Report produced by Exception
Handler...

null

[ERROR] Faulty Method:
[Name ]:retrieveLocalizedMessage1
[Parameters ]:( )
[Accessors ]:private
[Return TYpe ]:java.lang.String
[Belonging Class ]:com.dstm.test.a

[ERROR] Method Line Number: 33
[ERROR] CAUSE: null
[ERROR] MESSAGE: null
[ERROR] CLASS: class java.lang.NullPointerException

---EXCEPTION STACK TRACE---
java.lang.NullPointerException
at
jdec.decompiler.reverseengineer.Decompiler.handleAloadC
ase(Decompiler.java:18476)
at
jdec.decompiler.reverseengineer.Decompiler.parseJVMOpCo
des(Decompiler.java:759)
at
jdec.decompiler.reverseengineer.Decompiler.disassembleC
ode(Decompiler.java:192)
at jdec.decompiler.main.JDec.formCodeStatements
(JDec.java:774)
at jdec.decompiler.main.JDec.decompileClass
(JDec.java:652)
at jdec.decompiler.main.JDec.main
(JDec.java:179)

Current Run Of JDec Terminated At Time Mon Aug 14
16:32:36 MSD 2006

Discussion

  • Oleg.Golikov
    Oleg.Golikov
    2006-08-14

    Class file

     
    Attachments
  • Swaroop Belur
    Swaroop Belur
    2006-08-15

    • assigned_to: nobody --> belurs
     
  • Swaroop Belur
    Swaroop Belur
    2006-08-15

    Logged In: YES
    user_id=1388728

    Hi

    Thanks for reporting error.
    The next release of jdec is sceduled around december this
    year.
    This bug will be fixed for the next release(1.2 version)

    Thanks
    Swaroop Belur

     
  • Swaroop Belur
    Swaroop Belur
    2007-03-23

    Logged In: YES
    user_id=1388728
    Originator: NO

    Fix:

    Made changes for 1.2 release. Still if local variable cannot be got, a message is printed
    in log file. Attempt is made to check for local variable to be null everywhere.

    -Swaroop Belur

     
  • Swaroop Belur
    Swaroop Belur
    2007-03-23

    • status: open --> closed-fixed