Well, so I didn't know how to use gdb properly.... but I found https://wiki.python.org/moin/DebuggingWithGdb
I added the backtrace, py-bt, and py-list output to the gist: https://gist.github.com/flacjacket/118e3b3d69e076e26c11 On Thu, Jul 31, 2014 at 2:14 PM, Tycho Andersen <[email protected]> wrote: > On Thu, Jul 31, 2014 at 12:16:14PM -0500, Sean Vig wrote: > > Here's what I get from the backtrace: > > > > 2014-07-31 12:05:40,601 qtile call:91 Command: move_floating((10, 20, > 42, > > 42), {}) > > > > Program received signal SIGSEGV, Segmentation fault. > > tupledealloc (op=0x7fffeabfd7e0) at > > > /var/tmp/portage/dev-lang/python-2.7.7/work/Python-2.7.7/Objects/tupleobject.c:222 > > 222 > > > /var/tmp/portage/dev-lang/python-2.7.7/work/Python-2.7.7/Objects/tupleobject.c: > > No such file or directory. > > (gdb) > > > > Not sure how useful that is... > > Hmm, that is poopy. I was hoping for something at least inside cffi. I > will try and reproduce it tonight and take a look myself, but you're > right, at first glance it does sound like some xcffib/cffi bug. > > Tycho > > > > > On Thu, Jul 31, 2014 at 11:53 AM, Tycho Andersen <[email protected]> wrote: > > > > > Hi Sean, > > > > > > On Thu, Jul 31, 2014 at 11:35:57AM -0500, Sean Vig wrote: > > > > Hey, > > > > > > > > In working on [1], I ran into a weird test failure in > test_manager.py: > > > > test_default_float that happens in Python 2 [2] but not Python 3 > [3]. I > > > > thought this was related to the changes in that PR, since Python 2 > tests > > > > had run successfully before for the cffi branch [4]. However, I found > > > that > > > > I could reproduce the failure in [2], even from the main cffi branch. > > > > > > > > If anyone else could try to replicate this, or possibly track down > the > > > seg > > > > fault, I'd appreciate it. I've made a gist with everything to > reproduce > > > it > > > > here: > > > > > > > > https://gist.github.com/flacjacket/118e3b3d69e076e26c11 > > > > > > > > Here's what to do: > > > > > > > > 1. Checkout the cffi branch from > > > https://github.com/tych0/qtile/tree/cffi > > > > (you can get this in your git repo doing something like: git remote > add > > > > tych0 https://github.com/tych0/qtile.git; git fetch tych0; git > checkout > > > -t > > > > tych0/cffi). You'll need all the appropriate dependencies (see > > > > https://github.com/tych0/qtile/blob/cffi/.travis.yml) > > > > > > > > 2. Download test.py and test_config.py from the gist (I put them in > ~), > > > > you'll need to change the `sys.path.insert(0, > '/home/sean/qtile/qtile')` > > > > lines to point to your git directory > > > > > > > > 3. Run the commands in run_tests.sh in the gist. You can run these > > > commands > > > > in separate terminals if you want to see output separately. Here > again, > > > > I've hardcoded my git directory, so you'll have to change that. Note > the > > > > location of test.py and test_config.py are hardcoded, modify if you > put > > > > them somewhere other than ~. > > > > > > > > Trying to track it down, I get a segfault coming from > > > libqtile/xcbq.pyL534, > > > > `return self.conn.conn.core.ConfigureWindow(self.wid, mask, values)` > when > > > > running the command `c.window.move_floating(10, 20, 42, 42)`, which > makes > > > > me think it's an xcffib problem (????). Changing python2 to python3 > (2.7 > > > to > > > > 3.3), my test.py script runs successfully. > > > > > > What's the backtrace if you run qtile's python inside gdb? I think can > > > do it via something like: > > > > > > DISPLAY=:1 gdb python2 > > > (gdb) run /home/sean/qtile/qtile/bin/qtile -l INFO -c ~/test_config.py > > > > > > Tycho > > > > > > > Any feedback on this would be greatly appreciated, thanks! > > > > > > > > Sean > > > > > > > > [1] https://github.com/tych0/qtile/pull/5 > > > > [2] https://travis-ci.org/tych0/qtile/jobs/31291683 Python 2.7, see > > > first > > > > error in test.test_manager.test_default_float > > > > [3] https://travis-ci.org/tych0/qtile/jobs/31291687 above tests > pass for > > > > Python 3.3 > > > > [4] https://travis-ci.org/tych0/qtile/builds/31285277 Python 2.7 > passes > > > here > > > > > > > > -- > > > > 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. > > > > > > -- > > > 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. > > > > > > > -- > > 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. > > -- > 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. > -- 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.
