These are chat archives for dropbox/pyston

6th
May 2015
synecdoche
@synecdoche
May 06 2015 01:46
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
i love C function types: (void*(*)(void*))
synecdoche
@synecdoche
May 06 2015 01:50
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
I still don't know the syntax
Chris Toshok
@toshok
May 06 2015 01:52
i learned early on to just use typedefs for function types
it removes most of the (*)’s
synecdoche
@synecdoche
May 06 2015 01:52
yeah, typedef is definitely your friend there
Chris Toshok
@toshok
May 06 2015 19:32
what’s the command to run the cpython tests?
Kevin Modzelewski
@kmod
May 06 2015 19:38
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
or you can use ctest directly
ctest -R cpython
Chris Toshok
@toshok
May 06 2015 19:39
ahh, i tried running ctest but didn’t know about the -R cpython
Daniel Agar
@dagar
May 06 2015 19:39
ctest -VV -R cpython to see it as it runs
Chris Toshok
@toshok
May 06 2015 19:39
and didn’t know about quick_check at all :)
Daniel Agar
@dagar
May 06 2015 19:39
by default it's pretty quiet
Chris Toshok
@toshok
May 06 2015 19:43
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
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
no
not sure why it doesn't core within tester
any ideas?
Kevin Modzelewski
@kmod
May 06 2015 19:49
are things supposed to do that by default?
Chris Toshok
@toshok
May 06 2015 19:51
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
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
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
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
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
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
thanks, I'll take a look tonight
Chris Toshok
@toshok
May 06 2015 21:02
hm
Kevin Modzelewski
@kmod
May 06 2015 21:43
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
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
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
fancy
Chris Toshok
@toshok
May 06 2015 22:18
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
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
didn't you get rid of all of those?
Chris Toshok
@toshok
May 06 2015 23:20
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