Minisip Trunk. Problems compiling an 100% use of cpu

Carlos Oliva telematico at gmail.com
Thu May 24 01:11:29 CEST 2007


Hi the list!

Compiling the last code in the trunk I have some errors in libminisip:

/home/carlos/minisip2/minisip/trunk/libminisip/source/subsystem_media/MediaHandler.cxx:
In member function 'MRef<Session*>
MediaHandler::createSession(MRef<SipIdentity*>, std::string)':

/home/carlos/minisip2/minisip/trunk/libminisip/source/subsystem_media/MediaHandler.cxx:133:
error: cannot allocate an object of abstract type 'CallRecorder'

/home/carlos/minisip2/minisip/trunk/libminisip/include/libminisip/media/CallRecorder.h:60:
note:   because the following virtual functions are pure within
'CallRecorder':

/home/carlos/minisip2/minisip/trunk/libminisip/include/libminisip/media/soundcard/SoundRecorderCallback.h:52:
note:         virtual void
SoundRecorderCallback::srcb_handleSound(void*, int, void*)

Using ubuntu and gcc 4.1.2

To compile it I use a very ugly trick, I comment the lines of the
fault ,lines from 141 to 146 of
libminisip/source/subsystem_media/MediaHandler.cxx (I submit the
little diff attached)

After compiling it, I have the problem of complete use of CPU by
minisip. After 1 or 2 minutes (I have no audio, but I think is for my
changes in mediahandler.cxx) the cpu goes to 100%.

Using profiling utilities (qprof) I get this:

DLE$ qprof: /usr/bin/minisip_textui: 8442 samples, 8442 counts
libcrypto.so.0.9.8(bn_mul_add_words)                             1      ( 0%)
libcrypto.so.0.9.8(bn_add_words)                                 1      ( 0%)
libpthread.so.0(pthread_mutex_lock)                              2      ( 0%)
libc.so.6                                                        2      ( 0%)
libc.so.6(__libc_malloc)                                         4      ( 0%)
libc.so.6(cfree)                                                 3      ( 0%)
libc.so.6(memmove)                                               1      ( 0%)
libc.so.6(__read)                                                1      ( 0%)
libc.so.6(pthread_mutex_lock)                                    1      ( 0%)
libm.so.6(floorf)                                                8      ( 0%)
libstdc++.so.6(_ZdlPv)                                           2      ( 0%)
libstdc++.so.6(_Znwj)                                            1      ( 0%)
libmutil.so.0(_ZN5Mutex4lockEv)                                  1      ( 0%)
libmnetutil.so.0                                                 1      ( 0%)
libmnetutil.so.0(_ZNK9IPAddress16getAddressFamilyEv)             1      ( 0%)
libminisip.so.0                                                  16     ( 0%)
libminisip.so.0(_Z4dotpPfS_)                                     8012   (95%)
libminisip.so.0(_ZN3AEC3dtdEff)                                  12     ( 0%)
libminisip.so.0(_ZN3AEC7nlms_pwEffi)                             147    ( 2%)
libminisip.so.0(_ZN3AEC5doAECEii)                                27     ( 0%)
libminisip.so.0(_ZN3IIR8highpassEf)                              11     ( 0%)
libminisip.so.0(_ZN4IIR68highpassEf)                             51     ( 1%)
libminisip.so.0(_ZNK4MRefIP12StateMachineI12SipSMCommandSsEE10ge 1  (0%)
libminisip.so.0(_ZN14G711CodecState6encodeEPviS0_)               4      ( 0%)
libminisip.so.0(_Z11linear2ulaws)                                3      ( 0%)
libminisip.so.0(_ZNK4MRefIP17MediaStreamSenderEptEv)             1      ( 0%)
libminisip.so.0(_ZN11MediaStream16getCryptoContextEjt)           1      ( 0%)
libminisip.so.0(_ZN13CryptoContext7getSsrcEv)                    1      ( 0%)
libminisip.so.0(_ZN4MRefIP13CryptoContextE10setPointerES1_)      1      ( 0%)
libminisip.so.0(_ZN10AudioMedia8sendDataEPhjjb)                  1      ( 0%)
libminisip.so.0(_ZNSaIiED2Ev)                                    1      ( 0%)
libminisip.so.0(_ZNK4MRefIP11SoundDeviceE10getPointerEv)         4      ( 0%)
libminisip.so.0(_ZN9RtpHeader8getSeqNoEv)                        1      ( 0%)
libminisip.so.0(_ZN9RtpHeader4sizeEv)                            1      ( 0%)
libminisip.so.0(_ZN13CryptoContext14get_tag_lengthEv)            1      ( 0%)
libminisip.so.0(_ZN10SRtpPacket8getBytesEv)                      1      ( 0%)
libminisip.so.0(_ZN7SoundIO12recorderLoopEPv)                    30     ( 0%)
libminisip.so.0(_ZN11SoundDevice18getNChannelsRecordEv)          8      ( 0%)
libminisip.so.0(_ZN11SoundDevice13getSampleSizeEv)               1      ( 0%)
libminisip.so.0(_ZNK4MRefIP11SoundDeviceEptEv)                   17     ( 0%)
libminisip.so.0(_ZN15SimpleResampler10downSampleEPsS0_)          28     ( 0%)
[0xffffe40e]                                                     1      ( 0%)
[0xffffe410]                                                     29     (0%)


It seems that one simbol of libminisip is eating the cpu... (pentium 4 2Ghz)
Entering in the library I only see: 00093098 T _Z4dotpPfS_
If somebody interested I will send him/her the binary of the library
(I think 2182655 bytes is too heavy for the list)

 What do you think about?

Thanks for advance:

Carlos Oliva (telematico at gmail.com)

-- 
--------------------------------------------------------------
"La libertad no se recarga con tarjeta"
                       pintada en una tienda de amena
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MediaHandler.diff
Type: text/x-patch
Size: 792 bytes
Desc: not available
Url : http://lists.minisip.org/pipermail/minisip-users/attachments/20070524/a5eac6b5/attachment.bin 


More information about the Minisip-users mailing list