Opened 16 years ago
Closed 16 years ago
#4768 closed defect (duplicate)
After 16233, channel change to new input segfaults backend
Reported by: | Owned by: | Isaac Richards | |
---|---|---|---|
Priority: | minor | Milestone: | 0.22 |
Component: | mythtv | Version: | head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
This happens very reliably. Two sets of backtraces and backend logs attached. The backtraces don't make any sense to me.
Attachments (8)
Change History (20)
comment:1 Changed 16 years ago by
(In [16236]) Refs #4768. Fix some QString usage in SignalMonitorValue?.
comment:2 Changed 16 years ago by
After more investigation, this issue appears to be a race condition. By adding an extra VERBOSE within mythevent, I'm unable to make it fail. I don't know that valgrind will catch this, but admittedly, I'm not well versed in valgrind.
comment:3 Changed 16 years ago by
Daniel, can we change that QDeepCopy<QStringList> to:
QStringList list = lextradata; QStringList::Iterator it; for (it = list.begin(); it != list.end(); ++it)
extradata << QDeepCopy<QString>(*it);
To be honest, I have no evidence as to why this should work better than the other and it may very well simply be slowing it down just enough to avoid the race.
comment:4 Changed 16 years ago by
comment:5 Changed 16 years ago by
Mark, I think the problem may actually be somewhere in the overall handling of MythEvents? with extradata. There are only 16 instances in the MythTV code where this type of MythEvent? is used and the signal monitor dispatches by far the greatest number of these events.
The code you posted just slows down the copy a little, adding a usleep() in there would probably have the same effect.
comment:6 Changed 16 years ago by
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Hmm, it looks like this is a duplicate of #4168...
comment:7 Changed 16 years ago by
Resolution: | duplicate |
---|---|
Status: | closed → new |
not really a duplicate of #4168...
comment:8 Changed 16 years ago by
comment:9 Changed 16 years ago by
Milestone: | unknown → 0.22 |
---|
Moving to 0.22, my stop-gap fixes appear to have just made the problem worse, we need to address the QString is not thread-safe problem with a more comprehensive solution.
comment:10 Changed 16 years ago by
Status: | new → infoneeded_new |
---|
Is this this an issue in current trunk?
comment:11 Changed 16 years ago by
Well, it was an issue with QString/QStringList not being thread safe, I believe. Last I looked, there was a ticket in trunk to come up with a new MString class to work around the issue.
- Mark.
comment:12 Changed 16 years ago by
Resolution: | → duplicate |
---|---|
Status: | infoneeded_new → closed |
Duplicate of #5311
Backtrace 1