[Soot-list] local type not allowed in final code

Steven Arzt steven.arzt at cased.de
Thu Jun 12 08:47:12 EDT 2014


If I understand you correctly, you started from odex files and applied 
some toolchain, to get a JAR file from it. Is that correct? If so, what 
is your use case? Such a process is usually not very stable, so I'd 
avoid it wherever possible.

Aside from that, please check that the method you have mention actually 
contains valid code and does not access variables that will always be 
null due to some conversion problem from odex to jar. In that case, Soot 
would give the variable a null_type and fail on it when trying to write 
it back out.

Am 12.06.2014 12:28, schrieb Burcu:
> Hi,
> 
> For the jar files obtained from framework.odex in Android emulator, I
> have the same type checking error:
> 
> void
> cancelThumbnailRequest(android.content.ContentResolver,long,android.net.Uri,long)>)
> local type not allowed in final code: null_type local: $n0 body:
> 
> Is this issue solved? How can I fix this?
> 
> Thanks in advance.
> On Saturday, April 26, 2014 4:29:20 PM UTC+2, Steven Arzt wrote:
> 
>> Hi Yu,
>> 
>> this happens when Soot’s type assigner is not able to properly
>> assign types to locals inferred from Dalvik registers or bytecode
>> stack elements. Can you please open a bug request on our issue
>> tracker on Github?
>> 
>> Best regards,
>> 
>> Steven
>> 
>> M.Sc. M.Sc. Steven Arzt
>> 
>> Secure Software Engineering Group (SSE)
>> 
>> European Center for Security and Privacy by Design (EC SPRIDE)
>> 
>> Mornewegstraße 32
>> 
>> D-64293 Darmstadt
>> 
>> Phone: +49 61 51 16-75426
>> 
>> Fax: +49 61 51 16-72118
>> 
>> eMail: steven.arzt at ec-spride.de
>> 
>> Web: http://sse.ec-spride.de [1]
>> 
>> VON: soot-lis... at CS.McGill.CA [mailto:soot-lis... at CS.McGill.CA] IM
>> AUFTRAG VON Yu Adam
>> GESENDET: Samstag, 26. April 2014 15:20
>> AN: soot-list
>> BETREFF: [Soot-list] local type not allowed in final code
>> 
>> Hello!
>> 
>> I've got the exceptions like :
>> 
>> local type not allowed in final code: null_type
>> 
>> local type not allowed in final code: bottom_type
>> 
>> when transforming the jimple files and getting the cfg of some
>> programs, i.e. the package in DaCapo 2009 of avrora-cvs-20091224,
>> antlr-3.1.3, eclipse, and so on ( I unpacked the corresponding
>> program, and analasy the directory.)
>> 
>> I used soot by the follow code:
>> 
>> /*mysoot.java*/
>> 
>> class myprinter extends BodyTransformer {
>> 
>> /*fot testing, do nothing*/
>> 
>> protected void internalTransform(Body body, String string, Map map)
>> { }
>> 
>> }
>> 
>> public class mysoot {
>> 
>> public static void main(String[] args){
>> 
>> myprinter printer = new myprinter();
>> 
>> Transform t1 = new Transform("jtp.myPrinter", printer);
>> 
>> soot.options.Options.v().set_keep_line_number(true);
>> 
>> soot.options.Options.v().set_allow_phantom_refs(true);
>> 
>> soot.options.Options.v().set_verbose(false);
>> 
>> PackManager.v().getPack("jtp").add(t1);
>> 
>> String[] soot_args = new String[5];
>> 
>> soot_args[0] = "-process-dir";
>> 
>> soot_args[1] = args[0];
>> 
>> soot_args[2] ="-cp";
>> 
>> soot_args[3] =args[0];
>> 
>> soot_args[4] = "-pp";
>> 
>> soot.Main.main(soot_args);
>> 
>> }
>> 
>> }
>> 
>> with the command:
>> 
>> java mysoot targetdirectory
>> 
>> I've tried both the stable and nightly version of Soot.
>> 
>> Can anyone help?
>> 
>> Thanks!
> 
> 
> Links:
> ------
> [1]
> http://www.google.com/url?q75http%3A%2F%2Fsse.ec-spride.de%2F46sa75D46sntz�75146usg75AFQjCNGigQaO_uOHvandnthTpq57clh04g
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pubkey.asc
Url: http://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20140612/05377cd7/attachment.asc 


More information about the Soot-list mailing list