tbodt has joined #pypy
marky1991 has joined #pypy
marr has quit [Ping timeout: 240 seconds]
rmesta has joined #pypy
jcea has quit [Quit: jcea]
rmesta has quit [Quit: Leaving.]
rmesta has joined #pypy
rmesta has quit [Client Quit]
rmesta has joined #pypy
rmesta has quit [Client Quit]
rmesta has joined #pypy
rmesta has quit [Client Quit]
rmesta has joined #pypy
rmesta has quit [Client Quit]
ArneBab has joined #pypy
ArneBab_ has quit [Ping timeout: 258 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
oberstet3 has joined #pypy
forgottenone has joined #pypy
oberstet2 has quit [Ping timeout: 260 seconds]
marky1991 has quit [Ping timeout: 258 seconds]
_whitelogger has joined #pypy
forgottenone has quit [Read error: Connection reset by peer]
forgottenone has joined #pypy
forgottenone has quit [Client Quit]
inhahe_ has quit []
tnorth has joined #pypy
arigato has joined #pypy
commandoline has joined #pypy
tnorth has quit [Ping timeout: 240 seconds]
arigato has quit [Quit: Leaving]
RustJason has joined #pypy
oberstet3 has quit [Ping timeout: 240 seconds]
realitix has joined #pypy
inhahe_ has joined #pypy
jamesaxl has quit [Ping timeout: 260 seconds]
jamesaxl has joined #pypy
oberstet3 has joined #pypy
marr has joined #pypy
jacob22 has quit [Quit: Konversation terminated!]
njs` is now known as njs
<danchr> just wondering; what's the status of PyPy on FreeBSD?
<LarstiQ> danchr: it has worked in the past iirc, not used by core devs so kept in shape by FreeBSD community interest
<LarstiQ> main thing is a working freebsd buildbot
<LarstiQ> with buildbots in general, often there is a spike in interest and then it drops, maintainers going awol
<danchr> no-one offered one?
arigato has joined #pypy
<LarstiQ> iirc I've seen freebsd buildbot got started at least twice
<danchr> ah, offline
<LarstiQ> but then yeah, dropoff as I said
<danchr> I suspect part of the issue is the rather steep hardware requirements :/
<cfbolz> there are a few people interested in freebsd, and occasionally we get a patch
jcea has joined #pypy
<danchr> I see they have an amd64 package for the latest release; that's rather promising
antocuni has joined #pypy
amaury has quit [Ping timeout: 268 seconds]
cstratak has joined #pypy
cstratak has quit [Remote host closed the connection]
cstratak has joined #pypy
amaury has joined #pypy
jacob22_ has joined #pypy
amaury has quit [Quit: Konversation terminated!]
Taggnostr has quit [Ping timeout: 268 seconds]
Taggnostr has joined #pypy
RustJason has quit [Ping timeout: 255 seconds]
arigato has quit [Quit: Leaving]
antocuni has quit [Ping timeout: 240 seconds]
nimaje1 has joined #pypy
nimaje1 is now known as nimaje
nimaje has quit [Killed (barjavel.freenode.net (Nickname regained by services))]
inhahe_ has quit []
Tiberium has joined #pypy
<nimaje> well, i would install pypy3 on freebsd, but it says 'pypy3-5.7.1_1 conflicts with pypy-5.7.1_1 on /usr/local/pypy-5.7/LICENSE' :), but else all seems to be good (I normally use pypy, cpython only when I need it)
<LarstiQ> nimaje: that's a bit silly
oberstet3 has quit [Remote host closed the connection]
oberstet has joined #pypy
<nimaje> well, I assume the file is the same, but package managers should avoid conflicts. I should send a patch that it installs LICENSE of pypy3 into pypy3-*/
inhahe_ has joined #pypy
<LarstiQ> nimaje: yeah
<LarstiQ> or dedup over packages
amaury has joined #pypy
inhahe_ has quit []
arigato has joined #pypy
Taggnostr has quit [Remote host closed the connection]
inhahe_ has joined #pypy
mattip has joined #pypy
<mattip> hi
<cfbolz> hey matti
<cfbolz> how are things?
amaury has quit [Ping timeout: 268 seconds]
<mattip> somebody reproduced the thread + gc issue I have been staring at for a few weeks
<mattip> in pure python so maybe I can get someone else to look at it too
<mattip> I guess that's progress :)
<mattip> at least it is not a cpyext-only problem
<cfbolz> mattip: ah, cool! futurist ist pure python?
<mattip> AFAICT. I am trying to cut the issue report down to a more digestable reproducer
<cfbolz> superficially it looks like a GC/thread interaction bug :-(
<arigato> yes, seems to be no .so anywhere
<mattip> I tried playing with many of the GC environment variables and sys.setrecursionlimit (to mess with stack size)
<mattip> to no avail (with --jit off)
<arigato> so it might be a JIT+GC+threads bug
<mattip> would "jit --off" still leave the JIT in the mix?
antocuni has joined #pypy
Rhy0lite has joined #pypy
<arigato> what did you mean? you got a crash with "--jit off", or never?
<mattip> sorry for the confusion. I have been running with jit --off
<Cheery> If you have a python program and prolog program on a pypy JIT, how fast they are compared to each other?
<mattip> and get intermittent crashes
<arigato> ok
<cfbolz> Cheery: depends on the program
<arigato> mattip: futurist.py crashes reliably very quickly for me when run on a debug pypy
<mattip> cool
<mattip> ( my experience is with issue 2530, which shows the same stack trace when crashing)
<arigato> well, the message is
<arigato> in pypy_g_IncrementalMiniMarkGC_visit: pinned object in 'objects_to_trace'
<arigato> this is a strong hint about what's wrong
<arigato> something is wrong with pinning, and we need threads to notice because pinned objects without threads are usually unpinned as soon as the system call returns
<arigato> if only I could run this with "rr" I would be happy, but in this case with rr it just seems to sleep forever
<arigato> in ctypes.util.find_library('c'), for no known reason
gbutnaru_ has quit [Ping timeout: 240 seconds]
<Cheery> cfbolz: The thing I wonder is that the whole idea of the JIT starting up on the runtime requires changing up a lot your views on what is efficient and what is not.
<cfbolz> yes, though a lot of the more prology features aren't 100% efficient even with a jit
gbutnaru_ has joined #pypy
<arigato> ...ok, sorry, it was a nice theory but actually it's caused by general GC garbage
<mattip> hmm, then it is more like issue 2530, which did not emit that assert error
<mattip> I thought it might be a GC interruption (thread pre-emption), but when running with "PYPYLOG=gc-collect:-"
<mattip> I did not see an unmatched pair of start/stop
<arigato> when running the GC, we don't release the GIL
<arigato> so at least that's expected
<mattip> in gdb, going through the "info thread" list of threads, I'm not sure all were waiting for the GIL
amaury has joined #pypy
amaury has quit [Ping timeout: 260 seconds]
FASDFSF has joined #pypy
amaury has joined #pypy
rmesta has joined #pypy
jacob22_ has quit [Quit: Konversation terminated!]
Taggnostr has joined #pypy
marky1991 has joined #pypy
marky1991_2 has joined #pypy
marky1991 has quit [Ping timeout: 240 seconds]
<arigato> ah I may have an idea---if I'm right the problem comes from an "optimization" I did in the GC
<mattip> ?
<arigato> ah no, it's more subtle
<arigato> I think it goes like that:
<arigato> Thread 1: start an incremental major collection, collect all roots from the stack of the current thread
<arigato> then we switch to Thread 2
<arigato> Thread 2 then continues the incremental major collection
<arigato> the problem is that the roots from Thread 2 where previously on the heap
<arigato> and maybe this heap object has not been visited before we switched to Thread 2
<LarstiQ> and doesn't do a root collection step?
<arigato> yes
<arigato> now we have roots on the stack, and the heap object is gone, and we finish the major collection
<arigato> so we never see the roots of thread 2
amaury has quit [Ping timeout: 252 seconds]
amaury has joined #pypy
<arigato> or more precisely:
<arigato> the roots from the current stack are seen only as far as needed for the minor collection that comes just before a major collection step
<arigato> "as far as needed" means that it will stop looking deeper in the stack if it finds a mark "already seen before"
<arigato> this "already seen before" is what I'm talking about: I added that as an optimization
amaury has quit [Quit: Konversation terminated!]
amaury has joined #pypy
amaury has quit [Ping timeout: 260 seconds]
amaury has joined #pypy
thinkwell has joined #pypy
thinkwell has quit [Client Quit]
<arigato> mattip: it seems the bug doesn't show up if we set use_jit_frame_stoppers=False in incminimark.py
tbodt has joined #pypy
<mattip> ... which means always do a major-collection-type walk_stack_root?
<arigato> yes
<arigato> a proper fix would be along the lines of: when we do a stack switch, we clear all markers
<arigato> or set a flag so that the next collect_roots_in_nursery() call will force use_jit_frame_stoppers=False
<mattip> if the cost of clearing all markers is expensive, then option two sounds preferable
<mattip> the net effect is probably about the same, assuming the threads hold many objects
amaury has quit [Quit: Konversation terminated!]
<mattip> if the threads are thin IO wrappers (a more healthy setup anyway) then maybe option two would be cheaper
amaury has joined #pypy
amaury has quit [Client Quit]
amaury_ has joined #pypy
jamesaxl has quit [Ping timeout: 240 seconds]
jamesaxl has joined #pypy
yuyichao has quit [Ping timeout: 260 seconds]
amaury_ has quit [Ping timeout: 240 seconds]
<arigato> option 2 is also simpler
forgottenone has joined #pypy
<danchr> iteresting: repeatedly opening 1000 files is noticably slower in PyPy3 than PyPy2 on OS X
<danchr> hm, the same appears true on Linux…
<LarstiQ> danchr: yeah, python3 overhauled io iirc, and that's probably not optimized on pypy3
<danchr> might be a semantic issue; the same applies to CPython
yuyichao has joined #pypy
<danchr> opening /dev/null takes ~2s in CPython 3.6, but ~0.5s in 2.7
<danchr> gah, 10000 times…
<danchr> s/10000/100000/
cstratak has quit [Ping timeout: 255 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
<antocuni> danchr: I guess it's because of the new io stack; try to use "import io; io.open(...)" in Python 2.7
<antocuni> I bet you see the same slowdown
<antocuni> (python 3's open is equivalent to python 2's io.open, basically)
cstratak has joined #pypy
<danchr> antocuni: looks like you're right — io.open() as about twice as slow in CPython 2.7 compared to 3.6, whereas PyPy retains essentially similar performance between open() in PyPy3 and io.open() in either version
<antocuni> danchr: what is the io.open/open ratio on PyPy?
<danchr> antocuni: the two are essentially the same in PyPy3, whereas raw open is ~50x faster than io.open() in PyPy2
<antocuni> ouch
tnorth has joined #pypy
<danchr> FWIW I'm using simple 'time', rather than timeit — all of this essentially came from curiosity
realitix has quit [Ping timeout: 258 seconds]
<LarstiQ> danchr: and cpython vs pypy io.open?
<danchr> LarstiQ: about 10
<danchr> i.e. pypy is approximately (and very unscientifically) ten times slower
jacob22_ has joined #pypy
jcea has quit [Ping timeout: 252 seconds]
jcea has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
FASDFSF has quit [Remote host closed the connection]
jamesaxl has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
marky1991_2 is now known as marky1991
marky1991 has quit [Changing host]
marky1991 has joined #pypy
marky1991 has quit [Quit: Saliendo]
Guest89650 has joined #pypy
Guest89650 has quit [Changing host]
Guest89650 has joined #pypy
Guest89650 has quit [Client Quit]
marky1991_2 has joined #pypy
marky1991_2 is now known as marky1991
marky1991 has quit [Client Quit]
marky1991 has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
<mattip> arigato: set use_jit_frame_stoppers=False and translating fixes issue 2530, at least I could no longer get a crash
<arigato> cool
<arigato> I also checked on my side with issue 2545
<mattip> good
<kenaan_> arigo default b2569cf1bd55 /rpython/memory/gctransform/shadowstack.py: (issue2545, issue2530, possibly others) Fix a multithreading bug that was there since a while with shadowstack. Th...
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
oberstet has quit [Ping timeout: 240 seconds]
cstratak has quit [Ping timeout: 260 seconds]
oberstet has joined #pypy
DragonSA has joined #pypy
arigato has quit [Ping timeout: 240 seconds]
arigato has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
nimaje1 has joined #pypy
nimaje1 is now known as nimaje
antocuni has quit [Ping timeout: 255 seconds]
<mattip> does someone remember how nt becomes a builtin module on win32? somehow nt.stat is zeroing out field st_ino
<mattip> on py3.5, but posix.stat is fine (at least in test_posix2.py)
<arigato> 'nt' is the name of the 'posix' module on windows
forgottenone has quit [Ping timeout: 252 seconds]
DragonSA has quit [Quit: Konversation terminated!]
Rhy0lite has quit [Quit: Leaving]
Tiberium has quit [Read error: Connection reset by peer]
Tiberium has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
cstratak has joined #pypy
cstratak has quit [Remote host closed the connection]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
sandyy has joined #pypy
jamesaxl has quit [Ping timeout: 240 seconds]
<sandyy> Hi Guys.
<sandyy> I am total beginner in open source but i know a bit of python and django.Could you help me to start in open source contribution
jamesaxl has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
<dash> sandyy: usually it is a good idea to contribute to projects you use, so you can tell if you made it better or not.
tnorth has quit [Remote host closed the connection]
<sandyy> hey dash thanks for replying. I use django but for beginner is there any site which tell bugs based on the level of difficulty
tbodt has joined #pypy
asmeurer__ has joined #pypy
tbodt has quit [Read error: Connection reset by peer]
lritter has joined #pypy
sandyy has quit [Ping timeout: 260 seconds]
tbodt has joined #pypy
<mattip> strange, I wonder why nt.stat() has st_ino == 0 (after translation), but posix.stat() doesn't (untranslated)
<mattip> nt.stat().st_ino == 0 on cpython 2.7 as well, but I do not see where, if at all, we zero it out
<mattip> somehow it must be getting aliased to a differnt function
nimaje1 has joined #pypy
nimaje1 is now known as nimaje
nimaje has quit [Killed (karatkievich.freenode.net (Nickname regained by services))]
tbodt has quit [Ping timeout: 260 seconds]
Taggnostr has quit [Ping timeout: 260 seconds]
asmeurer__ has quit [Quit: asmeurer__]
tbodt has joined #pypy
nimaje has joined #pypy
arigato has quit [Quit: Leaving]
nimaje1 has joined #pypy
nimaje1 is now known as nimaje
nimaje has quit [Killed (hitchcock.freenode.net (Nickname regained by services))]
asmeurer__ has joined #pypy
jamesaxl has joined #pypy
tbodt has quit [Ping timeout: 260 seconds]
tbodt has joined #pypy
Tiberium has quit [Remote host closed the connection]
tbodt has quit [Ping timeout: 240 seconds]
FASDFSF has joined #pypy
tbodt has joined #pypy
amaury has joined #pypy
asmeurer__ has quit [Quit: asmeurer__]
yuyichao has quit [Ping timeout: 240 seconds]
asmeurer has joined #pypy
amaury has quit [Ping timeout: 268 seconds]
mattip has left #pypy ["bye"]
asmeurer has quit [Quit: asmeurer]
asmeurer__ has joined #pypy
jcea has quit [Remote host closed the connection]
jcea has joined #pypy
yuyichao has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
asmeurer__ has quit [Quit: asmeurer__]
kipras is now known as kipras`away
nimaje1 has joined #pypy
nimaje1 is now known as nimaje
nimaje is now known as Guest39729
FASDFSF has quit [Remote host closed the connection]
pilne has joined #pypy
oberstet has quit [Ping timeout: 260 seconds]
asmeurer has joined #pypy
asmeurer has quit [Quit: asmeurer]