Resampling gives segmentation fault (ARM9)

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

 



I am experimenting with pjsip/pjsua on an ARM9 platform and am getting
segmentation fault whenever I use resampling (eg. when running
"resampleplay" in the "samples" directory). Everything else seems to
work fine (eg. "playfile" etc.). I'm using alsa-lib-1.0.24.1 and
building pjsip using the flags

export ALSALIB="${HOME}/alsa-lib-1.0.24.1"
export CFLAGS="-mcpu=arm926ej-s -msoft-float -fomit-frame-pointer
-pipe -O2 -I${ALSALIB}/include"
export CPPFLAGS="-mcpu=arm926ej-s -msoft-float -fomit-frame-pointer
-pipe -O2 -I${ALSALIB}/include"
export LDFLAGS="-L${ALSALIB}/src/.libs/"

Running resampleplay with loglevel 6 gives the following output (sorry
for massive log)

#./resampleplay speech.wav
 02:00:31.344        critsec  Mutex created
 02:00:31.347        critsec  Mutex: thread thr0x4001f390 is waiting
(mutex owner=)
 02:00:31.348        critsec  Mutex acquired by thread thr0x4001f390 (level=1)
 02:00:31.348        critsec  Mutex released by thread thr0x4001f390 (level=0)
 02:00:31.348        critsec  Mutex: thread thr0x4001f390 is waiting
(mutex owner=)
 02:00:31.348        critsec  Mutex acquired by thread thr0x4001f390 (level=1)
 02:00:31.349        critsec  Mutex released by thread thr0x4001f390 (level=0)
 02:00:31.349 os_core_unix.c  pjlib 1.10.0 for POSIX initialized
 02:00:31.349    cachingpool  pool created, size=256
 02:00:31.350    cachingpool  Mutex created
 02:00:31.350    cachingpool  Mutex: thread thr0x4001f390 is waiting
(mutex owner=)
 02:00:31.350    cachingpool  Mutex acquired by thread thr0x4001f390 (level=1)
 02:00:31.350        med-ept  pool created, size=512
 02:00:31.351    cachingpool  Mutex released by thread thr0x4001f390 (level=0)
 02:00:31.351        med-ept  2300 bytes requested, resizing pool by
2560 bytes (used=100, cap=512)
 02:00:31.351        med-ept  create_block(sz=2560), cur.cap=512, cur.used=100
 02:00:31.351        med-ept   block created, buffer=0x6a244-0x6ac30
 02:00:31.351    cachingpool  Mutex: thread thr0x4001f390 is waiting
(mutex owner=)
 02:00:31.351    cachingpool  Mutex acquired by thread thr0x4001f390 (level=1)
 02:00:31.352  alsa_aud_base  pool created, size=256
 02:00:31.352    cachingpool  Mutex released by thread thr0x4001f390 (level=0)
 02:00:31.352  alsa_aud_base  3480 bytes requested, resizing pool by
3584 bytes (used=100, cap=256)
 02:00:31.352  alsa_aud_base  create_block(sz=3584), cur.cap=256, cur.used=100
 02:00:31.353  alsa_aud_base   block created, buffer=0x6ad54-0x6bb40
 02:00:31.353    cachingpool  Mutex: thread thr0x4001f390 is waiting
(mutex owner=)
 02:00:31.353    cachingpool  Mutex acquired by thread thr0x4001f390 (level=1)
 02:00:31.353       alsa_aud  pool created, size=256
 02:00:31.353    cachingpool  Mutex released by thread thr0x4001f390 (level=0)
 02:00:31.787     alsa_dev.c  Added sound device default:CARD=EVM
 02:00:31.788     alsa_dev.c  ALSA driver found 1 devices
 02:00:31.788     alsa_dev.c  ALSA initialized
 02:00:31.789    cachingpool  Mutex: thread thr0x4001f390 is waiting
(mutex owner=)
 02:00:31.789    cachingpool  Mutex acquired by thread thr0x4001f390 (level=1)
 02:00:31.789      portaudio  pool created, size=256
 02:00:31.789    cachingpool  Mutex released by thread thr0x4001f390 (level=0)
 02:00:31.947       pa_dev.c  PortAudio sound library initialized, status=0
 02:00:31.947       pa_dev.c  PortAudio host api count=2
 02:00:31.947       pa_dev.c  Sound device count=3
 02:00:31.947    cachingpool  Mutex: thread thr0x4001f390 is waiting
(mutex owner=)
 02:00:31.948    cachingpool  Mutex acquired by thread thr0x4001f390 (level=1)
 02:00:31.948      codec-mgr  pool created, size=256
 02:00:31.949    cachingpool  Mutex released by thread thr0x4001f390 (level=0)
 02:00:31.950      codec-mgr  Mutex created
 02:00:31.950        med-ept  1396 bytes requested, resizing pool by
1536 bytes (used=2420, cap=3072)
 02:00:31.950        med-ept  create_block(sz=1536), cur.cap=3072, cur.used=2420
 02:00:31.950        med-ept   block created, buffer=0x7a2e4-0x7a8d0
 02:00:31.950     mtx0x7a858  Mutex created
 02:00:31.951     mtx0x6a08c  Mutex created
 02:00:31.951     mtx0x6a1a4  Mutex created
 02:00:31.951        med-ept  184 bytes requested, resizing pool by
512 bytes (used=4492, cap=4608)
 02:00:31.951        med-ept  create_block(sz=512), cur.cap=4608, cur.used=4492
 02:00:31.951        med-ept   block created, buffer=0x6c40c-0x6c5f8
 02:00:31.951     mtx0x6c4c4  Mutex created
 02:00:31.952        med-ept  96 bytes requested, resizing pool by 512
bytes (used=4976, cap=5120)
 02:00:31.952        med-ept  create_block(sz=512), cur.cap=5120, cur.used=4976
 02:00:31.952        med-ept   block created, buffer=0x7b6e4-0x7b8d0
 02:00:31.952     mtx0x7b6e4  Mutex created
 02:00:31.952     mtx0x7b7fc  Mutex created
 02:00:31.952        med-ept  184 bytes requested, resizing pool by
512 bytes (used=5372, cap=5632)
 02:00:31.953        med-ept  create_block(sz=512), cur.cap=5632, cur.used=5372
 02:00:31.953        med-ept   block created, buffer=0x7bec4-0x7c0b0
 02:00:31.953     mtx0x7bf7c  Mutex created
 02:00:31.953     mtx0x7b85c  Mutex created
 02:00:31.953        med-ept  184 bytes requested, resizing pool by
512 bytes (used=5952, cap=6144)
 02:00:31.953        med-ept  create_block(sz=512), cur.cap=6144, cur.used=5952
 02:00:31.953        med-ept   block created, buffer=0x7a8ec-0x7aad8
 02:00:31.954     mtx0x7a9a4  Mutex created
 02:00:31.954        med-ept  96 bytes requested, resizing pool by 512
bytes (used=6436, cap=6656)
 02:00:31.954        med-ept  create_block(sz=512), cur.cap=6656, cur.used=6436
 02:00:31.954        med-ept   block created, buffer=0x7aaf4-0x7ace0
 02:00:31.954     mtx0x7aaf4  Mutex created
 02:00:31.954     mtx0x7ac0c  Mutex created
 02:00:31.955        med-ept  184 bytes requested, resizing pool by
512 bytes (used=6832, cap=7168)
 02:00:31.955        med-ept  create_block(sz=512), cur.cap=7168, cur.used=6832
 02:00:31.955        med-ept   block created, buffer=0x7acfc-0x7aee8
 02:00:31.955     mtx0x7adb4  Mutex created
 02:00:31.955     mtx0x7ac6c  Mutex created
 02:00:31.955        med-ept  184 bytes requested, resizing pool by
512 bytes (used=7412, cap=7680)
 02:00:31.956        med-ept  create_block(sz=512), cur.cap=7680, cur.used=7412
 02:00:31.956        med-ept   block created, buffer=0x7db1c-0x7dd08
 02:00:31.956     mtx0x7dbd4  Mutex created
 02:00:31.956        med-ept  96 bytes requested, resizing pool by 512
bytes (used=7896, cap=8192)
 02:00:31.956        med-ept  create_block(sz=512), cur.cap=8192, cur.used=7896
 02:00:31.956        med-ept   block created, buffer=0x7dd24-0x7df10
 02:00:31.957     mtx0x7dd24  Mutex created
 02:00:31.957     mtx0x7de3c  Mutex created
 02:00:31.957        med-ept  184 bytes requested, resizing pool by
512 bytes (used=8292, cap=8704)
 02:00:31.957        med-ept  create_block(sz=512), cur.cap=8704, cur.used=8292
 02:00:31.957        med-ept   block created, buffer=0x7df2c-0x7e118
 02:00:31.957     mtx0x7dfe4  Mutex created
 02:00:31.958     mtx0x7de9c  Mutex created
 02:00:31.958        med-ept  184 bytes requested, resizing pool by
512 bytes (used=8872, cap=9216)
 02:00:31.958        med-ept  create_block(sz=512), cur.cap=9216, cur.used=8872
 02:00:31.958        med-ept   block created, buffer=0x7e134-0x7e320
 02:00:31.959     mtx0x7e1ec  Mutex created
 02:00:31.959        med-ept  96 bytes requested, resizing pool by 512
bytes (used=9356, cap=9728)
 02:00:32.290        med-ept  create_block(sz=512), cur.cap=9728, cur.used=9356
 02:00:32.290        med-ept   block created, buffer=0x7e33c-0x7e528
 02:00:32.290     mtx0x7e33c  Mutex created
 02:00:32.290     mtx0x7e454  Mutex created
 02:00:32.290        med-ept  184 bytes requested, resizing pool by
512 bytes (used=9752, cap=10240)
 02:00:32.291        med-ept  create_block(sz=512), cur.cap=10240, cur.used=9752
 02:00:32.291        med-ept   block created, buffer=0x7e544-0x7e730
 02:00:32.291     mtx0x7e5fc  Mutex created
 02:00:32.291     mtx0x7e4b4  Mutex created
 02:00:32.291        med-ept  184 bytes requested, resizing pool by
512 bytes (used=10332, cap=10752)
 02:00:32.292        med-ept  create_block(sz=512), cur.cap=10752,
cur.used=10332
 02:00:32.292        med-ept   block created, buffer=0x7e74c-0x7e938
 02:00:32.292     mtx0x7e804  Mutex created
 02:00:32.292        med-ept  96 bytes requested, resizing pool by 512
bytes (used=10816, cap=11264)
 02:00:32.292        med-ept  create_block(sz=512), cur.cap=11264,
cur.used=10816
 02:00:32.292        med-ept   block created, buffer=0x7e954-0x7eb40
 02:00:32.293     mtx0x7e954  Mutex created
 02:00:32.293     mtx0x7ea6c  Mutex created
 02:00:32.293        med-ept  184 bytes requested, resizing pool by
512 bytes (used=11212, cap=11776)
 02:00:32.293        med-ept  create_block(sz=512), cur.cap=11776,
cur.used=11212
 02:00:32.293        med-ept   block created, buffer=0x7eb5c-0x7ed48
 02:00:32.293     mtx0x7ec14  Mutex created
 02:00:32.293     mtx0x7eacc  Mutex created
 02:00:32.294        med-ept  184 bytes requested, resizing pool by
512 bytes (used=11792, cap=12288)
 02:00:32.294        med-ept  create_block(sz=512), cur.cap=12288,
cur.used=11792
 02:00:32.294        med-ept   block created, buffer=0x7ed64-0x7ef50
 02:00:32.294     mtx0x7ee1c  Mutex created
 02:00:32.294        med-ept  96 bytes requested, resizing pool by 512
bytes (used=12276, cap=12800)
 02:00:32.294        med-ept  create_block(sz=512), cur.cap=12800,
cur.used=12276
 02:00:32.295        med-ept   block created, buffer=0x7ef6c-0x7f158
 02:00:32.295     mtx0x7ef6c  Mutex created
 02:00:32.295     mtx0x7f084  Mutex created
 02:00:32.295        med-ept  184 bytes requested, resizing pool by
512 bytes (used=12672, cap=13312)
 02:00:32.295        med-ept  create_block(sz=512), cur.cap=13312,
cur.used=12672
 02:00:32.296        med-ept   block created, buffer=0x7f174-0x7f360
 02:00:32.296     mtx0x7f22c  Mutex created
 02:00:32.296     mtx0x7f0e4  Mutex created
 02:00:32.296        med-ept  184 bytes requested, resizing pool by
512 bytes (used=13252, cap=13824)
 02:00:32.296        med-ept  create_block(sz=512), cur.cap=13824,
cur.used=13252
 02:00:32.296        med-ept   block created, buffer=0x7f37c-0x7f568
 02:00:32.297     mtx0x7f434  Mutex created
 02:00:32.297        med-ept  96 bytes requested, resizing pool by 512
bytes (used=13736, cap=14336)
 02:00:32.297        med-ept  create_block(sz=512), cur.cap=14336,
cur.used=13736
 02:00:32.297        med-ept   block created, buffer=0x7f584-0x7f770
 02:00:32.297     mtx0x7f584  Mutex created
 02:00:32.297     mtx0x7f69c  Mutex created
 02:00:32.298        med-ept  184 bytes requested, resizing pool by
512 bytes (used=14132, cap=14848)
 02:00:32.298        med-ept  create_block(sz=512), cur.cap=14848,
cur.used=14132
 02:00:32.298        med-ept   block created, buffer=0x7f78c-0x7f978
 02:00:32.298     mtx0x7f844  Mutex created
 02:00:32.298     mtx0x7f6fc  Mutex created
 02:00:32.299        med-ept  184 bytes requested, resizing pool by
512 bytes (used=14712, cap=15360)
 02:00:32.299        med-ept  create_block(sz=512), cur.cap=15360,
cur.used=14712
 02:00:32.299        med-ept   block created, buffer=0x7f994-0x7fb80
 02:00:32.299     mtx0x7fa4c  Mutex created
 02:00:32.299        med-ept  96 bytes requested, resizing pool by 512
bytes (used=15196, cap=15872)
 02:00:32.631        med-ept  create_block(sz=512), cur.cap=15872,
cur.used=15196
 02:00:32.631        med-ept   block created, buffer=0x7fb9c-0x7fd88
 02:00:32.632     mtx0x7fb9c  Mutex created
 02:00:32.632     mtx0x7fcb4  Mutex created
 02:00:32.632        med-ept  184 bytes requested, resizing pool by
512 bytes (used=15592, cap=16384)
 02:00:32.632        med-ept  create_block(sz=512), cur.cap=16384,
cur.used=15592
 02:00:32.632        med-ept   block created, buffer=0x7fda4-0x7ff90
 02:00:32.632     mtx0x7fe5c  Mutex created
 02:00:32.633     mtx0x7fd14  Mutex created
 02:00:32.633        med-ept  184 bytes requested, resizing pool by
512 bytes (used=16172, cap=16896)
 02:00:32.633        med-ept  create_block(sz=512), cur.cap=16896,
cur.used=16172
 02:00:32.633        med-ept   block created, buffer=0x7ffac-0x80198
 02:00:32.633     mtx0x80064  Mutex created
 02:00:32.633        med-ept  96 bytes requested, resizing pool by 512
bytes (used=16656, cap=17408)
 02:00:32.634        med-ept  create_block(sz=512), cur.cap=17408,
cur.used=16656
 02:00:32.634        med-ept   block created, buffer=0x801b4-0x803a0
 02:00:32.634     mtx0x801b4  Mutex created
 02:00:32.634     mtx0x802cc  Mutex created
 02:00:32.634        med-ept  184 bytes requested, resizing pool by
512 bytes (used=17052, cap=17920)
 02:00:32.635        med-ept  create_block(sz=512), cur.cap=17920,
cur.used=17052
 02:00:32.635        med-ept   block created, buffer=0x803bc-0x805a8
 02:00:32.635     mtx0x80474  Mutex created
 02:00:32.635     mtx0x8032c  Mutex created
 02:00:32.635        med-ept  184 bytes requested, resizing pool by
512 bytes (used=17632, cap=18432)
 02:00:32.635        med-ept  create_block(sz=512), cur.cap=18432,
cur.used=17632
 02:00:32.636        med-ept   block created, buffer=0x805c4-0x807b0
 02:00:32.636     mtx0x8067c  Mutex created
 02:00:32.636        med-ept  96 bytes requested, resizing pool by 512
bytes (used=18116, cap=18944)
 02:00:32.636        med-ept  create_block(sz=512), cur.cap=18944,
cur.used=18116
 02:00:32.636        med-ept   block created, buffer=0x807cc-0x809b8
 02:00:32.636     mtx0x807cc  Mutex created
 02:00:32.637     mtx0x808e4  Mutex created
 02:00:32.637        med-ept  184 bytes requested, resizing pool by
512 bytes (used=18512, cap=19456)
 02:00:32.637        med-ept  create_block(sz=512), cur.cap=19456,
cur.used=18512
 02:00:32.637        med-ept   block created, buffer=0x809d4-0x80bc0
 02:00:32.637     mtx0x80a8c  Mutex created
 02:00:32.637     mtx0x80944  Mutex created
 02:00:32.638        med-ept  184 bytes requested, resizing pool by
512 bytes (used=19092, cap=19968)
 02:00:32.638        med-ept  create_block(sz=512), cur.cap=19968,
cur.used=19092
 02:00:32.638        med-ept   block created, buffer=0x80bdc-0x80dc8
 02:00:32.638     mtx0x80c94  Mutex created
 02:00:32.638        med-ept  96 bytes requested, resizing pool by 512
bytes (used=19576, cap=20480)
 02:00:32.639        med-ept  create_block(sz=512), cur.cap=20480,
cur.used=19576
 02:00:32.639        med-ept   block created, buffer=0x80de4-0x80fd0
 02:00:32.639     mtx0x80de4  Mutex created
 02:00:32.639     mtx0x80efc  Mutex created
 02:00:32.639        med-ept  184 bytes requested, resizing pool by
512 bytes (used=19972, cap=20992)
 02:00:32.639        med-ept  create_block(sz=512), cur.cap=20992,
cur.used=19972
 02:00:32.640        med-ept   block created, buffer=0x80fec-0x811d8
 02:00:32.640     mtx0x810a4  Mutex created
 02:00:32.640     mtx0x80f5c  Mutex created
 02:00:32.640        med-ept  184 bytes requested, resizing pool by
512 bytes (used=20552, cap=21504)
 02:00:32.640        med-ept  create_block(sz=512), cur.cap=21504,
cur.used=20552
 02:00:32.640        med-ept   block created, buffer=0x811f4-0x813e0
 02:00:32.641     mtx0x812ac  Mutex created
 02:00:32.641        med-ept  96 bytes requested, resizing pool by 512
bytes (used=21036, cap=22016)
 02:00:32.973        med-ept  create_block(sz=512), cur.cap=22016,
cur.used=21036
 02:00:32.973        med-ept   block created, buffer=0x813fc-0x815e8
 02:00:32.973     mtx0x813fc  Mutex created
 02:00:32.973     mtx0x81514  Mutex created
 02:00:32.973        med-ept  184 bytes requested, resizing pool by
512 bytes (used=21432, cap=22528)
 02:00:32.974        med-ept  create_block(sz=512), cur.cap=22528,
cur.used=21432
 02:00:32.974        med-ept   block created, buffer=0x81604-0x817f0
 02:00:32.974     mtx0x816bc  Mutex created
 02:00:32.974     mtx0x81574  Mutex created
 02:00:32.974        med-ept  184 bytes requested, resizing pool by
512 bytes (used=22012, cap=23040)
 02:00:32.974        med-ept  create_block(sz=512), cur.cap=23040,
cur.used=22012
 02:00:32.975        med-ept   block created, buffer=0x8180c-0x819f8
 02:00:32.975     mtx0x818c4  Mutex created
 02:00:32.975        med-ept  96 bytes requested, resizing pool by 512
bytes (used=22496, cap=23552)
 02:00:32.975        med-ept  create_block(sz=512), cur.cap=23552,
cur.used=22496
 02:00:32.975        med-ept   block created, buffer=0x81a14-0x81c00
 02:00:32.975     mtx0x81a14  Mutex created
 02:00:32.976     ioq0x81a88  Mutex created
 02:00:32.976          pjlib  select() I/O Queue created (0x7a2e4)
 02:00:32.977          media  Thread created
 02:00:32.977    cachingpool  Mutex: thread thr0x4001f390 is waiting
(mutex owner=)
 02:00:32.977    cachingpool  Mutex acquired by thread thr0x4001f390 (level=1)
 02:00:32.977            app  pool created, size=4096
 02:00:32.978    cachingpool  Mutex released by thread thr0x4001f390 (level=0)
 02:00:32.978          media  Thread started
 02:00:32.979     ioq0x81a88  Mutex: thread media is waiting (mutex owner=)
 02:00:32.979     ioq0x81a88  Mutex acquired by thread media (level=1)
 02:00:32.979     ioq0x81a88  Mutex released by thread media (level=0)
 02:00:32.984            app  4000 bytes requested, resizing pool by
8000 bytes (used=272, cap=4096)
 02:00:32.984            app  create_block(sz=8000), cur.cap=4096, cur.used=272
 02:00:32.984            app   block created, buffer=0x82c24-0x84b50
 02:00:32.985   wav_player.c  File player 'speech.wav' created:
samp.rate=8000, ch=1, bufsize=4KB, filesize=202KB
 02:00:32.985     resample.c  resample created: high qualiy, large
filter, in/out rate=8000/44100
 02:00:32.985     resample.c  resample created: high qualiy, large
filter, in/out rate=44100/8000
 02:00:32.986    cachingpool  Mutex: thread thr0x4001f390 is waiting
(mutex owner=)
 02:00:32.986    cachingpool  Mutex acquired by thread thr0x4001f390 (level=1)
 02:00:32.986    alsa0x84b58  pool created, size=1024
 02:00:32.986    cachingpool  Mutex released by thread thr0x4001f390 (level=0)
 02:00:32.987     alsa_dev.c  open_playback: Open playback device
'default:CARD=EVM'
 02:00:33.004    alsa0x84b58  1764 bytes requested, resizing pool by
2048 bytes (used=260, cap=1024)
 02:00:33.004    alsa0x84b58  create_block(sz=2048), cur.cap=1024, cur.used=260
 02:00:33.005    alsa0x84b58   block created, buffer=0x84f74-0x85760
 02:00:33.014     alsa_dev.c  Opened device alsa(default:CARD=EVM) for
playing, sample rate=44100, ch=1, bits=16, period size=882 frames,
latency=320 ms
 02:00:33.014     alsa_dev.c  open_capture: Open capture device
'default:CARD=EVM'
 02:00:33.031    alsa0x84b58  1764 bytes requested, resizing pool by
2048 bytes (used=2044, cap=3072)
 02:00:33.031    alsa0x84b58  create_block(sz=2048), cur.cap=3072, cur.used=2044
 02:00:33.031    alsa0x84b58   block created, buffer=0x8577c-0x85f68
 02:00:33.040     alsa_dev.c  Opened device alsa(default:CARD=EVM) for
capture, sample rate=44100, ch=1, bits=16, period size=882 frames,
latency=320 ms
 02:00:33.041 alsasound_play  Thread created
 02:00:33.042 alsasound_play  Thread created
 02:00:33.042 resampleplay.c  Total pool memory allocated=45 KB, used=38 KB
 02:00:33.043 alsasound_play  Thread started
 02:00:33.043     alsa_dev.c  ca_thread_func(951): Set thread priority
for audio capture thread.
 02:00:33.046 alsasound_play  Thread started
Segmentation fault

Have tried various different settings in config_site.h such as

#define PJMEDIA_RESAMPLE_IMP        PJMEDIA_RESAMPLE_LIBRESAMPLE
#define PJMEDIA_WSOLA_IMP           PJMEDIA_WSOLA_IMP_WSOLA_LITE

but to no avail.

All help very much appreciated!

Thanks in advance

/Christian



[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