[mythtv] mythfrontend on ubuntu 17.04 testing X11 ICE problems

Peter Bennett pgbennett at comcast.net
Sun Feb 5 15:46:16 UTC 2017



On 02/05/2017 05:33 AM, roger at beardandsandals.co.uk wrote:
> I appear to have lost outgoing SMTP mail. On the plus side. I think I may found the answer.
>              	
>              	----- Original Message -----
>              	From: roger roger at beardandsandals.co.uk
>              	To: Mythtv Developers mythtv-dev at mythtv.org
>              	Sent: Sat  4/02/17  8:02 PM
>              	Subject: Fwd: Re: mythfrontend on ubuntu 17.04 testing X11 ICE problems
>
>
> On 04/02/17 16:27, roger wrote:
>>
>> On 04/02/17 15:30, roger wrote:
>>> I have set up my little Shuttle XS35V3 box as an ubuntu 17.04
>>> testbed. I have built and and installed from the 2.8 fixes branch.
>>>
>>> I keep getting this from mythfrontend on stderr
>>>
>>> ICE default IO error handler doing an exit(), pid = 1752, errno = 32
>>> QWaitCondition: cv destroy failure: Device or resource busy
>>> QWaitCondition: mutex destroy failure: Device or resource busy
>>>
>>> The old trick of deleting the ..ICEauthority file seems to work if
>>> you do it right after mythfrontend exits, this may be a red herring.
>>> But unfortunately the error will reappear at some point, most likely
>>> on the next boot.
>>>
>>> This problem seems to have been around for ages.
>>>
>>> Does anyone know what Qt is doing with ICE?
>>>
>>> Errno 32 is broken pipe. So what is dying and why?
>>>
>>> Seeing as I have hijacked the families myth box for testing, I am
>>> keen to fix this :-).
>>>
>>> So all help will be gratefully received.
>>>
>>>
>>> Roger
>>>
>> Sorry about the dual posting, the first one did not appear for until I
>> posted the second.
>>
>> The top and bottom of this is that something appears to be killing the
>> connection between mythfrontend and the X session manager. On the my
>> setup the session manager is xfce4_sm. I have set XFSM_VERBOSE and
>> have found something interesting.
>>
>> My backend  is configured for idle shutdown and wake on lan. The
>> backend system runs the database server as well. If the backend system
>> is not running then then mythfrontend goes into it wake on lan
>> procedure. At some time in the distant past this started to prevent
>> the gui from appearing, although I am not entirely sure about this, it
>> might have always done it. This is what the session manager log shows
>> happening.
>>
>> TRACE[xfsm-manager.c:1295] xfsm_manager_save_yourself_done():
>> enteringTRACE[sm-layer.c:162] sm_new_client(): ICE connection fd = 20,
>> received NEW CLIENT
>>
>> TRACE[sm-layer.c:213] sm_register_client(): ICE connection fd = 20,
>> received REGISTER CLIENT [Previous Id = None]
>>
>> TRACE[xfsm-manager.c:1607] xfsm_manager_save_timeout(): Client id =
>> 2ac51c2aa-c28b-4b54-8412-69aec21ced14, received SAVE TIMEOUT
>>     Client will be disconnected now.
>>
>> This happens whilst the frontend is still waiting for the database
>> connection to come up. When it does the frontend does a whole load of
>> gui image loads the thing you see in the log in loading
>> watermark/dvd.png at which point the ICE error occurs, presumably when
>> the main loop tries to send something to the session manager.
>>
>> Roger
>>
> Ok I can see what is happening now MSqlDatabase::OpenDatabase in
> mythdbcon.cpp has a sleep in the wake on lan loop. This is very
> unfriendly in a gui environment as the main message loop does not get
> actioned.
>
> Possible fixes.
>
> 1. Write a gui friendly version of OpenDatabase.
>
> 2. Move the wol stuff up into mythfrontend (I wonder if this was already
> done in reverse in the past/).
>
> 3. Do it in a wrapper.
>
> 4. Do it in systemd.
>
> 5. ?
>
> Roger
>
>
>
I have just committed new code that greatly improves the experience for 
when the database or backend is down during frontend startup. This is in 
Master, planned for MythTV version 29. There is nothing there as yet to 
address the problem of the database or backend going down after GUI startup.

Peter



More information about the mythtv-dev mailing list