2013-12-16 7 views
8

Uno della nostra applicazione PyQt throwa un errore circa ICEAuthority come qui sotto e uscita -ICE gestore predefinito IO errore fare un'uscita(), pid = 11281, errno = 4

ICE gestore di errore IO di default fare un'uscita(), pid = 11281, errno = 4

a guardare il tracciato, vediamo le seguenti -

write(25, "\1\0\3\200\3\0\0\0\3\0\0\0\t\0\0\0\10\0\0\0\1\0\0\0\377rtStyle", 32) = 32 
read(25, 0x16a67f0, 8) = ? ERESTARTSYS (To be restarted) 
— SIGCHLD (Child exited) @ 0 (0) — 
write(6, "\0", 1) = 1 
rt_sigreturn(0x2) = -1 EINTR (Interrupted system call) 
write(2, "ICE default IO error handler doi"..., 69) = 69 

Questo appare come leggere il file ICEAuthority operazione non è riuscita per riavviare dopo mano ling SIGCHLD per uno dei processi che abbiamo generato dall'app PyQt. Su Google, ci sono molti rapporti sull'errore del file ICEAuthority e le persone suggeriscono di riavviare il sistema, eliminare il file .ICEAuthority o disabilitare SESSION_MANAGER. Per ora, siamo inclini a disabilitare SESSION_MANAGER nella nostra app PyQt. Ma mi piacerebbe capire perché l'operazione non è riuscita a riavviare l'operazione di lettura del file ICEAuthority. Si tratta di un bug nel codice di gnome-session? Qualcuno ne è a conoscenza?

Inoltre, vorrei ricordare che ho provato a impostare SA_RESTART su false per l'handle SIGCHLD per riavviare l'operazione. Questo non funzionava.

A seguire le informazioni di sistema -

Linux nyc-nx-l01.schrodinger.com 2.6.32-358.23.2.el6.x86_64 # 1 SMP Wed 16 ottobre 18:37:12 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

CentOS rilasciare 6.4 (finale)

+0

"SA_RESTART su false per l'handle SIGCHLD per riavviare l'operazione" È necessario impostare tale flag, non cancellarlo, per consentire il riavvio automatico dei syscalls. Potrebbe essere un codice che sovrascrive il tuo gestore di segnale. Sembra che qualche codice non gestisca correttamente EINTR, la domanda è quale codice. – nos

risposta

32

ho avuto lo stesso messaggio di errore all'avvio 'keepassx' su Ubuntu. L'eliminazione del mio file ~/.ICEauthority lo ha risolto. Solo cancellato una volta, non ho mai avuto il problema da allora.

+0

c'è qualche potenziale pericolo nell'eliminazione di '~/.ICEauthority'? – dbliss

+0

Non ne ho idea. Non so cosa faccia. Non ho notato alcun effetto negativo. –

+4

Cos'è questo file? -> http://askubuntu.com/a/439458/175545 – nabn

0

Nella mia macchina Linux USB non era leggibile, e quindi Kile mostrava anche l'errore "Gestore di errori IO ICE predefinito facendo un exit(), pid = 11212, errno = 0".

Eliminare il file .ICEauthority, ha funzionato per me.