hi Fadden,
thanks for the reply
I am able to proceed swapMap() function by fixing an endian issue in that
function.
Fix: pMap->size has to be converted to big-endian before assigning it to
count variable.

Now I have another issue in crossVerifyEverything() with
"kDexTypeClassDefItem" switch-case. It is becoming increasingly difficult to
debug this as this is tightly coupled to dex file-format. I hope I can get
some pointers into fixing this issue.

Thanks
Anand

On Fri, Mar 27, 2009 at 4:55 AM, fadden <fad...@android.com> wrote:

>
> On Mar 26, 9:31 am, Anand Android <android.an...@gmail.com> wrote:
> > DexOpt: --- BEGIN 'core.jar' (bootstrap=1) ---
> > DexOpt: waiting for verify+opt, pid=2460
> > Continuing optimization
> >
> (/home/cupcake/out/debug/target/product/eee_701/system/framework/core.jar,
> > isb=1, vfy=1, opt=1)
> > +++ swapping bytes
> > DexOpt: --- END 'core.jar' --- status=0xff00, process failed
> [...]
> > On debugging i found it is failing at
> > '~/cupcake/dalvik/libdex/DexSwapVerify.c:2084' where 'swapMap()' function
> is
> > failing.
>
> It should log a specific failure message when something goes wrong.
> Line 2084 looks like it's scrounging around in annotations; I think
> maybe it should have a LOGE:
>
>    while (size--) {
>        data = verifyEncodedValue(state, data, crossVerify);
>        if (data == NULL) {
>            LOGE("Bogus encoded_array value\n");
>            return NULL;
>        }
>    }
>
> If you've got the latest cupcake you should have the checksum
> verification enabled (around line 2767), which should ensure that
> you're not reading a corrupt file.
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---

Reply via email to