Modify

Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#8190 closed defect (fixed)

NEXTSOURCE Key stops mythfrontend accepting input

Reported by: Paul Owned by: ijr
Priority: minor Milestone: unknown
Component: MythTV - General Version: 0.22
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Problem: Press key Y (or current binding) to select NEXTSOURCE, and no further keyboard or lirc input is accepted from mythfrontend. It must be restarted.

Background: This was hidden until http://svn.mythtv.org/trac/ticket/6472 fixed the keybinding itself - the NEXTSOURCE binding previously went nowhere. The ticket discusses this problem but was unrelated to the original defect other than circumstantially.

mdean: Anyway, as far as the NEXTSOURCE issue, I'd need a good (with symbols) backtrace to say for sure, but I'm almost positive the problem exists in the TV::SwitchSource??() function and is unrelated to the keybinding fix (though the binding allows you to access that function). I plan to test it eventually, but if you can get a backtrace of the hung mythfrontend process, feel free to submit a separate ticket for the issue.

Tested in 23562, and a .22-fixes

Attachments (1)

8190_bt.txt (55.7 KB) - added by robertm 8 years ago.
BT from Jafa at SiliconDust?

Download all attachments as: .zip

Change History (9)

comment:1 Changed 8 years ago by Dibblah

  • Status changed from new to infoneeded_new

Backtrace?

comment:2 follow-up: Changed 8 years ago by Paul <mythtv@…>

I haven't gone about getting a backtrace out of mythtv before, I'll look it up. Note that mythfrontend continues to work, and play the current channel being watched, so it doesn't crash as such - presumably I can still get a backtrace?

I just tested the telnet 6546 port and after NEXTSOURCE if I try a "key p" for example, it hangs.

comment:3 in reply to: ↑ 2 Changed 8 years ago by Paul <mythtv@…>

Replying to Paul <mythtv@…>:

I haven't gone about getting a backtrace out of mythtv before, I'll look it up. Note that mythfrontend continues to work, and play the current channel being watched, so it doesn't crash as such - presumably I can still get a backtrace?

I just tested the telnet 6546 port and after NEXTSOURCE if I try a "key p" for example, it hangs.

The telnet session hangs btw, mythfrontend itself carries on with the current playing show.

comment:4 Changed 8 years ago by Paul <mythtv@…>

The http://www.mythtv.org/wiki/Debugging page only refers to getting a backtrace by having the debugging symbol versions installed when a crash happens.

Mythtv doesn't crash in this instance - is there any more information I can provide that would help?

comment:5 Changed 8 years ago by robertm

Paul,

You should be able to attach to the mythfrontend process using gdb and produce a trace otherwise as indicated in the manual. Get to the locked behavior, open a terminal, do a "ps aux |grep mythfrontend" to get the pid, run gdb, and attach with "attach $pidnumber", then get a backtrace.

(forgive any flubs in those instructions, working from memory)

Changed 8 years ago by robertm

BT from Jafa at SiliconDust?

comment:6 Changed 8 years ago by robertm

  • Status changed from infoneeded_new to new

comment:7 Changed 8 years ago by mdean

  • Resolution set to fixed
  • Status changed from new to closed

(In [24274]) Fix a deadlock in TV::SwitchSource?() that occured when using the NEXTSOURCE/PREVSOURCE key bindings to switch sources.

The code in TV::timerEvent() was holding a lock, causing a deadlock when TV::SwitchSource?() requested the PlayerContext?. This changes TV::SwitchSource?() to work like the related TV::SwitchCards?() and TV::ToggleInputs? functions by using the PlayerContext? that TV::timerEvent() passes through TV::ProcessKeypress?() and, finally, to TV::ActivePostQHandleAction(), which calls TV::SwitchSource?().

This seems to have been broken in the mythtv-vid branch, but the code was unreachable/untestable due to broken key bindings (which were fixed for #6472).

Refs #6472. Fixes #8190. Thanks to jafa for finally getting a backtrace.

comment:8 Changed 8 years ago by mdean

(In [24728]) Fix NEXTSOURCE/PREVSOURCE key bindings. Backports [24274] from trunk. Refs #8190.

Add Comment

Modify Ticket

Action
as closed The owner will remain ijr.
The resolution will be deleted. Next status will be 'new'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.