Author Topic: Yate dead in sipp test  (Read 3035 times)

rodrigopassos

  • Newbie
  • *
  • Posts: 19
    • View Profile
Yate dead in sipp test
« on: August 16, 2013, 05:33:28 PM »
Hi Yate,

I'm testing my Yate server to see how many simulataneos calls this server will support.
The command line that i'm using in sipp is sipp -sn uac 192.168.110.131 -s 40637474 -l 512 -nd -nr.
Yate is dead with the follow message before stop: Supervisor: killing unresponsive child 19397.
Attached, follow the log of core dump file.

The server have a processor with 8 core (Intel(R) Xeon(R) CPU E5-2407 0 @ 2.20GHz), 16 GB RAM and HD SAS).
I'm set ulimit -c unlimited before test.

Anyone could help?
« Last Edit: August 18, 2013, 01:52:13 PM by rodrigopassos »

vankooch

  • Administrator
  • Newbie
  • *****
  • Posts: 49
    • View Profile
Re: Yate dead in sipp test
« Reply #1 on: August 17, 2013, 03:40:58 PM »
Hi,

could you post your scenario file for sipp and some yate logs with debugging sip on level 9. We also use sipp to test our yate servers, with success.

marian

  • Hero Member
  • *****
  • Posts: 513
    • View Profile
Re: Yate dead in sipp test
« Reply #2 on: August 19, 2013, 01:38:57 AM »
Hi,

You are using an external script who is taking too long to return from message processing blocking all engine dispatch threads.

I suppose it's a script used for authentication/registering/route (the backtrace shows messages dispatched from sip module and routing threads who are waiting in extmodule mutex).

rodrigopassos

  • Newbie
  • *
  • Posts: 19
    • View Profile
Re: Yate dead in sipp test
« Reply #3 on: August 19, 2013, 05:25:01 AM »
I'm using the script connecting in tcp port. Do you know if it could be solved using the script running at startup of yate without tcp connection?

marian

  • Hero Member
  • *****
  • Posts: 513
    • View Profile
Re: Yate dead in sipp test
« Reply #4 on: August 19, 2013, 07:43:16 AM »
Hi,

External scripts connect to yate using tcp.
There is no other method to connect an external script.

You can write a javascript script (java scripts communicate with yate engine through API not tcp socket).
There are several articles at docs.yate.ro (search for javascript) documenting it.
See also javascript.conf.sample file on how to load a javascript file.

If your script (external or javascript) will eat engine dispatch threads (e.g. by making database queries to a slow database) the supervisor will kill yate anyway.
Maybe you should check your needs again and re-think the auth/routing scenario.