[LAU] Phasex. Unable to start MIDI thread, then segfaults

William Weston weston at sysex.net
Wed Sep 30 18:13:54 EDT 2009


On Wed, 30 Sep 2009, Nigel Henry wrote:
>
> Doh!!  No it's still not working using pre1. Tried the compile as a
> straight ./configure, make, make install, and also using aclocal, and friends
> prior to ./configure. Both times I used --enable-arch=native. Output below
> from starting it on command line.
>
> [djmons at localhost djmons]$ ssh 192.168.0.191
> djmons at 192.168.0.191's password:
> Last login: Sat Sep 26 20:33:36 2009 from 192.168.0.230
> [djmons at myhost ~]$ /usr/local/bin/phasex -d
> Raw Waveform '/usr/local/share/phasex/sys-samples/juno_osc.raw': 2809 samples
> Raw Waveform '/usr/local/share/phasex/sys-samples/juno_saw.raw': 5629 samples
> Raw Waveform '/usr/local/share/phasex/sys-samples/juno_square.raw': 5634
> samples
> Raw Waveform '/usr/local/share/phasex/sys-samples/juno_poly.raw': 2814 samples
> Raw Waveform '/usr/local/share/phasex/sys-samples/vox_1.raw': 1193 samples
> Raw Waveform '/usr/local/share/phasex/sys-samples/vox_2.raw': 706 samples
> Initializing JACK client from thread 0xb72706c0
> Unique JACK client name 'phasex-01' assigned.
> JACK is running with realtime scheduling.
> JACK sample rate:  44100
> Internal sample rate:  44100
> JACK requested sample rate:  44100
> JACK output buffer size:  2048.
> Unable to start MIDI thread.
> [djmons at myhost ~]$

The segfault is gone, but that was just a problem with the shutdown 
code.  The real issue is still lurking.

> I've attached the history file for the compile. Maybe something will stand
> out.
>
> By the way, I built 0.12.0beta4 on the same machine on a Kubuntu Intrepid
> install, and phasex works ok on that.
>
> Also, make uninstall only removes the phasex binary, and
> leaves /usr/local/share/themes folder, and /usr/local/share/phasex folder,
> and contents.

This will be addressed for the 0.12.0 release.  Good catch  ;-}

> CPU is as below, but all OS's are 32bit.
>
> *-cpu
>          product: AMD Athlon(tm) 64 Processor 3800+
>          vendor: Advanced Micro Devices [AMD]
>          physical id: 7
>          bus info: cpu at 0
>          version: 15.15.2
>          size: 2400MHz
>          width: 64 bits
>          capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8
> apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx
> mmxext fxsr_opt rdtscp x86-64 3dnowext 3dnow up extd_apicid pni cx16 lahf_lm
> svm extapic cr8_legacy
>        *-cache:0
>             description: L1 cache
>             physical id: 0
>             size: 128KiB
>        *-cache:1
>             description: L2 cache
>             physical id: 1
>             size: 512KiB
>     *-memory:1 UNCLAIMED
>          description: RAM memory
>          product: MCP61 Memory Controller
>          vendor: nVidia Corporation
>          physical id: 0
>          bus info: pci at 0000:00:00.0
>          version: a1
>          width: 32 bits
>          clock: 66MHz (15.2ns)
>          capabilities: bus_master cap_list
>          configuration: latency=0
>
> Over to you.
>
> Nigel.

Everything looks good in your build.  The problem most likely 
relates to not getting sufficient resources (or permissions) to 
create a new thread.

Could you send me the output from the following commands?

 	getconf GNU_LIBPTHREAD_VERSION
 	ulimit -a

Also, if you haven't done this yet, you might want to check 
/etc/security/limits.conf to make sure you can handle the memory 
locking and sched priority requirements for realtime audio.  This is 
from the very bottom of my /etc/security/limits.conf:

* - rtprio 99
* - memlock 4194304
* - nice -20

And last but not least, I have attached a small patch to give me 
better debug info on the call to mlockall() and the first call to 
pthread_create(), where the MIDI thread is created.  Could you 
apply the patch and send me the debug output?

 	cd phasex-0.12.0
 	patch -p1 < phasex-debug-pthread-create.patch
 	make clean
 	./configure --enable-arch=generic --enable-debug=-ggdb3
 	make
 	src/phasex -d

Thank you Nigel,

--ww




More information about the Linux-audio-user mailing list