[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