Opened 14 years ago

Closed 14 years ago

#7617 closed defect (fixed)

Segmentation fault with FD_SET

Reported by: banogabor@… Owned by: cpinkham
Priority: minor Milestone: 0.23
Component: MythTV - General Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

I've found a annoying bug in Mythfrontend UI. My Myth system is run on separated frontend and backend. The backend works correctly, records series, etc... When I try to play back any program and would like to navigate any series subtitles, at series group select I've allways got segmentation fault and the machine exits from mythfrontend. If I stay on default group or any built-in group, then I can browse recorded programs one-by-one.

I'm localized the bug (with --verbose all), but I cannot to fix it. The mythfrontend answers with segmentation fault, when the backend server sends an 'Empty FD_SET'.

Attachments (4)

gdb-mythfrontend.txt (33.4 KB) - added by banogabor@… 14 years ago.
producted segfault
gdb.txt (12.6 KB) - added by banogabor@… 14 years ago.
backtrace about error
mythtv-7617-GetGroupToUse_QString_usage.patch (1.6 KB) - added by sphery 14 years ago.
mythUI-segfault.txt (36.6 KB) - added by banogabor@… 14 years ago.
Segfault in mythUI

Download all attachments as: .zip

Change History (33)

comment:1 Changed 14 years ago by Dibblah

Status: newinfoneeded_new

Backtrace, please.

comment:2 Changed 14 years ago by anonymous

Backtrace? How do you mean? (sorry, I don't understand everything in english)

comment:3 Changed 14 years ago by Dibblah

comment:4 Changed 14 years ago by banogabor@…

Okay, but this take some more time...

Changed 14 years ago by banogabor@…

Attachment: gdb-mythfrontend.txt added

producted segfault

comment:5 Changed 14 years ago by banogabor@…

Ok, I'm reproduced this fault and attached the result to this ticket

comment:6 Changed 14 years ago by sphery

Any chance you could install the debug symbols, as described in the above-linked wiki page, to make the backtrace a lot easier to read. And please see http://www.mythtv.org/docs/mythtv-HOWTO-22.html#ss22.2 (linked from the page above) for the actual gdb commands to run (including thread apply all bt full ).

Changed 14 years ago by banogabor@…

Attachment: gdb.txt added

backtrace about error

comment:7 Changed 14 years ago by banogabor@…

I made it as your suggested desciption, on a fully new system.

comment:8 Changed 14 years ago by stuartm

Status: infoneeded_newnew

comment:9 Changed 14 years ago by stuartm

Component: MythTV - User Interface LibraryMythTV - General
Owner: changed from stuartm to Isaac Richards
Status: newassigned

comment:10 Changed 14 years ago by danielk

(In [22872]) Refs #7617. This commit may or may not fix the segfault, but it does fix actual bugs.

comment:11 Changed 14 years ago by robertm

Status: assignedinfoneeded

Is this bug still present in .23-fixes?

comment:12 Changed 14 years ago by anonymous

I'm tried this new version of mythtv. It works better, so no longer stops with segfault, but still doesn't handles accentuated letters correcly. When a select a view filter, what contains any accentuated letters, I'm got "there are no recording in your current view" message and doesn't appear any recorded programs on the right side.

comment:13 Changed 14 years ago by anonymous

I'm mistaken, still be segfault, but not in all of themes. No segfault on Terra and Mythcenter theme. The former of my write refers these two themes

comment:14 Changed 14 years ago by robertm

Status: infoneededassigned

Changed 14 years ago by sphery

comment:15 Changed 14 years ago by sphery

Owner: Isaac Richards deleted
Status: assignednew

comment:16 Changed 14 years ago by sphery

Status: newinfoneeded_new

banogabor, can you test with the attached patch on either 0.23-fixes or trunk and let us know if it helps? Thanks.

comment:17 Changed 14 years ago by anonymous

Sorry. I'm tried it with latest trunk version, but same all everything. Unfortunatelly didn't help this patch.

comment:18 Changed 14 years ago by sphery

Can you get us a new backtrace with debug symbols for trunk (without the patch), as the code where you got the segfault in the attached backtrace doesn't exist anymore (got moved and changed a bit). Thanks.

comment:19 Changed 14 years ago by anonymous

OK,I'll do it. But I'm detected another interest thing: I was an feel: maybe when I've got the 'no recordings' message, the frontend doesn't send any queries to the database. And yes! I run frontend with '-v database' option, and watched it what does. It does really not send any queries to database. Whether why?

Changed 14 years ago by banogabor@…

Attachment: mythUI-segfault.txt added

Segfault in mythUI

comment:20 Changed 14 years ago by anonymous

I think, may I found the source of error: The 2297 row in playbackbox.cpp file in programs folder. I think need to put dual colon beetween double quotes instead of single. I'm tried it and works: no segfault already, but the show filtering still not works well. Please fix it, if had verification.

comment:21 Changed 14 years ago by stuartm

Milestone: unknown0.23
Status: infoneeded_newnew
Version: unknownTrunk Head

comment:22 Changed 14 years ago by stuartm

Owner: set to cpinkham
Status: newassigned

comment:23 Changed 14 years ago by cpinkham

Can you try changing that line to the following instead of changing the double quotes to single quotes?

Change this:

QString grpHost = sgroup + ":" + host;

To this:

QString grpHost = QString("%1:%2").arg(sgroup).arg(host);

See if that still segfaults.

comment:24 Changed 14 years ago by anonymous

Sorry, this change isn't fix this problem.

comment:25 Changed 14 years ago by anonymous

The error be an other function. Because the host object doesn't always contain valid data and the object first usage here, therefore the segfault is be here too. I was go back to the before 'findArtworkFile' function call. I'm inserted a 'VERBOSE' line for watching 'artworkHost' object contain. The score: the segfault moved here. Because the 'All program' and 'Watch list' doesn't produce segfault and writes the object value correctly, therefore I think this error is about 'artworkHost' object filling, when reach to 635 row (artworkHost = (*(m_progLists[groupname].begin()))->hostname;).

comment:26 Changed 14 years ago by cpinkham

(In [24176]) Don't try to find artwork if there are no items in the current group.

References #7617. Ticket can be closed after it's a confirmed fix.

comment:27 Changed 14 years ago by cpinkham

(In [24177]) Carry over [24176] from trunk.

Don't try to find artwork if there are no items in the current group.

References #7617. Ticket will be closed after it's a confirmed fix.

comment:28 Changed 14 years ago by anonymous

Ok, now good. Thank you!

comment:29 Changed 14 years ago by cpinkham

Resolution: fixed
Status: assignedclosed

Closing, confirmed fixed.

Note: See TracTickets for help on using tickets.