[mythtv] mythfrontend on ubuntu 17.04 testing X11 ICE problems

roger at beardandsandals.co.uk roger at beardandsandals.co.uk
Sun Feb 5 10:33:03 UTC 2017


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





More information about the mythtv-dev mailing list