Question

If I compile everything for armv7, it works perfectly. If I compile everything for armv6, it crashes when calling the first ffmpeg function and I don't understand the crash output.

What can be the problem?

I use ndk-8e and I use minSdk=8 targetSdk=17 I tried this on Android 2.2 emulator (with also high heap size=128mb to see if it works, but it's not..)

    08-11 18:36:28.904: I/DEBUG(30): signal 4 (SIGILL), fault addr 81247524
    08-11 18:36:28.904: I/DEBUG(30):  r0 81b346a0  r1 81b347bc  r2 81b34702  r3 00000002
    08-11 18:36:28.904: I/DEBUG(30):  r4 00000001  r5 00000002  r6 00005601  r7 0000011a
    08-11 18:36:28.904: I/DEBUG(30):  r8 814cf2d0  r9 8090eca1  10 00000001  fp 0022c928
    08-11 18:36:28.904: I/DEBUG(30):  ip 00000006  sp 5ca0173c  lr 812d6404  pc 81247524  cpsr 80000010
    08-11 18:36:29.014: D/dalvikvm(58): GC_FOR_MALLOC freed 10199 objects / 574352 bytes in 153ms
    08-11 18:36:29.183: I/DEBUG(30):          #00  pc 00247524  /data/data/com.myapp/lib/libffmpeg.so
    08-11 18:36:29.183: I/DEBUG(30):          #01  lr 812d6404  /data/data/com.myApp/lib/libffmpeg.so
    08-11 18:36:29.183: I/DEBUG(30): code around pc:
    08-11 18:36:29.183: I/DEBUG(30): 81247504 e15c0007 e14260b2 e5d35003 e5d3a002 
    08-11 18:36:29.183: I/DEBUG(30): 81247514 e5d34004 e1c260b0 e1a05085 e1a0308a 
    08-11 18:36:29.183: I/DEBUG(30): 81247524 e6ef5075 e064a005 e6ef3073 e28aa001 
    08-11 18:36:29.193: I/DEBUG(30): 81247534 e2836001 e0854004 e5c14000 e5c1a001 
    08-11 18:36:29.193: I/DEBUG(30): 81247544 e5c06001 e5c03000 e2822004 e2811002 
    08-11 18:36:29.193: I/DEBUG(30): code around lr:
    08-11 18:36:29.193: I/DEBUG(30): 812d63e4 eb057846 e3500000 1afffff7 e5943048 
    08-11 18:36:29.193: I/DEBUG(30): 812d63f4 e3530000 08bd8070 e1a00004 e12fff33 
    08-11 18:36:29.193: I/DEBUG(30): 812d6404 e8bd8070 007bbc14 007bbbe8 e92d4010 
    08-11 18:36:29.193: I/DEBUG(30): 812d6414 e5d1c001 e5d04001 e5d02000 e5d13000 
    08-11 18:36:29.193: I/DEBUG(30): 812d6424 e06c0004 e0633002 e0830400 e8bd8010 
    08-11 18:36:29.193: I/DEBUG(30): stack:
    08-11 18:36:29.193: I/DEBUG(30):     5ca016fc  00000000  
    08-11 18:36:29.193: I/DEBUG(30):     5ca01700  00000000  
    08-11 18:36:29.193: I/DEBUG(30):     5ca01704  00000000  
    08-11 18:36:29.193: I/DEBUG(30):     5ca01708  00000000  
    08-11 18:36:29.193: I/DEBUG(30):     5ca0170c  00000000  
    08-11 18:36:29.193: I/DEBUG(30):     5ca01710  00000000  
    08-11 18:36:29.193: I/DEBUG(30):     5ca01714  00000000  
    08-11 18:36:29.193: I/DEBUG(30):     5ca01718  00000000  
    08-11 18:36:29.193: I/DEBUG(30):     5ca0171c  00000000  
    08-11 18:36:29.203: I/DEBUG(30):     5ca01720  00000000  
    08-11 18:36:29.203: I/DEBUG(30):     5ca01724  00000000  
    08-11 18:36:29.203: I/DEBUG(30):     5ca01728  00000000  
    08-11 18:36:29.203: I/DEBUG(30):     5ca0172c  00000000  
    08-11 18:36:29.203: I/DEBUG(30):     5ca01730  df002777  
    08-11 18:36:29.203: I/DEBUG(30):     5ca01734  e3a070ad  
    08-11 18:36:29.203: I/DEBUG(30):     5ca01738  815d9bd0  /data/data/com.myApp/lib/libffmpeg.so
    08-11 18:36:29.203: I/DEBUG(30): #00 5ca0173c  815d9c60  /data/data/com.myApp/lib/libffmpeg.so
    08-11 18:36:29.203: I/DEBUG(30):     5ca01740  815d9bd0  /data/data/com.myApp/lib/libffmpeg.so
    08-11 18:36:29.213: I/DEBUG(30):     5ca01744  8094b9c4  /data/data/com.myApp/lib/mycustomlib.so
    08-11 18:36:29.213: I/DEBUG(30):     5ca01748  afd489b0  
    08-11 18:36:29.213: I/DEBUG(30):     5ca0174c  00100000  [heap]
    08-11 18:36:29.213: I/DEBUG(30):     5ca01750  5c902000  
    08-11 18:36:29.213: I/DEBUG(30):     5ca01754  812d6404  /data/data/com.myApp/lib/libffmpeg.so
    08-11 18:36:29.213: I/DEBUG(30):     5ca01758  815d0c00  /data/data/com.myApp/lib/libffmpeg.so
    08-11 18:36:29.213: I/DEBUG(30):     5ca0175c  80952dec  /data/data/com.myApp/lib/mycustomlib.so
    08-11 18:36:29.213: I/DEBUG(30):     5ca01760  8094b9c4  /data/data/com.myApp/lib/mycustomlib.so
    08-11 18:36:29.213: I/DEBUG(30):     5ca01764  8107b964  /data/data/com.myApp/lib/libffmpeg.so
    08-11 18:36:29.213: I/DEBUG(30):     5ca01768  0022c928  [heap]
    08-11 18:36:29.213: I/DEBUG(30):     5ca0176c  8090da63  /data/data/com.myApp/lib/mycustomlib.so
    08-11 18:36:29.213: I/DEBUG(30):     5ca01770  00000000  
    08-11 18:36:29.213: I/DEBUG(30):     5ca01774  00000000  
    08-11 18:36:29.213: I/DEBUG(30):     5ca01778  00000000  
    08-11 18:36:29.224: I/DEBUG(30):     5ca0177c  00000000  
    08-11 18:36:29.224: I/DEBUG(30):     5ca01780  80953024  /data/data/com.myApp/lib/mycustomlib.so
Was it helpful?

Solution

I found the solution. This problem only occurs on emulator. This may be a problem related to emulator itself.

For those who have a similar problem: Try your package on a real device. I tried the same package on a real armv6 device and it worked.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top