These are chat archives for dropbox/pyston

6th
May 2015
synecdoche
@synecdoche
May 06 2015 01:46 UTC
i started a doxygen build this morning with DOT_GRAPH_MAX_NODES = 5000. it's built 15G and counting :) maybe i set it a bit too high...
Chris Toshok
@toshok
May 06 2015 01:48 UTC
i love C function types: (void*(*)(void*))
synecdoche
@synecdoche
May 06 2015 01:50 UTC
when i was first learning c, the syntax for pointers to functions broke my brain the most
Travis Hance
@tjhance
May 06 2015 01:51 UTC
I still don't know the syntax
Chris Toshok
@toshok
May 06 2015 01:52 UTC
i learned early on to just use typedefs for function types
it removes most of the (*)’s
synecdoche
@synecdoche
May 06 2015 01:52 UTC
yeah, typedef is definitely your friend there
Chris Toshok
@toshok
May 06 2015 19:32 UTC
what’s the command to run the cpython tests?
Kevin Modzelewski
@kmod
May 06 2015 19:38 UTC
I usually just do make quick_check which runs them
you can look at the makefile to see what tester.py command it gives
Daniel Agar
@dagar
May 06 2015 19:38 UTC
or you can use ctest directly
ctest -R cpython
Chris Toshok
@toshok
May 06 2015 19:39 UTC
ahh, i tried running ctest but didn’t know about the -R cpython
Daniel Agar
@dagar
May 06 2015 19:39 UTC
ctest -VV -R cpython to see it as it runs
Chris Toshok
@toshok
May 06 2015 19:39 UTC
and didn’t know about quick_check at all :)
Daniel Agar
@dagar
May 06 2015 19:39 UTC
by default it's pretty quiet
Chris Toshok
@toshok
May 06 2015 19:43 UTC
hrm
test_binhex.py Correct output (722.0ms) on jitdev
test_binhex.py FAILED (Exited with code -11 (expected code 0)) on travis-ci :/
Kevin Modzelewski
@kmod
May 06 2015 19:45 UTC
yeah we've been seeing some segfaults on travis ci
you can go to the travis build page and rerun the build and usually it clears up
@dagar did you have any luck with getting core dumps?
Daniel Agar
@dagar
May 06 2015 19:47 UTC
no
not sure why it doesn't core within tester
any ideas?
Kevin Modzelewski
@kmod
May 06 2015 19:49 UTC
are things supposed to do that by default?
Chris Toshok
@toshok
May 06 2015 19:51 UTC
hm, so one thing to keep in mind in the future is our stat overhead. for the django template test, 12.8s with stats disabled. 13.6s with them enabled.
python runs it in 1.7s though, so we’re nowhere close to caring about that 800ms
Daniel Agar
@dagar
May 06 2015 19:53 UTC
as long as the ulimit core file size isn't 0 you should get one on a segfault
Kevin Modzelewski
@kmod
May 06 2015 20:05 UTC
isn't that usually 0?
I don't normally see core files on segfaults even not in the tester
Chris Toshok
@toshok
May 06 2015 20:06 UTC
oh, cool. travis-ci updated the PR with the new status. i seem to recall that not happening before
Marius Wachtler
@undingen
May 06 2015 20:08 UTC
I tried to hack together basic pdb support: looks like for the basic features I tried, setting a breakpoint, stepping, displaying a variable,.. we don't have to implement very much. But I don't have a finished implementation I just hacked in a sys.settrace callback and called it when inside the ast interpreter.
But doesn't look like it's a lot of work to get it right
Kevin Modzelewski
@kmod
May 06 2015 20:21 UTC
oh, @dagar I think the issue is that the tester chdir's to a temporary directory to run the tests
so the core file ends up there
(presumably)
but then it deletes it at the end
Daniel Agar
@dagar
May 06 2015 20:29 UTC
thanks, I'll take a look tonight
Chris Toshok
@toshok
May 06 2015 21:02 UTC
hm
Kevin Modzelewski
@kmod
May 06 2015 21:43 UTC
looks like travis-ci doesn't support core dumps for the docker setup we're using
since it tries to pipe them to apport and there's no way for us to change it
travis-ci/travis-ci#3754
Daniel Agar
@dagar
May 06 2015 21:54 UTC
I was afraid it would be something like that
tester could try rerunning tests that segfault within gdb
proc.returncode == -signal.SIGSEGV
not so helpful with the intermittent failures
Chris Toshok
@toshok
May 06 2015 21:56 UTC
we can also install a SIGSEGV that forks/execs gdb and has it attach and dump a stack trace
we did that in mono
Daniel Agar
@dagar
May 06 2015 21:57 UTC
fancy
Chris Toshok
@toshok
May 06 2015 22:18 UTC
wow, django-template.py allocates 145501216 bytes of BoxedDicts
oh here’s definitely something to fix: allocsize.tuple(0): 30339544
that’s basically us not returning EmptyTuple
Chris Toshok
@toshok
May 06 2015 23:18 UTC
there seems to be a difference between make pyston_dbg and make USE_CMAKE=0 pyston_dbg
the latter failed due to:
src/runtime/objmodel.cpp:2738:5: error: 'SLOWPATH_TIMERS' is not defined, evaluates to 0 [-Werror,-Wundef]
#if SLOWPATH_TIMERS
Kevin Modzelewski
@kmod
May 06 2015 23:20 UTC
didn't you get rid of all of those?
Chris Toshok
@toshok
May 06 2015 23:20 UTC
I thought I had. now I’ve verified that I have :)
it seems just the non-cmake _dbg build is configured to warn/error on those though
oh man, you can do break + cond in one gdb command
(gdb) b $file:$line if $cond