Modify
Warning Please read the Ticket HowTo before creating or commenting on a ticket. Failure to do so may cause your ticket to be rejected or result in a slower response.

Opened 3 years ago

Closed 3 years ago

#9196 closed defect (Fixed)

Unable to play recordings on win32 build 0.24rc2

Reported by: hackbox187@… Owned by: danielk
Priority: minor Milestone: unknown
Component: Ports - Windows Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description (last modified by wagnerrp)

Using a Win32 build of 0.24 RC2 on Windows 7 x64 as frontend only.
Build done using Virtual PC Windows XP Mode with latest win32-packager.pl
Also tried unofficial win32 builds.

Mythfrontend is dying while trying to play a recording in "Watch Recordings"

LiveTV is working fine.

I'll be happy to provide anything to help find a solution.

2010-11-08 22:22:32.470 Using protocol version 63
2010-11-08 22:22:32.504 AudioPlayer: Disabling Audio, params(0,2,44100)
2010-11-08 22:22:32.525 AudioOutput Error: Aborting Audio Reconfigure. 
Invalid audio parameters ch 2 fmt 0 @ 44100Hz
2010-11-08 22:22:32.526 AudioPlayer: Disabling Audio, reason is: Aborting Audio Reconfigure. Invalid audio parameters ch 2 fmt 0 @ 44100Hz
2010-11-08 22:22:32.526 playCtx, Error: Aborting Audio Reconfigure. Invalid audio parameters ch 2 fmt 0 @ 44100Hz
ASSERT failure in QReadWriteLock::unlock(): "Cannot unlock an unlocked lock", file thread\qreadwritelock.cpp, line 405
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
QWaitCondition: Destroyed while threads are still waiting

Attachments (3)

mythtv-frontend.zip (196.7 KB) - added by hackbox187@… 3 years ago.
gdb output from mythfrontend.cmd
9196.log (22.6 KB) - added by Jeff Lu <jll544@…> 3 years ago.
frontend log (-v file)
9196_bt.txt (10.8 KB) - added by Jeff Lu <jll544@…> 3 years ago.
backtrace

Download all attachments as: .zip

Change History (16)

comment:1 Changed 3 years ago by wagnerrp

  • Description modified (diff)
  • Priority changed from major to minor

Reset Priority to default. Move logs to a comment box.

comment:2 Changed 3 years ago by hackbox187@…

Here is some info:

Backend: Ubuntu 10.04 0.24rc2 trunk r27113
Frontend: 0.24rc2 r27119 trunk win32
Source: Firewire and DVB, both HD, MPEG2 only
It happens on both my builds and unofficial ones (FE only).
The recording files are fine, playing correctly using other players.

Like I said, the LiveTV is working great.
May be it's related to the live preview (Mythpreviewgen) of the Watch Recording screen...

I've done more tests and I've been able to start recordings. I need to start a fresh new recording then go to Watch Recording and rapidly start the new recording while there's still no preview generated. I have to be really quick.

Changed 3 years ago by hackbox187@…

gdb output from mythfrontend.cmd

comment:3 Changed 3 years ago by anonymous

I've attached a gdb output generated with the mythfrontend.cmd batch file included when building MythTV with the perl script win32-packager.pl.

Let me know if something is missing, it's my first try with gdb.

This is with a fresh r27166 build.

comment:4 Changed 3 years ago by tkrantz@…

I can confirm this same behaviour up through r27198. LiveTV works both on analog and digital. I can play my analog recordings but any attempt to play a digital recording results in the same failure. I tried to run gdb to catch the backtrace at line 405 in the source by setting a breakpoint on the line then setting a condition d->accessCount==0 on that breakpoint but I keep getting some message that indicates I am trying to dereference something that is not a structure or union. I would be glad to try gdb again if someone can help me set an appropriate condition.

comment:5 Changed 3 years ago by stephane_blackburn@…

I have the same problem with a 0.24-fixes r27198 build.

MythTV Version : 27198
MythTV Branch : branches/release-0-24-fixes
Network Protocol : 63
Library API : 0.24.20101028-1
QT Version : 4.6.3

Options compiled in:

profile using_backend using_frontend using_hdhomerun using_mheg using_opengl_video using_opengl_vsync using_qtwebkit using_opengl using_ffmpeg_threads using_mheg

comment:6 Changed 3 years ago by robertm

  • Ticket locked set

All of you need to please read the ticket howto. "Me too" adds *nothing* to the ticket.

comment:7 Changed 3 years ago by robertm

  • Status changed from new to infoneeded_new

Numerous playback fixes have gone in in the past few days, please test current .24-fixes and report on whether this is still an issue. Also, the gdb output is empty, a proper gdb backtrace would probably be enlightening, as it's not clear to me whether the issue is with audio or video code from what I see.

comment:8 Changed 3 years ago by mdean

  • Ticket locked unset

Changed 3 years ago by Jeff Lu <jll544@…>

frontend log (-v file)

Changed 3 years ago by Jeff Lu <jll544@…>

backtrace

comment:9 Changed 3 years ago by Jeff Lu <jll544@…>

FE log (-v file) and backtrace attached. This assert probably would show up on any platform when using debug Qt libraries. The problem is in the start-playback optimization of RingBuffer::Seek(). Lines 1989-1990 (RingBuffer?.cpp, 0.24-fixes) attempt to unlock rbwlock and rbrlock, but the preceding code doesn't leave them in a locked state.

comment:10 follow-up: Changed 3 years ago by danielk

(In [27364]) Refs #9196. This disables the ffmpeg mpeg-2 startup optimization in the ringbuffer code in 0.24-fixes and fixes the the problem reported by Jeff Lu. Please report back whether this helps with MS Windows playback.

comment:11 in reply to: ↑ 10 Changed 3 years ago by Jeff Lu <jll544@…>

Replying to danielk:

(In [27364]) Please report back whether this helps with MS Windows playback.

Yes, it does. Playback on Windows is working fine after this change.

Thanks,

Jeff

comment:12 Changed 3 years ago by danielk

  • Owner changed from nigel to danielk
  • Status changed from infoneeded_new to assigned

comment:13 Changed 3 years ago by danielk

  • Resolution set to Fixed
  • Status changed from assigned to closed

(In [27378]) Fixes #9196 in trunk. This appears to have been a cut-n-paste error. Thanks Jeff Lu for finding it.

Add Comment

Modify Ticket

Action
as closed .
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.