[Android] eventfd in NDK v7b/c

Martin Storsjö martin at martin.st
Sat Apr 21 18:21:38 CEST 2012


On Sat, 21 Apr 2012, Edward Wang wrote:

> 2.1 with NDK 7c without deleting eventfd:
>
> E/VLC/LibVLC( 1688): Can't load vlcjni library: 
> java.lang.UnsatisfiedLinkError: Library vlcjni not found
>
> 2.1 with NDK 7c after deleting eventfd:
>
> D/VLC/JNI/main( 1733): JNI interface loaded.
> V/VLC/LibVLC( 1733): Initializing LibVLC
> I/DEBUG   (  958): *** *** *** *** *** *** *** *** *** *** *** *** *** *** 
> *** ***
> I/DEBUG   (  958): Build fingerprint: 
> 'MOTO/MBTCA/sesame/XT300:2.1-update1/SESLA_U3_01.71.0/110110:user/release-keys'
> I/DEBUG   (  958): pid: 1733, tid: 1733 >>> org.videolan.vlc <<<
> I/DEBUG   (  958): signal 4 (SIGILL), fault addr 4237be3c
> I/DEBUG   (  958):  r0 423640a0  r1 7ece77ac  r2 42bccdac  r3 4237be38
> I/DEBUG   (  958):  r4 00000000  r5 42bccdac  r6 002ed088  r7 002ed018
> I/DEBUG   (  958):  r8 7ece78e8  r9 2bafa844  10 0000000e  fp 7ece794c
> I/DEBUG   (  958):  ip 00002ba0  sp 7ece7784  lr 423652e4  pc 4237be3c  cpsr 
> 60000010
> I/DEBUG   (  958):          #00  pc 0037be3c 
> /data/data/org.videolan.vlc/lib/libvlcjni.so
> I/DEBUG   (  958):          #01  lr 423652e4 
> /data/data/org.videolan.vlc/lib/libvlcjni.so
> I/DEBUG   (  958): stack:
> I/DEBUG   (  958):     7ece7744  6d07cf9c  /system/lib/libdvm.so
> I/DEBUG   (  958):     7ece7748  0028159c  [heap]
> I/DEBUG   (  958):     7ece774c  0028163c  [heap]
> I/DEBUG   (  958):     7ece7750  2bd7d608  /dev/ashmem/dalvik-LinearAlloc 
> (deleted)
> I/DEBUG   (  958):     7ece7754  6d0550e5  /system/lib/libdvm.so
> I/DEBUG   (  958):     7ece7758  2bd7d608  /dev/ashmem/dalvik-LinearAlloc 
> (deleted)
> I/DEBUG   (  958):     7ece775c  0014e5e0  [heap]
> I/DEBUG   (  958):     7ece7760  2deee758  /dev/ashmem/mspace/dalvik-heap/2 
> (deleted)
> I/DEBUG   (  958):     7ece7764  6d055e4b  /system/lib/libdvm.so
> I/DEBUG   (  958):     7ece7768  0001234c  [heap]
> I/DEBUG   (  958):     7ece776c  6fe0f3f0  /system/lib/libc.so
> I/DEBUG   (  958):     7ece7770  00000000
> I/DEBUG   (  958):     7ece7774  6fe0f300  /system/lib/libc.so
> I/DEBUG   (  958):     7ece7778  df002777
> I/DEBUG   (  958):     7ece777c  e3a070ad
> I/DEBUG   (  958):     7ece7780  0028163c  [heap]
> I/DEBUG   (  958): #00 7ece7784  00000000
> I/DEBUG   (  958):     7ece7788  42bccdac 
> /data/data/org.videolan.vlc/lib/libvlcjni.so
> I/DEBUG   (  958):     7ece778c  002ed088  [heap]
> I/DEBUG   (  958):     7ece7790  002ed018  [heap]
> I/DEBUG   (  958):     7ece7794  7ece78e8  [stack]
> I/DEBUG   (  958):     7ece7798  2bafa844
> I/DEBUG   (  958):     7ece779c  0000000e
> I/DEBUG   (  958):     7ece77a0  7ece794c  [stack]
> I/DEBUG   (  958):     7ece77a4  423652e4 
> /data/data/org.videolan.vlc/lib/libvlcjni.so
> I/DEBUG   (  958):     7ece77a8  7ece78e8  [stack]
> I/DEBUG   (  958):     7ece77ac  00000000
> I/DEBUG   (  958):     7ece77b0  42ba6614 
> /data/data/org.videolan.vlc/lib/libvlcjni.so
> I/DEBUG   (  958):     7ece77b4  42363ea0 
> /data/data/org.videolan.vlc/lib/libvlcjni.so
> I/DEBUG   (  958):     7ece77b8  42ba6614 
> /data/data/org.videolan.vlc/lib/libvlcjni.so
> I/DEBUG   (  958):     7ece77bc  42363f0c 
> /data/data/org.videolan.vlc/lib/libvlcjni.so
> I/DEBUG   (  958):     7ece77c0  42ba6614 
> /data/data/org.videolan.vlc/lib/libvlcjni.so
> I/DEBUG   (  958):     7ece77c4  002ed088  [heap]
> I/DEBUG   (  958):     7ece77c8  002ed088  [heap]
>
> It only works if I use platforms/android-5 instead of the broken 
> platforms/android-9.

Please use the right vocabulary, I doubt it's "broken", I do think it 
works just fine if running on such a device. But if we use those platform 
headers while targeting older platforms at the same time, we need to take 
special care not to have hard dependencies on it. Now apparently something 
has changed, then it's up to us to figure out what and why. Just claiming 
that it's "broken" doesn't help.

// Martin


More information about the Android mailing list