Opened 17 years ago
Closed 17 years ago
#6715 closed defect (fixed)
SIGABRT in RemoteEnocder::GetFrameRate()
| Reported by: | Owned by: | danielk | |
|---|---|---|---|
| Priority: | minor | Milestone: | 0.22 |
| Component: | MythTV - General | Version: | head |
| Severity: | medium | Keywords: | |
| Cc: | Ticket locked: | no |
Description
changeset:18098 introduced a possible error path assertion failure in RemoteEncoder::GetFrameRate() at remoteencoder.cpp:167. Here is how the assertion is triggered:
RemoteEnocder::GetFrameRate()createsstrlistRemoteEnocder::GetFrameRate()passesstrlisttoRemoteEnocder::SendReceiveStringList()RemoteEnocder::SendReceiveStringList()passesstrlisttoMythSocket::readStringList()MythSocket::readStringList()callsstrlist.clear()MythSocket::readStringList()fails in some way (e.g., times out) and returnsfalseRemoteEnocder::SendReceiveStringList()returnsfalse- The variable
okinRemoteEnocder::GetFrameRate()remainsfalse, so line 167 is executed - Line 167 tries to access element 0 of
strlist, butstrlistis empty - Qt aborts because 0 is out of the range of valid indexes into
strlist
Attachments (1)
Change History (3)
by , 17 years ago
| Attachment: | mythtv_assert_fix.patch added |
|---|
comment:1 by , 17 years ago
| Milestone: | unknown → 0.22 |
|---|---|
| Owner: | changed from to |
| Status: | new → assigned |
comment:2 by , 17 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
(In [20881]) Fixes #6715. Improve debugging output on GetFrameRate() when backend socket handling dies on us.
Note:
See TracTickets
for help on using tickets.

possible fix