Thank you,<br><br>the bt is here:<br><br>#0&nbsp; 0xf6a90f13 in t1_timeout (arg=0x82f11c0) at chan_ss7.c:765<br>765&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; isup_send_rel(pvt, pvt-&gt;hangupcause);<br>(gdb) bt<br>#0&nbsp; 0xf6a90f13 in t1_timeout (arg=0x82f11c0) at chan_ss7.c:765
<br>#1&nbsp; 0x08056668 in ast_sched_runq (con=0x832a9c8) at sched.c:373<br>#2&nbsp; 0xf6a97d16 in monitor_main (data=0x0) at chan_ss7.c:3413<br>#3&nbsp; 0x00c161d5 in start_thread () from /lib/tls/libpthread.so.0<br>#4&nbsp; 0x00a972da in clone () from /lib/tls/libc.so.6
<br><br>goksie<br><br><div><span class="gmail_quote">On 4/30/06, <b class="gmail_sendername">Anton</b> &lt;<a href="mailto:anton.vazir@gmail.com">anton.vazir@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Could you invoke a<br>&quot;backtrace&quot; command in gdb to see how it got there.<br><br>On 30 April 2006 00:04, Goke Aruna wrote:<br>&gt; my ss7 crashed with the following error taking from the<br>&gt; core dump. the crash is noticed after the call reached a
<br>&gt; peak of 34 calls... and fter then I made max inbound on<br>&gt; oh323 to 29 so that it will not go to the second ss7 and<br>&gt; I disable the link and phyically removed it. my provider<br>&gt; too get it blocked.
<br>&gt;<br>&gt; however, all the changes made by Kai and Kristian were<br>&gt; followed.<br>&gt;<br>&gt; I am running asterisk-1.2.5, chan_ss7-0.8.3 with zaptel<br>&gt; 1.2.4<br>&gt;<br>&gt; I have the follwoing from my dump
<br>&gt; Reading symbols from /lib/libgcc_s.so.1...done.<br>&gt; Loaded symbols for /lib/libgcc_s.so.1<br>&gt; #0&nbsp;&nbsp;0xf6a90f13 in t1_timeout (arg=0x82f11c0) at<br>&gt; chan_ss7.c:765 765&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; isup_send_rel(pvt,<br>&gt; pvt-&gt;hangupcause);
<br>&gt;<br>&gt; I have the core dump and the ss7 dump and I will be glad<br>&gt; if someone can help.<br>&gt;<br>&gt; the extract from my chan_ss7.c are as below<br>&gt;<br>&gt; ## FOR THE isup_send_rel(pvt, pvt-&gt;hangupcause);######
<br>&gt;<br>&gt; static int start_timer(int msec, int (*cb)(void *), void<br>&gt; *data) { int id = ast_sched_add(monitor_sched, msec, cb,<br>&gt; data); if(msec &lt; MONITOR_FREQ) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; wakeup_monitor();<br>&gt;&nbsp;&nbsp; }
<br>&gt;&nbsp;&nbsp; return id;<br>&gt; }<br>&gt;<br>&gt; static int t1_timeout(void *arg) {<br>&gt;&nbsp;&nbsp; struct ss7_chan *pvt = arg;<br>&gt;<br>&gt;&nbsp;&nbsp; ast_log(LOG_NOTICE, &quot;T1 timeout (waiting for RLC)<br>&gt; CIC=%d.\n&quot;, pvt-&gt;cic); isup_send_rel(pvt,
<br>&gt; pvt-&gt;hangupcause);<br>&gt;&nbsp;&nbsp; //isup_send_rel(pvt, pvt-&gt;owner-&gt;hangupcause);<br>&gt;&nbsp;&nbsp; return 1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Run us again the next<br>&gt; period */ }<br>&gt;<br>&gt; /* This should be called with pvt-&gt;lock held. */
<br>&gt; static void t1_clear(struct ss7_chan *pvt) {<br>&gt;&nbsp;&nbsp; if(pvt-&gt;t1 != -1) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; ast_sched_del(monitor_sched, pvt-&gt;t1);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; pvt-&gt;t1 = -1;<br>&gt;&nbsp;&nbsp; }<br>&gt; }<br>&gt;<br>&gt; /* This should be called with pvt-&gt;lock held. */
<br>&gt; static void t1_start(struct ss7_chan *pvt) {<br>&gt;&nbsp;&nbsp; t1_clear(pvt);<br>&gt;&nbsp;&nbsp; pvt-&gt;t1 = start_timer(30000, t1_timeout, pvt);<br>&gt; }<br>&gt;<br>&gt;<br>&gt;<br>&gt; ### FOR t9_start(chan) #########<br>&gt; if(pvt-&gt;state != ST_SENT_IAM) {
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; ast_log(LOG_NOTICE, &quot;Got ACM message, but sent no<br>&gt; IAM, on CIC=%d?!?&quot;, pvt-&gt;cic);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; /* Q.764 (<a href="http://2.9.5.1">2.9.5.1</a> f) error handling for the spurious<br>&gt; ACM. */ if(pvt-&gt;state == ST_IDLE)
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reset_circuit(pvt);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>&gt;&nbsp;&nbsp; }<br>&gt;<br>&gt;&nbsp;&nbsp; if(chan == NULL) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; ast_log(LOG_NOTICE, &quot;Missing chan pointer for CIC=%d,<br>&gt; processing ACM?!?\n&quot;, pvt-&gt;cic);
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>&gt;&nbsp;&nbsp; }<br>&gt;<br>&gt;&nbsp;&nbsp; t9_start(chan);<br>&gt;<br>&gt;&nbsp;&nbsp; /* Q.764 (<a href="http://2.1.4.6">2.1.4.6</a> a): Alert if called_party_status is<br>&gt; &quot;subscriber free&quot;. */<br>&gt;&nbsp;&nbsp; if(inmsg-&gt;
acm.back_ind.called_party_status == 1) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; ast_queue_frame(chan, &amp;ring_frame);<br>&gt;&nbsp;&nbsp; }<br>&gt;<br>&gt;<br>&gt; Goksie<br>&gt;<br>&gt; On 3/22/06, Kai Militzer &lt;<a href="mailto:km@westend.com">km@westend.com
</a>&gt; wrote:<br>&gt; &gt; Hello Kristian and rest,<br>&gt; &gt;<br>&gt; &gt; Kristian Nielsen wrote:<br>&gt; &gt; &gt; For a quick fix, try moving the this line in<br>&gt; &gt; &gt; process_acm():<br>&gt; &gt; &gt;<br>
&gt; &gt; &gt;&nbsp;&nbsp; t9_start(chan);<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; down to after this code, which checks for a NULL<br>&gt; &gt; &gt; chan:<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;&nbsp;&nbsp; if(chan == NULL) {<br>&gt; &gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; ast_log(LOG_NOTICE, &quot;Missing chan pointer for
<br>&gt; &gt; &gt; CIC=%d, processing<br>&gt; &gt;<br>&gt; &gt; ACM?!?\n&quot;, pvt-&gt;cic);<br>&gt; &gt;<br>&gt; &gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>&gt; &gt; &gt;&nbsp;&nbsp; }<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; that should fix the crash, though I think the code is
<br>&gt; &gt; &gt; still not quite right (ie. no need to reset the<br>&gt; &gt; &gt; circuit in this case).<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Would be great if you could try this change and send<br>&gt; &gt; &gt; us the next crash!
<br>&gt; &gt;<br>&gt; &gt; That helped. I wasn't able to get it crashing again,<br>&gt; &gt; but I'll try to find something else ... ;)<br>&gt; &gt;<br>&gt; &gt; &gt; BTW, nice problem reports with backtraces and<br>&gt; &gt; &gt; everything ...
<br>&gt; &gt;<br>&gt; &gt; You are welcome ... I want a usable version of chan_ss7<br>&gt; &gt; at the end of june because I need to go into production<br>&gt; &gt; then ;)<br>&gt; &gt;<br>&gt; &gt; &gt; Incidentally, I wonder if you are making calls faster
<br>&gt; &gt; &gt; than a single E1 signalling time slot can handle? In<br>&gt; &gt; &gt; any case it's very good that you do, you've already<br>&gt; &gt; &gt; found us two crashing bugs :-).<br>&gt; &gt;<br>&gt; &gt; What I do to test is the following:
<br>&gt; &gt;<br>&gt; &gt; I have an asterisk that dials out via iax to the<br>&gt; &gt; asterisk with the ss7 which then dials out via ss7 to<br>&gt; &gt; another external ss7 gateway which then connects to<br>&gt; &gt; another asterisk that starts an echo application. I
<br>&gt; &gt; start this call with a .call file (or better: 60 of<br>&gt; &gt; them) that I copy into the spool dir. When the call is<br>&gt; &gt; connected, I start playback of a MP3 file via the<br>&gt; &gt; dialplan. Because of this I have 60 parallel calls
<br>&gt; &gt; starting at once. This is not what you will have in<br>&gt; &gt; real life, but it helps to find bugs and gives me an<br>&gt; &gt; idea of what the max load is that my system can handle.<br>&gt; &gt;<br>&gt; &gt; If you have any other ideas how/what else I can test, I
<br>&gt; &gt; am happy to give it a try.<br>&gt; &gt;<br>&gt; &gt; Best regards,<br>&gt; &gt; Kai<br>&gt; &gt;<br>&gt; &gt; --<br>&gt; &gt; Kai Militzer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WESTEND GmbH&nbsp;&nbsp;|<br>&gt; &gt; Internet-Business-Provider Technik
<br>&gt; &gt; CISCO Systems Partner - Authorized Reseller Lütticher<br>&gt; &gt; Straße 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tel 0241/701333-14 <a href="mailto:km@westend.com">km@westend.com</a><br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D-52064 Aachen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fax 0241/911879
<br>&gt; &gt;<br>&gt; &gt; _______________________________________________<br>&gt; &gt; --Bandwidth and Colocation provided by <a href="http://Easynews.com">Easynews.com</a> --<br>&gt; &gt;<br>&gt; &gt; asterisk-ss7 mailing list
<br>&gt; &gt; To UNSUBSCRIBE or update options visit:<br>&gt; &gt;<br>&gt; &gt; <a href="http://lists.digium.com/mailman/listinfo/asterisk-ss7">http://lists.digium.com/mailman/listinfo/asterisk-ss7</a><br>_______________________________________________
<br>--Bandwidth and Colocation provided by <a href="http://Easynews.com">Easynews.com</a> --<br><br>asterisk-ss7 mailing list<br>To UNSUBSCRIBE or update options visit:<br>&nbsp;&nbsp; <a href="http://lists.digium.com/mailman/listinfo/asterisk-ss7">
http://lists.digium.com/mailman/listinfo/asterisk-ss7</a><br></blockquote></div><br>