On Thu, May 03, 2012 at 06:56:26PM +0200, Luigi Gangitano wrote: > On my up-to-date wheezy (testing) system, t38modem crashes with > segfault at each try to send or receive a fax. [...] > #0 0x00000000004749ed in MyH323Connection::AdjustMediaFormats(bool, > OpalConnection*, OpalMediaFormatList&) const () [...] > #1607 0x0000000000474aac in MyH323Connection::AdjustMediaFormats(bool, > OpalConnection*, OpalMediaFormatList&) const ()
A bug in t38modem-opal3.10-patch might be causing runaway recursion -- instead of just reordering arguments to OpalConnection::AdjustMediaFormats, it changes the otherConnection argument from `NULL' to `other'. Please give this (untested!) patch a try. I've added a bit of documentation as well. Cheers, Matej
--- t38modem-2.0.0~/debian/patches/t38modem-opal3.10-patch +++ t38modem-2.0.0/debian/patches/t38modem-opal3.10-patch @@ -1,7 +1,21 @@ Author: "Peter Katzmann" <pk1...@users.sf.net> Origin: http://sourceforge.net/tracker/index.php?func=detail&aid=3462909&group_id=152230&atid=783658 Description: With this patch, t38modem builds against the OPAL in debian + * Arguments to OpalConnection::AdjustMediaFormats() changed order from + (local, mediaFormats, otherConnection) in 3.8.x [1] to + (local, otherConnection, mediaFormats) in 3.10.x [2]. + * OpalMediaStream::RemovePatch() has been removed; in 3.8.x it was + implemented as simply "SetPatch(NULL)" [3], so use that instead. + . + Slightly different patch from Henning Holtschneider: + <https://github.com/hehol/t38modem/commit/244124970667e19daceaf4c52372cca316e4bd8e> + . + [1] <http://www.opalvoip.org/docs/opal-v3_8/de/da0/classOpalConnection.html#2c09181a20a215fa4b9c210cf006ba74> + [2] <http://www.opalvoip.org/docs/opal-v3_10/de/da0/classOpalConnection.html#b5b91814e4df73825c949e65ab1cc79b> + [3] <http://opalvoip.svn.sourceforge.net/viewvc/opalvoip/opal/branches/v3_8/src/opal/mediastrm.cxx?revision=24861&view=markup#l498> Forwarded: Yes +Last-Update: 2012-05-22 + diff -urwb t38modem/opal/fake_codecs.cxx ../t38modem-2.0.0/opal/fake_codecs.cxx --- t38modem/opal/fake_codecs.cxx 2010-03-24 11:48:29.000000000 +0100 +++ ../t38modem-2.0.0/opal/fake_codecs.cxx 2011-11-07 20:30:25.772000161 +0100 @@ -84,7 +98,7 @@ if (faxMode) { OpalMediaFormatList otherMediaFormats = other->GetMediaFormats(); - other->AdjustMediaFormats(false, otherMediaFormats, NULL); -+ other->AdjustMediaFormats(false, other, otherMediaFormats); ++ other->AdjustMediaFormats(false, NULL, otherMediaFormats); PTRACE(4, "ModemConnection::RequestMode: other connection formats: \n" << setfill('\n') << otherMediaFormats << setfill(' ')); @@ -93,7 +107,7 @@ if (other != NULL) { OpalMediaFormatList otherMediaFormats = other->GetMediaFormats(); - other->AdjustMediaFormats(false, otherMediaFormats, NULL); -+ other->AdjustMediaFormats(false, other, otherMediaFormats); ++ other->AdjustMediaFormats(false, NULL, otherMediaFormats); PTRACE(4, "ModemConnection::RequestMode: other connection formats: \n" << setfill('\n') << otherMediaFormats << setfill(' '));