db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas Görres (JIRA) <j...@apache.org>
Subject [jira] Updated: (DERBY-4458) Dalvik / Andoid compatibility
Date Tue, 01 Dec 2009 16:14:20 GMT

     [ https://issues.apache.org/jira/browse/DERBY-4458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Thomas Görres updated DERBY-4458:
---------------------------------

           Description: 
derby.jar cannot be used on mobile devices running the Android OS. Android uses Dalvik as
runtime environment, and the classfiles from derby.jar cannot be translated to Dalvik byte
code.

Steps to repeat:
1. get the Android SDK from http://developer.android.com
2. navigate to [android-sdk]/platforms/android-1.5/tools
3. execute ./dx --dex path/to/derby.jar

The dx tool should convert the JRE byte code to Dalvik byte code. Instead, it spits out this
warning several time:
warning: Ignoring InnerClasses attribute for an anonymous inner class that doesn't come with
an associated EnclosingMethod attribute. (This class was probably produced by a broken compiler.)

Then it runs out of memory:
java.lang.OutOfMemoryError: Java heap space
	at com.android.dx.rop.code.ThrowingInsn.withNewRegisters(ThrowingInsn.java:116)
	at com.android.dx.ssa.NormalSsaInsn.toRopInsn(NormalSsaInsn.java:122)
	at com.android.dx.ssa.back.SsaToRop.convertInsns(SsaToRop.java:386)
	at com.android.dx.ssa.back.SsaToRop.convertBasicBlock(SsaToRop.java:365)
	at com.android.dx.ssa.back.SsaToRop.convertBasicBlocks(SsaToRop.java:300)
	at com.android.dx.ssa.back.SsaToRop.convertToRop(SsaToRop.java:277)
	at com.android.dx.ssa.back.SsaToRop.convert(SsaToRop.java:118)
	at com.android.dx.ssa.back.SsaToRop.convertToRopMethod(SsaToRop.java:71)
	at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:103)
	at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:74)
	at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:269)
	at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:131)
	at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:85)
	at com.android.dx.command.dexer.Main.processClass(Main.java:297)
	at com.android.dx.command.dexer.Main.processFileBytes(Main.java:276)
	at com.android.dx.command.dexer.Main.access$100(Main.java:56)
	at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:228)
	at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
	at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130)
	at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108)
	at com.android.dx.command.dexer.Main.processOne(Main.java:245)
	at com.android.dx.command.dexer.Main.processAllFiles(Main.java:183)
	at com.android.dx.command.dexer.Main.run(Main.java:139)
	at com.android.dx.command.dexer.Main.main(Main.java:120)
	at com.android.dx.command.Main.main(Main.java:87)

              Priority: Blocker  (was: Major)
      Issue & fix info: [High Value Fix, Newcomer]
           Environment: dx 1.2 (from the Android SDK 2.0) running on Java 1.6
     Affects Version/s: 10.5.3.0
    Bug behavior facts: [Crash]
    Remaining Estimate: 96h
     Original Estimate: 96h
               Summary: Dalvik / Andoid compatibility  (was: Dalvik compatibility)

> Dalvik / Andoid compatibility
> -----------------------------
>
>                 Key: DERBY-4458
>                 URL: https://issues.apache.org/jira/browse/DERBY-4458
>             Project: Derby
>          Issue Type: Task
>    Affects Versions: 10.5.3.0
>         Environment: dx 1.2 (from the Android SDK 2.0) running on Java 1.6
>            Reporter: Thomas Görres
>            Priority: Blocker
>   Original Estimate: 96h
>  Remaining Estimate: 96h
>
> derby.jar cannot be used on mobile devices running the Android OS. Android uses Dalvik
as runtime environment, and the classfiles from derby.jar cannot be translated to Dalvik byte
code.
> Steps to repeat:
> 1. get the Android SDK from http://developer.android.com
> 2. navigate to [android-sdk]/platforms/android-1.5/tools
> 3. execute ./dx --dex path/to/derby.jar
> The dx tool should convert the JRE byte code to Dalvik byte code. Instead, it spits out
this warning several time:
> warning: Ignoring InnerClasses attribute for an anonymous inner class that doesn't come
with an associated EnclosingMethod attribute. (This class was probably produced by a broken
compiler.)
> Then it runs out of memory:
> java.lang.OutOfMemoryError: Java heap space
> 	at com.android.dx.rop.code.ThrowingInsn.withNewRegisters(ThrowingInsn.java:116)
> 	at com.android.dx.ssa.NormalSsaInsn.toRopInsn(NormalSsaInsn.java:122)
> 	at com.android.dx.ssa.back.SsaToRop.convertInsns(SsaToRop.java:386)
> 	at com.android.dx.ssa.back.SsaToRop.convertBasicBlock(SsaToRop.java:365)
> 	at com.android.dx.ssa.back.SsaToRop.convertBasicBlocks(SsaToRop.java:300)
> 	at com.android.dx.ssa.back.SsaToRop.convertToRop(SsaToRop.java:277)
> 	at com.android.dx.ssa.back.SsaToRop.convert(SsaToRop.java:118)
> 	at com.android.dx.ssa.back.SsaToRop.convertToRopMethod(SsaToRop.java:71)
> 	at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:103)
> 	at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:74)
> 	at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:269)
> 	at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:131)
> 	at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:85)
> 	at com.android.dx.command.dexer.Main.processClass(Main.java:297)
> 	at com.android.dx.command.dexer.Main.processFileBytes(Main.java:276)
> 	at com.android.dx.command.dexer.Main.access$100(Main.java:56)
> 	at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:228)
> 	at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
> 	at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130)
> 	at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108)
> 	at com.android.dx.command.dexer.Main.processOne(Main.java:245)
> 	at com.android.dx.command.dexer.Main.processAllFiles(Main.java:183)
> 	at com.android.dx.command.dexer.Main.run(Main.java:139)
> 	at com.android.dx.command.dexer.Main.main(Main.java:120)
> 	at com.android.dx.command.Main.main(Main.java:87)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message