SegFault bei Annahme eines abgehenden Anrufs!

carpet

Neuer User
Mitglied seit
11 Aug 2007
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo!

Nachdem ich nun schon seit einigen Wochen (Monaten?) hier immer sehr interessiert mitlese und auch den einen oder anderen Tip schon sehr gut gebrauchen konnte (und teilweise mußte), bin ich dann jetzt mal gezwungen auch was zu schreiben; wie soll es anders sein, ein Problem! ;-)

Fahre seit einigen Monaten schon mehrere miteinander verbandelte Asterisk, die ich durch mutige :rock: Auto Updates auch alle immer auf dem neuesten Stand habe, sprich momentan 1.4.9! Mehrere davon sind mit ISDN Karten ausgestattet; bisher Longshines => HFCPCI. Das klappt alles auch prima. Nur, diese Karten gab' beim Händler unseres Vertrauens nicht mehr so richtig, d.h., der neueste Server soll/muß nun mit einer Gerdes Primux 1S0 ausgestattet werden.

Abgesehen mal davon, daß ich mich an die mISDN Arie gerade gewöhnt hatte, war der Weg der Einbindung über CAPI eigentlich auch gar nicht so schwer und hat an sich auch recht schnell und reibungslos funktioniert (Primux CAPI (libcapi20) => chan_capi (HEAD).

Wählen rein und raus funktioniert auch wie Sahne. Aber, wenn ich raustelefoniere und der Angerufene sich anmaßt abuheben, dann fliegt der Asterisk sofort mit einem höflichen "SegFault" davon. :mad: Normalerweise voller Ideen was man/ich machen könnte, bin ich hierbei jetzt gerade mal überfragt, denn Versionsmäßig kann es ja auch nicht viel zu schaffen haben; die HEAD der chan_capi ist ja wohl für die neueren 1.4.x Versionen von Asterisk?!?

Um genau zu sein, weiß ich nicht mal genau, wo ich noch Daten für eine Analyse hernehmen sollte, das einzige, was ich da aktuell anbringen könnte wären die Ausgaben in "/var/log/messages".

Code:
Aug 11 01:27:13 localhost kernel: VCAPI Constructing ExternalDSS1 FFFFC200000C7428
Aug 11 01:27:13 localhost kernel: VCAPI Constructing PLCI20 FFFFC200000C7A40
Aug 11 01:27:13 localhost kernel: VCAPI Ctrl 01: I.430 state F3 (was F3)
Aug 11 01:27:13 localhost kernel: VCAPI Ctrl 01: I.430 state F4 (was F3)
Aug 11 01:27:13 localhost kernel: VCAPI Ctrl 01: I.430 state F5 (was F4)
Aug 11 01:27:13 localhost kernel: VCAPI Ctrl 01: I.430 state F6 (was F5)
Aug 11 01:27:13 localhost kernel: VCAPI Ctrl 01: I.430 state F7 (was F6)
Aug 11 01:27:29 localhost kernel: VCAPI Constructing B2Trans FFFFC200000C9470
Aug 11 01:27:29 localhost kernel: VCAPI 000C96B0: Constructing B3T Dispatch
Aug 11 01:27:29 localhost kernel: VCAPI BCallRefTransparent::BCallRefTransparent FFFFC200000C9770/FFFFC200000C97F0
Aug 11 01:27:29 localhost kernel: asterisk[5319]: segfault at 0000000080000000 rip 00002ae65108105c rsp 0000000040868b38 error 4
Aug 11 01:27:29 localhost kernel: VCAPI BCallRefTransparent::~BCallRefTransparent FFFFC200000C9770/FFFFC200000C97F0
Aug 11 01:27:29 localhost kernel: VCAPI 000C96B0: Destructing B3T Dispatch
Aug 11 01:27:29 localhost kernel: VCAPI Destructing B2Trans FFFFC200000C9470
Aug 11 01:27:29 localhost kernel: VCAPI Destructing PLCI20 FFFFC200000C7A40
Aug 11 01:27:29 localhost kernel: VCAPI Destructing ExternalDSS1 FFFFC200000C7428

Als kleine Randbemerkung noch: Das sind AsteriskNow Server.

Ich hoffe, da kann mir wer helfen?!

CarPet.
 
Leider wird von gerdes (primux) eine spezielle und nicht open-source Variante der libcapi benutzt. Hier habe ich auch schon schlechte Erfahrungen gemacht.
Welche Version der primux Software benutzt du?

Armin

PS: Mein Tipp: nicht primux verwenden.
 
Primux

armincm schrieb:
Leider wird von gerdes (primux) eine spezielle und nicht open-source Variante der libcapi benutzt. Hier habe ich auch schon schlechte Erfahrungen gemacht.
Welche Version der primux Software benutzt du?

Armin

PS: Mein Tipp: nicht primux verwenden.

Naja, der Punkt ist, ich konnte es mir nicht aussuchen, welche Karte fortan verwendet wird. :(

Die Version: 3.6.4725.

Nur am Rande: Den Patch, den Gerdes behauptet, daß man ihn mit der chan_capi mitinstallieren müßte, habe ich mir natürlich in Anbetracht der Tatsache, daß die von 0.6.3 reden und wir bei 1.0.1 stehen schlicht geschenkt, aber ich denke, daß ergab/ergibt sich von allein! ;-)

CarPet
 
carpet schrieb:
Die Version: 3.6.4725.

Das ist sogar eine neuere Version als ich kenne. Mir ist von älteren bekannt, dass die libcapi20 darin ein Problem verursacht hat.
Eventuell ist chan-capi aber auch einfach nur mit inkompatiblen header files gebaut worden, z.B. gebaut mit der 'normalen' libcapi20-dev, aber dann ausgeführt mit der gerdes version....

Ein backtrace würde hier sicher mehr aussagen, aber wenn der Fehler wirklich in der libcapi20 liegt, dann wird es schwierig, da closed-source.

Der patch ist nicht mehr notwendig in neuen chan-capi versionen.

Armin
 
Wenn Du mir dann auf die schnelle mal verrätst, wie ich den BackTrace zu Stuhle bringe?! ;-)

Also, explizit beim "make" drauf geachtet habe ich natürlich nicht. Allerdings habe ich gerade mal schnell im primux Pfad nachgesehen und bei deren Shell Skript festgestellt, daß die Standard Header durch die Primux Varianten ersetzt werden und ich habe chan_capi NACH primux kompiliert!

CarPet
 
Asterisk muss mit -g gestartet werden. Beim SegFault wird ein core File erzeugt. Dieses dann mit gdb laden und
bt-full eingeben.
Aber bessere Anleitungen gibt es genug im netz.

Armin
 
Also den core in den gdb laden ist ja noch ok. Vermutlich muß ich die Symbole auch noch laden, damit der Backtrace was vernünftiges hergibt. Bei der chan_capi ist das auch ok, aber der asterisk hat keine Symbole?!? Außerdem kommt dann auch noch im gdb, daß das Kommando "bt-full" nicht bekannt sei und "bt -full" macht mal eben das gleiche wie "bt" allein. :-o :-(
 
Ich glaube, ich habe es dann doch hinbekommen, allerdings, natürlich, ohne haufenweise andere Symbole, allerdings ist es sehr merkwürdig, daß so mal 80% des BackTraces auf Null Zeilen hinweisen?! :confused: Naja, ich gehe einfach mal davon aus, daß Du mit dem Inhalt dieser Datei eh viel mehr wirst anfangen können?! :silly:

CarPet.
 

Anhänge

  • gdb.zip
    62.8 KB · Aufrufe: 2
Hi!

Wie ist denn hier der Stand? Gibt es Njus? :-o

CarPet.
 
Hallo nochmal,

übrigens so provisorisch schon mal vorne weg: die neueste Head tut's auch nicht. :-(

CarPet.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.