On Wed, May 21, 2014 at 05:04:50PM +0200, Niklas Semmler wrote: > > On 21.05.2014 14:58, Tycho Andersen wrote: > >On Wed, May 21, 2014 at 11:35:32AM +0200, Niklas Semmler wrote: > >>Hi tycho, > >> > >>thanks for your answer. By now the error has disappeared again, > >>probably related to my exclusion of the pacman widget. Anyway I am > >>still interested in having a systematic way of debugging these kinds > >>of errors. > > > >So it looks (?) to me like before 409130 the pacman widget might have > >blocked on actually calling pacman, which could trigger some jerkiness > >(although I wouldn't think it would kill qtile entirely, unless > >`checkupdates` blocked forever. Are you experiencing the issue with > >the current git head and the pacman widget? > > Yes, that might be the cause. I pulled a new qtile version and will > inspect if the situation changes.
Cool, the new widget should spawn a thread (which will get blocked, but shouldn't block qtile at least; the underlying problem here would be that 'checkupdates' isn't returning, but qtile can't do anything about that). > > >>Your idea of connecting a debugger sounds good. But so far I have > >>not been able to manage that to work. I tried attaching gdb to the > >>running process: > >> > >> * Recompiling python with debug symbols > >> * Load the python gdb tools from source in gdb > >> * attaching gdb to the process > >> > >>What gives me the following error: > >> > >>Python Exception <class 'gdb.error'> There is no member named co_name.: > >>Error occurred in Python command: There is no member named co_name. > >> > >>Unfortunately this looks to be a dead end. With my little knowledge > >>of gdb and python on this level, there appears to be nothing I could > >>do. > >> > >>My best idea would be to open qtile and add a "manhole" as in this > >>example. > >>https://pypi.python.org/pypi/manhole > >> > >>What are your thoughts? > > > >I've never used manhole, but it looks interesting. Now that you > >mention it, I think we've had problems attaching debuggers > >(specifically pdb) in the past (most of them die when we do > >gobject.threads_init()), although I thought someone had had success > >more recently, I can't remember exactly what they did. Have you tried > >pdb instead of gdb? > > I was looking into pdb, but as far as I understand there is no way > to attach pdb to a running process. Please correct me if I am wrong. I'm not sure, but you're probably right :-) \t -- You received this message because you are subscribed to the Google Groups "qtile-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
