Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 33040 invoked from network); 1 Dec 2009 17:49:28 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 1 Dec 2009 17:49:28 -0000 Received: (qmail 52798 invoked by uid 500); 1 Dec 2009 17:49:27 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 52727 invoked by uid 500); 1 Dec 2009 17:49:27 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 52719 invoked by uid 99); 1 Dec 2009 17:49:27 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Dec 2009 17:49:27 +0000 X-ASF-Spam-Status: No, hits=-2.6 required=5.0 tests=BAYES_00,HTML_MESSAGE X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of francois.orsini@gmail.com designates 209.85.222.198 as permitted sender) Received: from [209.85.222.198] (HELO mail-pz0-f198.google.com) (209.85.222.198) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Dec 2009 17:49:20 +0000 Received: by pzk36 with SMTP id 36so3778743pzk.5 for ; Tue, 01 Dec 2009 09:49:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=O4Lbat5E/YcrLuEFLm+UIvaw1BaUSK+gO8uRioXDVqs=; b=S7iUMCod3LlUMNUZZgSBrhpLZN0TgboGTjQ5Z4JrgnBQHXpZqlPtNFRVqbU9Z1EnJO JK+jo7K0q73Nge6d/EIQ4qiCctJ0tKe7BN3gqwShAwQZJ7AnbfRQT+FJXBljSdMDgPVc UBbWAZRAQ47VEHu2E4NBndrzIVsFc5V7SY/ok= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=rmhd43TqSZ1Ef8q7/aB3KCqono0wsCkMjpaZ/df1ohHFfuxNlggBcaaRzcnzAlsxRx ZBvpz40u+Rt+bCfzlK7Ewogew8wezSCFU5Xmi810loMvegZQWlXLnNyLdMZqADrCyohx U9LO6Qc0pyI2zGNL7sUO3GD1hIkhpx5z1ZuK8= MIME-Version: 1.0 Received: by 10.114.45.13 with SMTP id s13mr11528301was.167.1259689740395; Tue, 01 Dec 2009 09:49:00 -0800 (PST) In-Reply-To: <1118028497.1259684060622.JavaMail.jira@brutus> References: <1030655028.1259683580642.JavaMail.jira@brutus> <1118028497.1259684060622.JavaMail.jira@brutus> Date: Tue, 1 Dec 2009 09:49:00 -0800 Message-ID: <7921d3e40912010949t4987d9e9gf3d648168f81f710@mail.gmail.com> Subject: Re: [jira] Updated: (DERBY-4458) Dalvik / Andoid compatibility From: Francois Orsini To: derby-dev@db.apache.org Content-Type: multipart/alternative; boundary=00504502964d80e35d0479ae5f15 --00504502964d80e35d0479ae5f15 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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=F6rres (JIRA) > > [ > https://issues.apache.org/jira/browse/DERBY-4458?page=3Dcom.atlassian.jir= a.plugin.system.issuetabpanels:all-tabpanel] > > Thomas G=F6rres updated DERBY-4458: > --------------------------------- > > Description: > derby.jar cannot be used on mobile devices running the Android OS. Androi= d > uses Dalvik as runtime environment, and the classfiles from derby.jar can= not > 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 tha= t > doesn't come with an associated EnclosingMethod attribute. (This class wa= s > 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:1= 16) > 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:27= 6) > 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.j= ava: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=F6rres > > 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 cla= ss > 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:1= 16) > > at > com.android.dx.ssa.NormalSsaInsn.toRopInsn(NormalSsaInsn.java:122) > > at com.android.dx.ssa.back.SsaToRop.convertInsns(SsaToRop.java:38= 6) > > 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:27= 7) > > 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.j= ava: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:18= 3) > > 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. > > --00504502964d80e35d0479ae5f15 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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= =A0 - Derby generates bytecode dynamically for every new SQL statement, so = I doubt you might be able to get Derby running on Android until dynamic byt= ecode translation is available in the Dalvik VM at runtime

Cheers,

--Francois

2009/12/1 T= homas G=F6rres (JIRA) <jira@apache.org>

=A0 =A0 [ https://issues.apache.org/jira/browse/DERBY-4458?page=3Dcom.atlassi= an.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thomas G=F6rres updated DERBY-4458:
---------------------------------

=A0 =A0 =A0 =A0 =A0 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 canno= t 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
=A0 =A0 =A0 =A0at com.android.dx.rop.code.ThrowingInsn.withNewRegisters(Th= rowingInsn.java:116)
=A0 =A0 =A0 =A0at com.android.dx.ssa.NormalSsaInsn.toRopInsn(NormalSsaInsn= .java:122)
=A0 =A0 =A0 =A0at com.android.dx.ssa.back.SsaToRop.convertInsns(SsaToRop.j= ava:386)
=A0 =A0 =A0 =A0at com.android.dx.ssa.back.SsaToRop.convertBasicBlock(SsaTo= Rop.java:365)
=A0 =A0 =A0 =A0at com.android.dx.ssa.back.SsaToRop.convertBasicBlocks(SsaT= oRop.java:300)
=A0 =A0 =A0 =A0at com.android.dx.ssa.back.SsaToRop.convertToRop(SsaToRop.j= ava:277)
=A0 =A0 =A0 =A0at com.android.dx.ssa.back.SsaToRop.convert(SsaToRop.java:1= 18)
=A0 =A0 =A0 =A0at com.android.dx.ssa.back.SsaToRop.convertToRopMethod(SsaT= oRop.java:71)
=A0 =A0 =A0 =A0at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:103= )
=A0 =A0 =A0 =A0at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:74)=
=A0 =A0 =A0 =A0at com.android.dx.dex.cf.CfTranslator.processMethods(CfTran= slator.java:269)
=A0 =A0 =A0 =A0at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslat= or.java:131)
=A0 =A0 =A0 =A0at com.android.dx.dex.cf.CfTranslator.translate(CfTranslato= r.java:85)
=A0 =A0 =A0 =A0at com.android.dx.command.dexer.Main.processClass(Main.java= :297)
=A0 =A0 =A0 =A0at com.android.dx.command.dexer.Main.processFileBytes(Main.= java:276)
=A0 =A0 =A0 =A0at com.android.dx.command.dexer.Main.access$100(Main.java:5= 6)
=A0 =A0 =A0 =A0at com.android.dx.command.dexer.Main$1.processFileBytes(Mai= n.java:228)
=A0 =A0 =A0 =A0at com.android.dx.cf.direct.ClassPathOpener.processArchive(= ClassPathOpener.java:245)
=A0 =A0 =A0 =A0at com.android.dx.cf.direct.ClassPathOpener.processOne(Clas= sPathOpener.java:130)
=A0 =A0 =A0 =A0at com.android.dx.cf.direct.ClassPathOpener.process(ClassPa= thOpener.java:108)
=A0 =A0 =A0 =A0at com.android.dx.command.dexer.Main.processOne(Main.java:2= 45)
=A0 =A0 =A0 =A0at com.android.dx.command.dexer.Main.processAllFiles(Main.j= ava:183)
=A0 =A0 =A0 =A0at com.android.dx.command.dexer.Main.run(Main.java:139)
=A0 =A0 =A0 =A0at com.android.dx.command.dexer.Main.main(Main.java:120) =A0 =A0 =A0 =A0at com.android.dx.command.Main.main(Main.java:87)

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

> Dalvik / Andoid compatibility
> -----------------------------
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Key: DERBY-4458
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 URL: https://issues.apache.org/jir= a/browse/DERBY-4458
> =A0 =A0 =A0 =A0 =A0 =A0 Project: Derby
> =A0 =A0 =A0 =A0 =A0Issue Type: Task
> =A0 =A0Affects Versions: 10.5.3.0
> =A0 =A0 =A0 =A0 Environment: dx 1.2 (from the Android SDK 2.0) running= on Java 1.6
> =A0 =A0 =A0 =A0 =A0 =A0Reporter: Thomas G=F6rres
> =A0 =A0 =A0 =A0 =A0 =A0Priority: Blocker
> =A0 Original Estimate: 96h
> =A0Remaining Estimate: 96h
>
> derby.jar cannot be used on mobile devices running the Android OS. And= roid 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. Inst= ead, 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 c= lass was probably produced by a broken compiler.)
> Then it runs out of memory:
> java.lang.OutOfMemoryError: Java heap space
> =A0 =A0 =A0 at com.android.dx.rop.code.ThrowingInsn.withNewRegisters(T= hrowingInsn.java:116)
> =A0 =A0 =A0 at com.android.dx.ssa.NormalSsaInsn.toRopInsn(NormalSsaIns= n.java:122)
> =A0 =A0 =A0 at com.android.dx.ssa.back.SsaToRop.convertInsns(SsaToRop.= java:386)
> =A0 =A0 =A0 at com.android.dx.ssa.back.SsaToRop.convertBasicBlock(SsaT= oRop.java:365)
> =A0 =A0 =A0 at com.android.dx.ssa.back.SsaToRop.convertBasicBlocks(Ssa= ToRop.java:300)
> =A0 =A0 =A0 at com.android.dx.ssa.back.SsaToRop.convertToRop(SsaToRop.= java:277)
> =A0 =A0 =A0 at com.android.dx.ssa.back.SsaToRop.convert(SsaToRop.java:= 118)
> =A0 =A0 =A0 at com.android.dx.ssa.back.SsaToRop.convertToRopMethod(Ssa= ToRop.java:71)
> =A0 =A0 =A0 at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:10= 3)
> =A0 =A0 =A0 at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:74= )
> =A0 =A0 =A0 at com.android.dx.dex.cf.CfTranslator.processMethods(CfTra= nslator.java:269)
> =A0 =A0 =A0 at com.android.dx.dex.cf.CfTranslator.translate0(CfTransla= tor.java:131)
> =A0 =A0 =A0 at com.android.dx.dex.cf.CfTranslator.translate(CfTranslat= or.java:85)
> =A0 =A0 =A0 at com.android.dx.command.dexer.Main.processClass(Main.jav= a:297)
> =A0 =A0 =A0 at com.android.dx.command.dexer.Main.processFileBytes(Main= .java:276)
> =A0 =A0 =A0 at com.android.dx.command.dexer.Main.access$100(Main.java:= 56)
> =A0 =A0 =A0 at com.android.dx.command.dexer.Main$1.processFileBytes(Ma= in.java:228)
> =A0 =A0 =A0 at com.android.dx.cf.direct.ClassPathOpener.processArchive= (ClassPathOpener.java:245)
> =A0 =A0 =A0 at com.android.dx.cf.direct.ClassPathOpener.processOne(Cla= ssPathOpener.java:130)
> =A0 =A0 =A0 at com.android.dx.cf.direct.ClassPathOpener.process(ClassP= athOpener.java:108)
> =A0 =A0 =A0 at com.android.dx.command.dexer.Main.processOne(Main.java:= 245)
> =A0 =A0 =A0 at com.android.dx.command.dexer.Main.processAllFiles(Main.= java:183)
> =A0 =A0 =A0 at com.android.dx.command.dexer.Main.run(Main.java:139) > =A0 =A0 =A0 at com.android.dx.command.dexer.Main.main(Main.java:120) > =A0 =A0 =A0 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.


--00504502964d80e35d0479ae5f15--