Using pjsua for android

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I used pjproject 1.14.2 release version, not that branch. Did you try
pjlib-test and pjmedia-test before run pjsua?

regardsm
Gang

On Thu, Jul 26, 2012 at 9:16 PM, Monty Python
<pythonexperiment at gmail.com> wrote:
> Gang,
>          I finally rooted my device, I tried again to execute pjsua,
> but a new kind of error appeared (SEGV_ACCERR).
>
> I/DEBUG   (  102): *** *** *** *** *** *** *** *** *** *** *** *** ***
> *** *** ***
> I/DEBUG   (  102): Build fingerprint:
> 'Quanta/OP110_it/OP110:3.1/HMJ37/eng.20110712.152508:user/release-keys'
> I/DEBUG   (  102): pid: 2092, tid: 2092  >>> ./pjsugo <<<
> I/DEBUG   (  102): signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault
> addr beee8fd0
> I/DEBUG   (  102):  r0 00000000  r1 beee8c60  r2 beee8c60  r3 ffffffff
> I/DEBUG   (  102):  r4 beee8e0b  r5 beee8e24  r6 beee8e3e  r7 beee8f4a
> I/DEBUG   (  102):  r8 beee8f5d  r9 beee8f85  10 beee8fa0  fp beee8fbd
> I/DEBUG   (  102):  ip aff247a5  sp beee8cd0  lr aff2479d  pc beee8fd0
>  cpsr 40000010
> I/DEBUG   (  102):  d0  00000000bd6bc8e3  d1  0000000000000000
> I/DEBUG   (  102):  d2  0000000000000000  d3  0000000000000000
> I/DEBUG   (  102):  d4  0000000000000000  d5  41855ed310000000
> I/DEBUG   (  102):  d6  3f50624dd2f1a9fc  d7  c18af96767a7b7d0
> I/DEBUG   (  102):  d8  0000000000000000  d9  0000000000000000
> I/DEBUG   (  102):  d10 0000000000000000  d11 0000000000000000
> I/DEBUG   (  102):  d12 0000000000000000  d13 0000000000000000
> I/DEBUG   (  102):  d14 0000000000000000  d15 0000000000000000
> I/DEBUG   (  102):  scr 00000010
> I/DEBUG   (  102):
> I/DEBUG   (  102):          #00  pc beee8fd0
> I/DEBUG   (  102):          #01  pc 00024798  /system/lib/libc.so (__set_errno)
> I/DEBUG   (  102):
> I/DEBUG   (  102): libc base address: aff00000
> I/DEBUG   (  102):
> I/DEBUG   (  102): code around pc:
> I/DEBUG   (  102): beee8fb0 6e6d2f3d 64732f74 64726163 444e4100
> I/DEBUG   (  102): beee8fc0 44494f52 5441445f 642f3d41 00617461
> I/DEBUG   (  102): beee8fd0 52444e41 5f44494f 504f5250 59545245
> I/DEBUG   (  102): beee8fe0 524f575f 4150534b 383d4543 3732332c
> I/DEBUG   (  102): beee8ff0 2e003836 736a702f 006f6775 00000000
> I/DEBUG   (  102):
> I/DEBUG   (  102): code around lr:
> I/DEBUG   (  102): aff2477c f240b507 9300736c 33fff04f 466b9301
> I/DEBUG   (  102): aff2478c fd80f7ff bf00bd0e 4604b510 fac8f7ed
> I/DEBUG   (  102): aff2479c f04f6004 bd1030ff 0ffff110 db02b510
> I/DEBUG   (  102): aff247ac f7ff4240 bd10fff1 48214603 4478b5f0
> I/DEBUG   (  102): aff247bc b0976800 68022150 4620ac01 92154e1d
> I/DEBUG   (  102):
> I/DEBUG   (  102): stack:
> I/DEBUG   (  102):     beee8c90  00000001
> I/DEBUG   (  102):     beee8c94  beee8d78
> I/DEBUG   (  102):     beee8c98  00000000
> I/DEBUG   (  102):     beee8c9c  beee8d81
> I/DEBUG   (  102):     beee8ca0  beee8d96
> I/DEBUG   (  102):     beee8ca4  beee8da6
> I/DEBUG   (  102):     beee8ca8  beee8dce
> I/DEBUG   (  102):     beee8cac  beee8e0b
> I/DEBUG   (  102):     beee8cb0  beee8e24
> I/DEBUG   (  102):     beee8cb4  beee8e3e
> I/DEBUG   (  102):     beee8cb8  beee8f4a
> I/DEBUG   (  102):     beee8cbc  beee8f5d
> I/DEBUG   (  102):     beee8cc0  beee8f85
> I/DEBUG   (  102):     beee8cc4  beee8fa0
> I/DEBUG   (  102):     beee8cc8  df002777
> I/DEBUG   (  102):     beee8ccc  e3a070ad
> I/DEBUG   (  102): #01 beee8cd0  00000000
> I/DEBUG   (  102):     beee8cd4  00000010
> I/DEBUG   (  102):     beee8cd8  0000e0d7  /data/local/pjsugo
> I/DEBUG   (  102):     beee8cdc  00000006
> I/DEBUG   (  102):     beee8ce0  00001000
> I/DEBUG   (  102):     beee8ce4  00000011
> I/DEBUG   (  102):     beee8ce8  00000064
> I/DEBUG   (  102):     beee8cec  00000003
> I/DEBUG   (  102):     beee8cf0  00008034  /data/local/pjsugo
> I/DEBUG   (  102):     beee8cf4  00000004
> I/DEBUG   (  102):     beee8cf8  00000020
> I/DEBUG   (  102):     beee8cfc  00000005
> I/DEBUG   (  102):     beee8d00  00000008
> I/DEBUG   (  102):     beee8d04  00000007
> I/DEBUG   (  102):     beee8d08  00000000
> I/DEBUG   (  102):     beee8d0c  00000008
> I/DEBUG   (  102):     beee8d10  00000000
> I/DEBUG   (  102):     beee8d14  00000009
>
> I must say that I've tried to use the latest version of pjsua for the
> given branch, but at compile time it gives me the following error.
>
> /home/myfolder/android-ndk-r8b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc
> -c -Wall -DPJ_AUTOCONF=1
> -I/home/myfolder/android-ndk-r8b/platforms/android-9/arch-arm/usr/include
> -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1
> -I/home/myfolder/android-c/last-try/third_party/build/speex
> -I/home/myfolder/android-c/last-try/third_party/speex/include
> -DPJMEDIA_HAS_OPENCORE_AMRNB_CODEC=0 -DPJMEDIA_AUDIO_DEV_HAS_WMME=0
> -I../include -I../../pjlib/include -I../../pjlib-util/include
> -I../../pjmedia/include -I../../pjnath/include -I../..
> -I/home/myfolder/android-c/last-try/third_party/build/srtp
> -I/home/myfolder/android-c/last-try/third_party/srtp/crypto/include
> -I/home/myfolder/android-c/last-try/third_party/srtp/include  \
>                 -o output/pjmedia-audiodev-arm-unknown-linux-androideabi/errno.o \
>                 ../src/pjmedia-audiodev/errno.c
> ../src/pjmedia-audiodev/errno.c:23:26: error: portaudio.h: No such
> file or directory
> ../src/pjmedia-audiodev/errno.c: In function 'pjmedia_audiodev_strerror':
> ../src/pjmedia-audiodev/errno.c:104: warning: implicit declaration of
> function 'Pa_GetErrorText'
>
> Could you please tell me which version of the branch you are using?
> Thanks again for your tip.
>
>
> On Thu, Jul 26, 2012 at 5:05 AM, Gang Liu <gangban.lau at gmail.com> wrote:
>> monty,
>>          maybe I could give you my two cents.
>> I was able to run pjlib-test/pjmedia-test/pjsua at rooted SAMSUNG devices.
>> I used NDK standalone  toolchain and follow pjsip cross
>> compile/building style (configure/make dep/make).It only spent
>> me several hours to let this done (without sound device backend) and
>> that was my first attemp for android OS.
>> Port pjproject to android is very easy because pjlib already does so many.
>>          And then you could use native activity and write OpenSLES driver.
>>
>> regards,
>> Gang
>>
>> On Thu, Jul 26, 2012 at 3:00 AM, Monty Python
>> <pythonexperiment at gmail.com> wrote:
>>> @RMontoya,  I didn't notice...
>>> @atik yes, it compiles, and it runs. The application by the way closes
>>> shortly after the execution (Android-7 Real device) -.-
>>>
>>> Thanks to all... By the way, as I said, my aim is to try to compile
>>> and run pjsua in C language... in tha apjsua (inside the swig folder)
>>> i see less code than the one provided by the pjsua origianl
>>> application, bui I could be mistaken.
>>>
>>> On Wed, Jul 25, 2012 at 7:06 PM, atik <atik.khan at gmail.com> wrote:
>>>> Have you try to import apjsua sample apps to eclipse?
>>>>
>>>> its working fine with me from eclipse..
>>>>
>>>> Regards
>>>> Atik
>>>>
>>>>
>>>> On Thu, Jul 26, 2012 at 12:43 AM, Monty Python <pythonexperiment at gmail.com>
>>>> wrote:
>>>>>
>>>>> > What is your exact use case? Normally in android you should not need to
>>>>> > deploy applications by other (complicated from user point of view)
>>>>> > means.
>>>>> Well, as I said before, I started compiling the source code given here:
>>>>>
>>>>> http://svn.pjsip.org/repos/pjproject/branches/projects/android/
>>>>>
>>>>> I must say that this branch doesn't provide any kind of .apk, so I
>>>>> thought that I could directly execute the application
>>>>> /pjsip-apps/src/pjsua. The make-file will output the binary (not the
>>>>> .apk, though) in /pjsip-apps/bin. I must say that I've tried that
>>>>> application on an Android Emulator, on an Android Rooted Emulator and
>>>>> on a real device that hasn't been rooted yet (ie. cannot perform
>>>>> strace etc.)... Maybe i'll try to root it.
>>>>>
>>>>> Now, I've taken a look at android-ndk-r8b samples, and I've seen that
>>>>> some "native-samples", such as native-activity, doesn't have to carry
>>>>> any kind of .java code, even if they still have AndroidManifest.xml,
>>>>> Android.mk, Applications.mk, which are missing on the
>>>>> http://svn.pjsip.org/repos/pjproject/branches/projects/android/
>>>>> original source code... Maybe I should recreate the same "file
>>>>> architecture" on the official version?
>>>>>
>>>>> > BTW, this said, the problem is maybe somewhere else.
>>>>> I sincerely hope so...
>>>>>
>>>>>   M.P.
>>>>>
>>>>>
>>>>> On Wed, Jul 25, 2012 at 6:02 PM, R?gis Montoya <r3gis.3r at gmail.com> wrote:
>>>>> >
>>>>> > Hi,
>>>>> >
>>>>> > CSipSimple supports two backends for audio. One is the OpenSLES one
>>>>> > (this
>>>>> > one has been integrated and probably improved in pjsip android branch)
>>>>> > and
>>>>> > the other is the Java-JNI implementation.
>>>>> > OpenSLES is only valid from 2.3 and is my default setting from android
>>>>> > 3.0
>>>>> > (because some manufacturers did crappy things). The jni implementation
>>>>> > is
>>>>> > used from android 1.6.
>>>>> >
>>>>> > If you dive in Android source code you'll see that both OpenSL-ES and
>>>>> > Java
>>>>> > api relies on the same thing so in terms of performance what you win is
>>>>> > the
>>>>> > garbage collection cycles and the fact there is no conversion to java
>>>>> > arrays
>>>>> > (which doesn't have such a big impact). Other benefit of OpenSLES is
>>>>> > that it
>>>>> > doesn't needs to keep a reference on the dalvik jvm and can be managed
>>>>> > directly in C independently of context.
>>>>> > If you want to try both options in CSipSimple, you can check the
>>>>> > difference
>>>>> > by changing a simple option.
>>>>> > As OpenSLES (for now) rely on android media server, you are still
>>>>> > constrained by same things than a regular app.
>>>>> > Google engineers announced that they will rework libwilhelm (the one
>>>>> > that
>>>>> > implements opensl-es api) to use lower api libraries (such as
>>>>> > libstagefright), but that's not yet the case, even in source code of
>>>>> > 4.1...
>>>>> > So we are waiting for real time audio...
>>>>> >
>>>>> > In terms of permission you are constrained to the same things than
>>>>> > someone
>>>>> > using the android audio server from a java app. Besides, normally even
>>>>> > at
>>>>> > lower layer they will take care to not open a door to apps. It's
>>>>> > probably
>>>>> > very easy to do by allowing rights to open audio device only to members
>>>>> > of
>>>>> > one group.
>>>>> >
>>>>> > Normally strictly talking about unix permission it should not be a
>>>>> > problem
>>>>> > since you are root when running your binary. However... I'm not fully
>>>>> > sure
>>>>> > that the android media server doesn't takes an exclusive lock on
>>>>> > libstagefright. In which case your app running as binary would not be
>>>>> > allowed to do anything. That's just an idea, as I said in my first mail
>>>>> > I
>>>>> > never tried that because it doesn't make many sense to have a pure
>>>>> > binary
>>>>> > app.
>>>>> > The correct way to have a non platform app on android is to run it from
>>>>> > an
>>>>> > android application. And android application are apk. Apk are in charge
>>>>> > to
>>>>> > declare many things including permissions. And these permissions will
>>>>> > indeed
>>>>> > be applied to the sandboxed user.
>>>>> >
>>>>> > What you could do however, if you really want to go the way of the
>>>>> > binary,
>>>>> > is to package your binary inside your apk and to call it from a very
>>>>> > simple
>>>>> > java app with an execute.
>>>>> >
>>>>> > What is your exact use case? Normally in android you should not need to
>>>>> > deploy applications by other (complicated from user point of view)
>>>>> > means.
>>>>> >
>>>>> > BTW, this said, the problem is maybe somewhere else. I'll test soon
>>>>> > apjsua
>>>>> > so if I encounter same problem maybe I'll be able to provide more
>>>>> > feedback
>>>>> > :).
>>>>> >
>>>>> >
>>>>> > On 25/07/2012 17:07, Monty Python wrote:
>>>>> >>
>>>>> >> 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
>>>>> >>>>
>>>>> >> _______________________________________________
>>>>> >> 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
>>>>> >
>>>>> >
>>>>> >
>>>>> > _______________________________________________
>>>>> > 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
>>>>>
>>>>> _______________________________________________
>>>>> 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
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>>>
>>>
>>> _______________________________________________
>>> 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
>>
>> _______________________________________________
>> 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
>
> _______________________________________________
> 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



[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux