[mythtv-users] backend segfault in HDHRStreamHandler with 0.22 (f11 + atrpms 0.22 binaries)
Jason Grant
expires07 at logular.com
Sun Nov 22 12:32:53 UTC 2009
Hello,
I've just upgraded to 0.22 using the binaries from the atrpms repo for
fedora 11.
mythbackend segfaults on startup, and based on gdb, I think mythbackend
is caught in an infinite recursion at [1] below.
I think it is similar to the HDHomerun scanning issue reported here:
http://svn.mythtv.org/trac/ticket/7232
i.e. a tcp dump shows a zillion packets as shown at [2] below.
In my scenario, I have not done a new channel scan; instead, I am using
the data from my operational 0.21 database. FWIW, a channel scan also
fails for me with a segfault.
I am hoping that someone can tell me whether this is a new bug, or
whether the 7232 fix will resolve it.
Thanks for any tips.
J.
====================================================
[1] Infinite recusion into TunerSet(...)
====================================================
00669 QString HDHRStreamHandler::TunerSet(
00670 const QString &name, const QString &val,
00671 bool report_error_return, bool print_error)
00672 {
00673 QMutexLocker locker(&_hdhr_lock);
00674
00675 if (!_hdhomerun_device)
00676 {
00677 VERBOSE(VB_IMPORTANT, LOC_ERR + "Set request failed (not connected)");
00678 return QString::null;
00679 }
00680
00681
00682 QString valname = QString("/tuner%1/%2").arg(_tuner).arg(name);
00683 char *value = NULL;
00684 char *error = NULL;
00685
00686 if (hdhomerun_device_set_var(
00687 _hdhomerun_device, valname.toLocal8Bit().constData(),
00688 val.toLocal8Bit().constData(), &value, &error) < 0)
00689 {
00690 VERBOSE(VB_IMPORTANT, LOC_ERR + "Set request failed" + ENO);
00691
00692 return QString::null;
00693 }
00694
00695 if (error && name == QString("channel"))
00696 {
00697 QString newval = val;
00698 newval.replace("qam_256", "qam");
00699 newval.replace("qam_64", "qam");
NB: I suspect this call recurses until segfault.
00700 return TunerSet(name, newval, report_error_return, print_error);
00701 }
====================================================
[2] Packets going to/fro the homerun. Captured with:
====================================================
tcpdump -vv -A -s0 host 192.168.1.198
23:09:52.889355 IP (tos 0x0, ttl 64, id 45273, offset 0, flags [none], proto TCP (6), length 73) 192.168.1.198.65001 > talby.logular.com.59608: P, cksum 0xb2f7 (correct), 204:237(33) ack 243 win 1460
E..I.... at .E.............0.pQ'.M.P.............ERROR: invalid channel.(.;)
23:09:52.889385 IP (tos 0x0, ttl 64, id 17031, offset 0, flags [DF], proto TCP (6), length 79) talby.logular.com.59608 > 192.168.1.198.65001: P, cksum 0x845a (incorrect (-> 0x327b), 243:282(39) ack 237 win 5840
E..OB. at .@.t ............'.M.0.prP....Z......../tuner0/channel...:219500000...].
23:09:52.889664 IP (tos 0x0, ttl 64, id 45274, offset 0, flags [none], proto TCP (6), length 73) 192.168.1.198.65001 > talby.logular.com.59608: P, cksum 0xb2af (correct), 237:270(33) ack 282 win 1460
E..I.... at .E.............0.pr'.M.P.............ERROR: invalid channel.(.;)
23:09:52.889694 IP (tos 0x0, ttl 64, id 17032, offset 0, flags [DF], proto TCP (6), length 79) talby.logular.com.59608 > 192.168.1.198.65001: P, cksum 0x845a (incorrect (-> 0x3233), 282:321(39) ack 270 win 5840
E..OB. at .@.t.............'.M.0.p.P....Z......../tuner0/channel...:219500000...].
23:09:52.889974 IP (tos 0x0, ttl 64, id 45275, offset 0, flags [none], proto TCP (6), length 73) 192.168.1.198.65001 > talby.logular.com.59608: P, cksum 0xb267 (correct), 270:303(33) ack 321 win 1460
E..I.... at .E.............0.p.'.N.P....g........ERROR: invalid channel.(.;)
23:09:52.890004 IP (tos 0x0, ttl 64, id 17033, offset 0, flags [DF], proto TCP (6), length 79) talby.logular.com.59608 > 192.168.1.198.65001: P, cksum 0x845a (incorrect (-> 0x31eb), 321:360(39) ack 303 win 5840
E..OB. at .@.t.............'.N.0.p.P....Z......../tuner0/channel...:219500000...].
23:09:52.890284 IP (tos 0x0, ttl 64, id 45276, offset 0, flags [none], proto TCP (6), length 73) 192.168.1.198.65001 > talby.logular.com.59608: P, cksum 0xb21f (correct), 303:336(33) ack 360 win 1460
E..I.... at .E.............0.p.'.N.P.............ERROR: invalid channel.(.;)
23:09:52.890314 IP (tos 0x0, ttl 64, id 17034, offset 0, flags [DF], proto TCP (6), length 79) talby.logular.com.59608 > 192.168.1.198.65001: P, cksum 0x845a (incorrect (-> 0x31a3), 360:399(39) ack 336 win 5840
E..OB. at .@.t.............'.N.0.p.P....Z......../tuner0/channel...:219500000...].
23:09:52.890593 IP (tos 0x0, ttl 64, id 45277, offset 0, flags [none], proto TCP (6), length 73) 192.168.1.198.65001 > talby.logular.com.59608: P, cksum 0xb1d7 (correct), 336:369(33) ack 399 win 1460
E..I.... at .E.............0.p.'.NUP.............ERROR: invalid channel.(.;)
23:09:52.890624 IP (tos 0x0, ttl 64, id 17035, offset 0, flags [DF], proto TCP (6), length 79) talby.logular.com.59608 > 192.168.1.198.65001: P, cksum 0x845a (incorrect (-> 0x315b), 399:438(39) ack 369 win 5840
E..OB. at .@.t.............'.NU0.p.P....Z......../tuner0/channel...:219500000...].
23:09:52.890903 IP (tos 0x0, ttl 64, id 45278, offset 0, flags [none], proto TCP (6), length 73) 192.168.1.198.65001 > talby.logular.com.59608: P, cksum 0xb18f (correct), 369:402(33) ack 438 win 1460
E..I.... at .E.............0.p.'.N|P.............ERROR: invalid channel.(.;)
23:09:52.890932 IP (tos 0x0, ttl 64, id 17036, offset 0, flags [DF], proto TCP (6), length 79) talby.logular.com.59608 > 192.168.1.198.65001: P, cksum 0x845a (incorrect (-> 0x3113), 438:477(39) ack 402 win 5840
E..OB. at .@.t.............'.N|0.q.P....Z......../tuner0/channel...:219500000...].
23:09:52.891211 IP (tos 0x0, ttl 64, id 45279, offset 0, flags [none], proto TCP (6), length 73) 192.168.1.198.65001 > talby.logular.com.59608: P, cksum 0xb147 (correct), 402:435(33) ack 477 win 1460
E..I.... at .E.............0.q.'.N.P....G........ERROR: invalid channel.(.;)
More information about the mythtv-users
mailing list