Thanks a lot for your reply!! I tried to launch the same application on a not-rooted device, and it gave me, unfortunately, the same result. I have also a question about CSipSimple. I've seen that that fork required to use a java support, maybe in order to avoid the problems with Android permissions', manifest files and so on. Anyway I am still perplexed, because NDK has the audio support through OpenSLES, and it gives also the support to sockets: so I initially thought that, working on C language, I should operate on Kernel level bypassing all the "Android Security Level". Next, I've read this article on source.android: http://source.android.com/tech/security/#android-platform-security-architecture I'm not misunderstanding, all the applications are run inside a "Application Sandbox", that it works in Kernel Mode. So, any attempt to run a "particular application" with audio, sockets ecc. is vain. Is there any way to bypass this "application sandbox"? Must I really use .apks in order to use Manifest permissions? Thanks again. On Tue, Jul 24, 2012 at 8:53 PM, Monty Python <pythonexperiment at gmail.com> wrote: > Hi, > >Just some ideas, (I never had this issue) but ... : > >It could be something with unix rights : on android, applications get >permissions from their manifest and when android os creates the user of the >sandbox for the app it adds this users to relevant groups. >Because could also be something with the media server of android os that >doesn't allow to use audio for not real android apps. So rather than >command line launch you should probably try to use the sample application >apk and install it properly. With "adb install your_apk_name.apk" .+ > >Another possible root cause is that the emulator doesn't always play well >with the audio layer. First it's absolutely not performant, and second >sometimes it doesn't detects at all the host audio hardware. I would advise >you to use a real device if you have one. It's way better to develop for >the call / audio purpose. (However emulator is a solution to develop for >the user interface part). > >Best regards. >>2012/7/25 Monty Python <pythonexperiment at gmail.com> >> I've also obtained the strace of the pjsua process, hoping that it >> could expound my problem. Thanks again. >> > >> >> stat64("/vendor/lib/libstagefright_amrnb_common.so", 0xbea8f138) = -1 >> ENOENT (No such file or directory) >> stat64("/system/lib/libstagefright_amrnb_common.so", >> {st_mode=S_IFREG|0644, st_size=50760, ...}) = 0 >> open("/system/lib/libstagefright_amrnb_common.so", O_RDONLY|O_LARGEFILE) = >> 3 >> lseek(3, 0, SEEK_SET) = 0 >> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\000"..., >> 4096) = 4096 >> lseek(3, -8, SEEK_END) = 50752 >> read(3, "\1\0\0\0\0\0\0\0", 8) = 8 >> mmap2(NULL, 53248, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, >> 0) = 0x40b0e000 >> mmap2(0x40b0e000, 46908, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, >> 3, 0) = 0x40b0e000 >> mprotect(0x40b0e000, 49152, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 >> mmap2(0x40b1a000, 444, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, >> 0xc) = 0x40b1a000 >> close(3) = 0 >> mprotect(0x40b0e000, 49152, PROT_READ|PROT_EXEC) = 0 >> stat64("/vendor/lib/libstagefright_enc_common.so", 0xbea8f138) = -1 >> ENOENT (No such file or directory) >> stat64("/system/lib/libstagefright_enc_common.so", >> {st_mode=S_IFREG|0644, st_size=5420, ...}) = 0 >> open("/system/lib/libstagefright_enc_common.so", O_RDONLY|O_LARGEFILE) = 3 >> lseek(3, 0, SEEK_SET) = 0 >> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\000"..., >> 4096) = 4096 >> lseek(3, -8, SEEK_END) = 5412 >> read(3, "\1\0\0\0\0\0\0\0", 8) = 8 >> mmap2(NULL, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, >> 0) = 0x40b1b000 >> mmap2(0x40b1b000, 1700, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, >> 0) = 0x40b1b000 >> mprotect(0x40b1b000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 >> mmap2(0x40b1c000, 260, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, >> 0x1) = 0x40b1c000 >> close(3) = 0 >> mprotect(0x40b1b000, 4096, PROT_READ|PROT_EXEC) = 0 >> stat64("/vendor/lib/libstagefright_avc_common.so", 0xbea8f138) = -1 >> ENOENT (No such file or directory) >> stat64("/system/lib/libstagefright_avc_common.so", >> {st_mode=S_IFREG|0644, st_size=21848, ...}) = 0 >> open("/system/lib/libstagefright_avc_common.so", O_RDONLY|O_LARGEFILE) = 3 >> lseek(3, 0, SEEK_SET) = 0 >> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\000"..., >> 4096) = 4096 >> lseek(3, -8, SEEK_END) = 21840 >> read(3, "\1\0\0\0\0\0\0\0", 8) = 8 >> mmap2(NULL, 24576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, >> 0) = 0x40b1d000 >> mmap2(0x40b1d000, 19024, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, >> 3, 0) = 0x40b1d000 >> mprotect(0x40b1d000, 20480, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 >> mmap2(0x40b22000, 256, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, >> 0x5) = 0x40b22000 >> close(3) = 0 >> mprotect(0x40b1d000, 20480, PROT_READ|PROT_EXEC) = 0 >> mprotect(0x40574000, 1159168, PROT_READ|PROT_EXEC) = 0 >> mprotect(0x40106000, 4096, PROT_READ|PROT_WRITE) = 0 >> mprotect(0x40106000, 4096, PROT_READ) = 0 >> mprotect(0x40106000, 4096, PROT_READ|PROT_WRITE) = 0 >> mprotect(0x40106000, 4096, PROT_READ) = 0 >> mprotect(0x40106000, 4096, PROT_READ|PROT_WRITE) = 0 >> mprotect(0x40106000, 4096, PROT_READ) = 0 >> mprotect(0x40106000, 4096, PROT_READ|PROT_WRITE) = 0 >> mprotect(0x40106000, 4096, PROT_READ) = 0 >> mprotect(0x40106000, 4096, PROT_READ|PROT_WRITE) = 0 >> mprotect(0x40106000, 4096, PROT_READ) = 0 >> mprotect(0x40106000, 4096, PROT_READ|PROT_WRITE) = 0 >> mprotect(0x40106000, 4096, PROT_READ) = 0 >> mprotect(0x40071000, 155648, PROT_READ|PROT_EXEC) = 0 >> mprotect(0x40106000, 4096, PROT_READ|PROT_WRITE) = 0 >> mprotect(0x40106000, 4096, PROT_READ) = 0 >> mprotect(0x40106000, 4096, PROT_READ|PROT_WRITE) = 0 >> mprotect(0x40106000, 4096, PROT_READ) = 0 >> mprotect(0x4006e000, 8192, PROT_READ|PROT_EXEC) = 0 >> mprotect(0x8000, 1933312, PROT_READ|PROT_EXEC) = 0 >> sigaction(49264, {0xb00144c4, [], SA_RESTART}, {0xb00144c4, [], >> SA_RESTART}, 0) = -1 EINVAL (Invalid argument) >> --- SIGSEGV (Segmentation fault) @ 0 (f0) --- >> open("/dev/log/main", O_WRONLY|O_LARGEFILE) = 3 >> writev(3, [{"\7", 1}, {"libc\0", 5}, {"Fatal signal 11 (SIGSEGV) at >> 0x0"..., 49}], 3) = 55 >> SYS_224(0x37, 0xbea8f850, 0x3, 0x38) = 465 >> socket(PF_UNIX, SOCK_STREAM, 0) = 4 >> connect(4, {sa_family=AF_UNIX, path=@android:debuggerd}, 20) = 0 >> write(4, "?\1\0\0", 4) = 4 >> read(4, 0xbea8f888, 1) = ? ERESTARTSYS (To be restarted) >> --- SIGCONT (Continue) @ 0 (0) --- >> read(4, "?", 1) = 1 >> close(4) = 0 >> sigaction(SIGSEGV, {SIG_DFL}, {0xb0005b29, [], SA_RESTART|SA_SIGINFO}, 0) >> = 0 >> rt_sigreturn(0) = -1 EPERM (Operation not >> permitted) >> --- SIGSEGV (Segmentation fault) @ 0 (f0) --- >> +++ killed by SIGSEGV +++ >> >> On Tue, Jul 24, 2012 at 8:53 PM, Monty Python >> <pythonexperiment at gmail.com> wrote: >> > Greetings to everyone! >> > >> > I'm trying to compile pjsua using the following branch: >> > http://svn.pjsip.org/repos/pjproject/branches/projects/android/. I've >> > tried to do a push (adb push pjsua /data/local/) to my android-sdk >> > emulator but, when I've tried to execute it via adb shell, the android >> > logcat gave me the following SIGFAULT error: where am I wrong? Thanks >> > in advance. >> > >> > F/libc ( 464): Fatal signal 11 (SIGSEGV) at 0x000000f0 (code=1) >> > I/DEBUG ( 33): *** *** *** *** *** *** *** *** *** *** *** *** *** >> > *** *** *** >> > I/DEBUG ( 33): Build fingerprint: >> > 'generic/sdk/generic:4.0.3/MR1/237985:eng/test-keys' >> > I/DEBUG ( 33): pid: 464, tid: 464 >>> >> > ./pjsua-arm-unknown-linux-androideabi <<< >> > I/DEBUG ( 33): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault >> > addr 000000f0 >> > I/DEBUG ( 33): r0 ffffffff r1 beef7c30 r2 beef7c30 r3 ffffffff >> > I/DEBUG ( 33): r4 00000000 r5 00000000 r6 00000000 r7 00000000 >> > I/DEBUG ( 33): r8 00000000 r9 00000000 10 00000000 fp 00000000 >> > I/DEBUG ( 33): ip 4003c4b9 sp beef7c60 lr 4003c4b1 pc b000469a >> > cpsr 00000030 >> > I/DEBUG ( 33): d0 00000000bd6bc8e3 d1 0000000000000000 >> > I/DEBUG ( 33): d2 0000000000000000 d3 0000000000000000 >> > I/DEBUG ( 33): d4 0000000000000000 d5 41c8f0a46e800000 >> > I/DEBUG ( 33): d6 3f50624dd2f1a9fc d7 c18af9670cce266f >> > I/DEBUG ( 33): d8 0000000000000000 d9 0000000000000000 >> > I/DEBUG ( 33): d10 0000000000000000 d11 0000000000000000 >> > I/DEBUG ( 33): d12 0000000000000000 d13 0000000000000000 >> > I/DEBUG ( 33): d14 0000000000000000 d15 0000000000000000 >> > I/DEBUG ( 33): scr 00000010 >> > I/DEBUG ( 33): >> > I/DEBUG ( 33): #00 pc b000469a /system/bin/linker >> > I/DEBUG ( 33): #01 pc 000264ac /system/lib/libc.so >> (__set_errno) >> > I/DEBUG ( 33): >> > I/DEBUG ( 33): code around pc: >> > I/DEBUG ( 33): b0004678 95004840 44784a40 4d414b40 447b447a >> > @H.. at JxD at KAMzD{D >> > I/DEBUG ( 33): b0004688 682d447d f44f9103 95017140 f0009402 >> > }D-h..O. at q...... >> > I/DEBUG ( 33): b0004698 f8d4ff67 b10330f0 f8d44798 b17000e0 >> > g....0...G....p. >> > I/DEBUG ( 33): b00046a8 10e4f8d4 f7ff2200 2000f9b5 f8d4e007 >> > ....."..... .... >> > I/DEBUG ( 33): b00046b8 f04f20a8 f04230ff f8c40102 b00710a8 . >> > O..0B......... >> > I/DEBUG ( 33): >> > I/DEBUG ( 33): code around lr: >> > I/DEBUG ( 33): 4003c490 f240b507 9300736c 33fff04f 466b9301 >> > .. at .ls..O..3..kF >> > I/DEBUG ( 33): 4003c4a0 fd80f7ff bf00bd0e 4604b510 fe90f7ec >> > ...........F.... >> > I/DEBUG ( 33): 4003c4b0 f04f6004 bd1030ff 0ffff110 db02b510 >> > .`O..0.......... >> > I/DEBUG ( 33): 4003c4c0 f7ff4240 bd10fff1 48214603 4478b5f0 >> > @B.......F!H..xD >> > I/DEBUG ( 33): 4003c4d0 b0976800 68022150 4620ac01 92154e1d >> > .h..P!.h.. F.N.. >> > I/DEBUG ( 33): >> > I/DEBUG ( 33): stack: >> > I/DEBUG ( 33): beef7c20 00000000 >> > I/DEBUG ( 33): beef7c24 4003c4c7 /system/lib/libc.so >> > I/DEBUG ( 33): beef7c28 00000000 >> > I/DEBUG ( 33): beef7c2c 4002f477 /system/lib/libc.so >> > I/DEBUG ( 33): beef7c30 b00144c4 >> > I/DEBUG ( 33): beef7c34 00000000 >> > I/DEBUG ( 33): beef7c38 10000000 >> > I/DEBUG ( 33): beef7c3c 00000000 >> > I/DEBUG ( 33): beef7c40 00000000 >> > I/DEBUG ( 33): beef7c44 4002f49b /system/lib/libc.so >> > I/DEBUG ( 33): beef7c48 00000000 >> > I/DEBUG ( 33): beef7c4c 0000c090 >> > /data/local/pjsua-arm-unknown-linux-androideabi >> > I/DEBUG ( 33): beef7c50 b00144c4 >> > I/DEBUG ( 33): beef7c54 0000c070 >> > /data/local/pjsua-arm-unknown-linux-androideabi >> > I/DEBUG ( 33): beef7c58 df0027ad >> > I/DEBUG ( 33): beef7c5c 00000000 >> > I/DEBUG ( 33): #01 beef7c60 00000001 >> > I/DEBUG ( 33): beef7c64 beef7d47 [stack] >> > I/DEBUG ( 33): beef7c68 00000000 >> > I/DEBUG ( 33): beef7c6c beef7d6d [stack] >> > I/DEBUG ( 33): beef7c70 beef7d82 [stack] >> > I/DEBUG ( 33): beef7c74 beef7d92 [stack] >> > I/DEBUG ( 33): beef7c78 beef7dba [stack] >> > I/DEBUG ( 33): beef7c7c beef7df7 [stack] >> > I/DEBUG ( 33): beef7c80 beef7e10 [stack] >> > I/DEBUG ( 33): beef7c84 beef7e2a [stack] >> > I/DEBUG ( 33): beef7c88 beef7f55 [stack] >> > I/DEBUG ( 33): beef7c8c beef7f68 [stack] >> > I/DEBUG ( 33): beef7c90 beef7f83 [stack] >> > I/DEBUG ( 33): beef7c94 beef7fa0 [stack] >> > I/DEBUG ( 33): beef7c98 beef7fb3 [stack] >> > I/DEBUG ( 33): beef7c9c 00000000 >> > I/DEBUG ( 33): beef7ca0 00000010 >> > I/DEBUG ( 33): beef7ca4 000030d7 >> > >> > M.P. >> >> _______________________________________________ >> Visit our blog: http://blog.pjsip.org >> >> pjsip mailing list >> pjsip at lists.pjsip.org >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >>