db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Francois Orsini <francois.ors...@gmail.com>
Subject Re: [jira] Updated: (DERBY-4458) Dalvik / Andoid compatibility
Date Tue, 01 Dec 2009 17:49:00 GMT
Hi Thomas,

This is a separate issue but last I heard about Dalvik is that there is
still no support for dynamic bytecode translation at runtime  - Derby
generates bytecode dynamically for every new SQL statement, so I doubt you
might be able to get Derby running on Android until dynamic bytecode
translation is available in the Dalvik VM at runtime

Cheers,

--Francois

2009/12/1 Thomas Görres (JIRA) <jira@apache.org>

>
>     [
> 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