Issues with Neon optimisations for libpng
After taking your changes for integration of Android with libpng 1.5.7 and Neon optimisations, I am facing two issues:
1) onDecodeRegion() crashes for Grayscale images.
Fatal signal 11 (SIGSEGV) at 0x725f3000 (code=2),
2) If NEON macro is enabled, my Android phone crashes on boot up.
backtrace:
I/DEBUG ( 2383): #00 pc 0010ecf8 /system/
I/DEBUG ( 2383): #01 pc 001098c9 /system/
I/DEBUG ( 2383): #02 pc 00102d5d /system/
I/DEBUG ( 2383): #03 pc 00102ea7 /system/
I/DEBUG ( 2383): #04 pc 000b70f4 /system/
I/DEBUG ( 2383): #05 pc 000b2818 /system/
Am I missing anything ? I took the changed files and put them in the external/libpng folder and did "mm -B". Also put the SkImageDecoder_
Please let me know what am I doing wrong.
Thanks & Regards
Soskumar
Question information
- Language:
- English Edit question
- Status:
- Open
- Assignee:
- Mans Rullgard Edit question
- Last query:
- 2013-03-13
- Last reply:
- 2013-03-13
Tom Gall (tom-gall) said : | #1 |
Hi Soskumar,
Sounds like perhaps filing a bug will be in order. Which version of Android are you building with out of curiosity?
Mans Rullgard (mansr) said : | #2 |
Can you share an image that causes it to crash?
Sonam (soskumar) said : | #3 |
Hi,
Of the two reported issues, I am still facing issue with the first one i.e. onDecodeRegion().
I am able to fix the second one - neon crash. It was happening because I enabled the PNG_ARM_NEON flag in the Android.mk but did not enable PNG_ALIGNED_
So regarding the onRegionDecoder(), use any Grayscale images, I downloaded lots of Grayscale images from the web and it crashes for each one of them. I am using Android 4.1 API level 16.
I used add2line and this is the crash dump:
********** Crash dump: **********
Build fingerprint: 'samsung/
pid: 6357, tid: 6357, name: a.unittest2.app >>> com.samsung.
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr fffffffe
Stack frame #00 pc fffffffe <unknown>
Stack frame #01 pc 0000c5a0 /system/lib/libz.so (inflateCopy+72): Routine inflateCopy in external/
Stack frame #02 pc 0010198d /system/
Stack frame #03 pc 000b7108 /system/
Stack frame #04 pc 000b1e34 /system/
Stack frame #05 pc 000b14dc /system/
Stack frame #06 pc 0007724b /system/
Stack frame #07 pc 0001e3d0 /system/
Stack frame #08 pc 0004d5d1 /system/
Stack frame #09 pc 00038d4d /system/
Stack frame #10 pc 000277e0 /system/
Stack frame #11 pc 0002b6c4 /system/
Stack frame #12 pc 000600c7 /system/
Stack frame #13 pc 00067ab1 /system/
Stack frame #14 pc 000277e0 /system/
Stack frame #15 pc 0002b6c4 /system/
Stack frame #16 pc 000600c7 /system/
Stack frame #17 pc 00067ab1 /system/
Stack frame #18 pc 000277e0 /system/
Stack frame #19 pc 0002b6c4 /system/
Stack frame #20 pc 0005fdf1 /system/
Stack frame #21 pc 00049b43 /system/
Stack frame #22 pc 0003d0a3 /system/
Stack frame #23 pc 0004bcc3 /system/
Stack frame #24 pc 0004d047 /system/
Stack frame #25 pc 00000db7 /system/
Can you help with this problem?
Provide an answer of your own, or ask Sonam for more information if necessary.