Tom,

Yes ARM926 CPU are not supported, not only they don't have VFP but they are
ARMv5 when V8 base requirement is ARMv6. So V8 3.17 is the only way for you.

Also I couldn't help noticing your simulator has VFP support (though the
real hardware won't). Your crash is not VFP related, you are failing on a
movw instruction which is an ARMv7 only instruction when your CPU is ARMv5.
So you probably compiled your binary for ARMv7. Compiling for ARMv5 will
only move the issue as V8 will emit instruction from newer architecture.

HTH,
Rodolph.


On 31 October 2013 10:45, Tom Jacobs <[email protected]> wrote:

> We've heard reports of our app not working on these phones (usually
> android 2.2 phones):
> - HTC Wildfire S
> - Samsung Galaxy Ace
> - Samsung Galaxy Mini
> - Samsung Galaxy Ace Duos S6802
> - Samsung GT I5510M
>
> Running the app in a 2.2 armeabi Android simulator, it crashes, and that
> simulator gives this cpuinfo:
>
> /Applications/android-sdk-mac_x86/platform-tools/adb  shell cat
> /proc/cpuinfo
> Processor       : ARM926EJ-S rev 5 (v5l)
> BogoMIPS        : 262.14
> Features        : swp half thumb fastmult vfp edsp java
> CPU implementer : 0x41
> CPU architecture: 5TEJ
> CPU variant     : 0x0
> CPU part        : 0x926
> CPU revision    : 5
>
> Hardware        : Goldfish
> Revision        : 0000
> Serial          : 0000000000000000
>
>
> So is the solution just to bring our v8 back to 3.17?
> Can you think of any other workaround to get v8 to run on these phones,
> perhaps by doing floating point some other way?
>
> We also have the option of using Rhino instead for these phones, but we'd
> have to detect the CPU type first. We may have to go this route.
>
> The crash stack for it is below:
>
> 10-31 21:31:54.430      385-385/org.me.mobiexpensifyg D/dalvikvm﹕ Trying
> to load lib /data/data/org.me.mobiexpensifyg/lib/libjv8.so 0x46030c28
> 10-31 21:31:54.572        30-30/? I/DEBUG﹕ *** *** *** *** *** *** *** ***
> *** *** *** *** *** *** *** ***
> 10-31 21:31:54.572        30-30/? I/DEBUG﹕ Build fingerprint:
> 'generic/sdk/generic/:2.2/FRF91/43546:eng/test-keys'
> 10-31 21:31:54.572        30-30/? I/DEBUG﹕ pid: 385, tid: 385  >>>
> org.me.mobiexpensifyg <<<
> 10-31 21:31:54.572        30-30/? I/DEBUG﹕ signal 4 (SIGILL), fault addr
> 8123b770
> 10-31 21:31:54.572        30-30/? I/DEBUG﹕ r0 00149a38  r1 00000000  r2
> 00000000  r3 fffff4f4
> 10-31 21:31:54.572        30-30/? I/DEBUG﹕ r4 001375d0  r5 8147ddb8  r6
> 81481e20  r7 81481e38
> 10-31 21:31:54.581        30-30/? I/DEBUG﹕ r8 00149a38  r9 0000ccb0  10
> 4208bca4  fp 00000000
> 10-31 21:31:54.581        30-30/? I/DEBUG﹕ ip 00149a30  sp be984738  lr
> 8123b76c  pc 8123b770  cpsr 20000010
> 10-31 21:31:54.741        30-30/? I/DEBUG﹕ #00  pc 0023b770
>  /data/data/org.me.mobiexpensifyg/lib/libjv8.so
> 10-31 21:31:54.741        30-30/? I/DEBUG﹕ #01  lr 8123b76c
>  /data/data/org.me.mobiexpensifyg/lib/libjv8.so
> 10-31 21:31:54.741        30-30/? I/DEBUG﹕ code around pc:
> 10-31 21:31:54.741        30-30/? I/DEBUG﹕ 8123b750 e59f305c e7953003
> e5830000 e3a00004
> 10-31 21:31:54.741        30-30/? I/DEBUG﹕ 8123b760 ebfc86ab e1a08000
> ebfffdc7 e59f3044
> 10-31 21:31:54.751        30-30/? I/DEBUG﹕ 8123b770 e3050760 e7953003
> e5838000 ebfc86a4
> 10-31 21:31:54.751        30-30/? I/DEBUG﹕ 8123b780 e1a05000 ebfffe8e
> e5865000 eaffffdd
> 10-31 21:31:54.751        30-30/? I/DEBUG﹕ 8123b790 e5970000 e5961000
> eb05e6f8 eaffffdd
> 10-31 21:31:54.751        30-30/? I/DEBUG﹕ code around lr:
> 10-31 21:31:54.751        30-30/? I/DEBUG﹕ 8123b74c eb05e645 e59f305c
> e7953003 e5830000
> 10-31 21:31:54.751        30-30/? I/DEBUG﹕ 8123b75c e3a00004 ebfc86ab
> e1a08000 ebfffdc7
> 10-31 21:31:54.751        30-30/? I/DEBUG﹕ 8123b76c e59f3044 e3050760
> e7953003 e5838000
> 10-31 21:31:54.751        30-30/? I/DEBUG﹕ 8123b77c ebfc86a4 e1a05000
> ebfffe8e e5865000
> 10-31 21:31:54.761        30-30/? I/DEBUG﹕ 8123b78c eaffffdd e5970000
> e5961000 eb05e6f8
> 10-31 21:31:54.761        30-30/? I/DEBUG﹕ stack:
> 10-31 21:31:54.761        30-30/? I/DEBUG﹕ be9846f8  00000000
> 10-31 21:31:54.761        30-30/? I/DEBUG﹕ be9846fc  be98472c  [stack]
> 10-31 21:31:54.761        30-30/? I/DEBUG﹕ be984700  00000000
> 10-31 21:31:54.761        30-30/? I/DEBUG﹕ be984704  0000ccb0  [heap]
> 10-31 21:31:54.761        30-30/? I/DEBUG﹕ be984708  4208bca4
> 10-31 21:31:54.761        30-30/? I/DEBUG﹕ be98470c  00000004
> 10-31 21:31:54.761        30-30/? I/DEBUG﹕ be984710  8147ddb8
>  /data/data/org.me.mobiexpensifyg/lib/libjv8.so
> 10-31 21:31:54.771        30-30/? I/DEBUG﹕ be984714  81481e20
> 10-31 21:31:54.771        30-30/? I/DEBUG﹕ be984718  81481e38
> 10-31 21:31:54.771        30-30/? I/DEBUG﹕ be98471c  afd0cd65
>  /system/lib/libc.so
> 10-31 21:31:54.771        30-30/? I/DEBUG﹕ be984720  00000004
> 10-31 21:31:54.771        30-30/? I/DEBUG﹕ be984724  8099eac4
>  /data/data/org.me.mobiexpensifyg/lib/libgnustl_shared.so
> 10-31 21:31:54.771        30-30/? I/DEBUG﹕ be984728  001375d0  [heap]
> 10-31 21:31:54.771        30-30/? I/DEBUG﹕ be98472c  8147ddb8
>  /data/data/org.me.mobiexpensifyg/lib/libjv8.so
> 10-31 21:31:54.771        30-30/? I/DEBUG﹕ be984730  df002777
> 10-31 21:31:54.771        30-30/? I/DEBUG﹕ be984734  e3a070ad
> 10-31 21:31:54.771        30-30/? I/DEBUG﹕ #00 be984738  8147c58c
>  /data/data/org.me.mobiexpensifyg/lib/libjv8.so
> 10-31 21:31:54.780        30-30/? I/DEBUG﹕ be98473c  00000003
> 10-31 21:31:54.780        30-30/? I/DEBUG﹕ be984740  00000004
> 10-31 21:31:54.780        30-30/? I/DEBUG﹕ be984744  00000000
> 10-31 21:31:54.780        30-30/? I/DEBUG﹕ be984748  80813b00
>  /system/lib/libdvm.so
> 10-31 21:31:54.780        30-30/? I/DEBUG﹕ be98474c  b0001169
>  /system/bin/linker
> 10-31 21:31:54.780        30-30/? I/DEBUG﹕ be984750  b0010488
> 10-31 21:31:54.780        30-30/? I/DEBUG﹕ be984754  00002730
> 10-31 21:31:54.780        30-30/? I/DEBUG﹕ be984758  b0010494
> 10-31 21:31:54.780        30-30/? I/DEBUG﹕ be98475c  b000122b
>  /system/bin/linker
> 10-31 21:31:54.780        30-30/? I/DEBUG﹕ be984760  b00134dc
> 10-31 21:31:54.780        30-30/? I/DEBUG﹕ be984764  80900000
>  /data/data/org.me.mobiexpensifyg/lib/libgnustl_shared.so
> 10-31 21:31:54.780        30-30/? I/DEBUG﹕ be984768  0000001d
> 10-31 21:31:54.791        30-30/? I/DEBUG﹕ be98476c  b00103a4
> 10-31 21:31:54.791        30-30/? I/DEBUG﹕ be984770  b00103a4
> 10-31 21:31:54.791        30-30/? I/DEBUG﹕ be984774  00002730
> 10-31 21:31:54.791        30-30/? I/DEBUG﹕ be984778  00002730
> 10-31 21:31:54.791        30-30/? I/DEBUG﹕ be98477c  b0002817
>  /system/bin/linker
> 10-31 21:31:55.641        32-32/? D/Zygote﹕ Process 385 terminated by
> signal (4)
> 10-31 21:31:55.651       96-247/system_process I/ActivityManager﹕ Process
> org.me.mobiexpensifyg (pid 385) has died.
>
> Thanks,
> Tom
> www.expensify.com
>
>
> On 30 October 2013 22:58, Rodolph Perfetta <[email protected]>wrote:
>
>> Hi Tom,
>>
>> Can you confirm this is a VFP issue:
>>  * adb shell cat /proc/cpuinfo on the device will tell you if you have VFP
>>  * what instruction is generating the fault?
>>
>> On a side note reverting the commit on a post 3.18 V8 will not work.
>>
>> Cheers,
>> Rodolph.
>>
>>
>>
>>  On 30 October 2013 11:35, Tom Jacobs <[email protected]> wrote:
>>
>>>  Hi Danno,
>>>
>>> We're running V8 on Android and we're finding that it's crashing on some
>>> older Android devices (a few years old), we suspect those that don't have
>>> VFPv2.
>>> I see support for no-VFPv2 was removed in 3.18 in this commit:
>>> https://code.google.com/p/v8/source/detail?r=14159
>>>
>>> Is there any way of bringing no-VFPv2 support back to V8? We're running
>>> a fork of it from about 6 months ago (https://github.com/Expensify/jv8),
>>> and so might it be as simple as just reverting that commit?
>>>
>>> Or is there any other way of working around and having it run fine on
>>> those chips?
>>>
>>> Our crash happens here:
>>> Trying to load lib /data/data/org.me.**mobiexpensifyg/lib/libjv8.so
>>> 0x46030c28
>>> ... crash ...
>>> #00  pc *0023c978*  /data/data/org.me.**mobiexpensifyg/lib/libjv8.so
>>> By analyzing which line of code the crash comes from, this is what I get:
>>> $ addr2line -C -f -e obj/local/armeabi/libjv8.so *0023c978*
>>> v8::internal::Isolate::**EnsureDefaultIsolate()
>>>
>>> Thanks,
>>> Tom.
>>>
>>>
>>> On Thursday, April 4, 2013 10:52:22 PM UTC+11, danno wrote:
>>>>
>>>> Due the increasing cost of the keeping the "no-VFPv2" port of V8
>>>> working on ARM, we are planning on making 3.17 the last V8 release that
>>>> that supports ARM chips without VFPv2. Starting with the 3.18 release, the
>>>> minimal V8 requirements will increase to ARMv6 + VFPv2. In order to
>>>> simplify maintenance, we will also remove the "pre-VFP2" ARM code from the
>>>> V8 code base.
>>>>
>>>> Danno
>>>>
>>>  --
>>> --
>>> v8-users mailing list
>>> [email protected]
>>> http://groups.google.com/group/v8-users
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "v8-users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>>
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>  --
>> --
>> v8-users mailing list
>> [email protected]
>> http://groups.google.com/group/v8-users
>> ---
>> You received this message because you are subscribed to a topic in the
>> Google Groups "v8-users" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/v8-users/aSOFbaAQvMk/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>>
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>  --
> --
> v8-users mailing list
> [email protected]
> http://groups.google.com/group/v8-users
> ---
> You received this message because you are subscribed to the Google Groups
> "v8-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to