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.

Reply via email to