#pypy IRC log for Wednesday, 2010-06-09

nopper (~nopper@host3-184-dynamic.57-82-r.retail.telecomitalia.it) left irc: Remote host closed the connection00:05
Ademan (~dan@adsl-75-36-249-165.dsl.pltn13.sbcglobal.net) left irc: Quit: Lost terminal00:06
arigato (~arigo@c-6a4fe353.022-54-67626719.cust.bredbandsbolaget.se) left irc: Read error: Operation timed out00:14
Ademan (~dan@adsl-75-36-249-165.dsl.pltn13.sbcglobal.net) joined #pypy.00:23
Ademanthis is really aggravating... since I upgraded to lucid, x.org will go into a mode switching frenzy and keep changing the resolution, and whereas I've never had X.org crash before, it's crashed at least five times since I got lucide a month ago00:23
getxsickAdeman: Lucid is amazing, i have no idea what you are talking about ;-)00:24
ousado_ (~ousado@p5B3C2BA9.dip0.t-ipconnect.de) joined #pypy.00:27
ousado (~ousado@p5B3C2C7C.dip0.t-ipconnect.de) left irc: Ping timeout: 240 seconds00:27
bigdog1 (scmikes@72-197-8-8-arpa.cust.cinci.current.net) left #pypy.00:46
Alex_Gaynor (~alex@76-206-247-179.lightspeed.cicril.sbcglobal.net) left irc: Remote host closed the connection00:59
Alex_Gaynor (~Alex_Gayn@76-206-247-179.lightspeed.cicril.sbcglobal.net) joined #pypy.00:59
panni__ (hannes@ip-95-222-52-93.unitymediagroup.de) joined #pypy.02:37
panni_ (hannes@ip-95-222-52-93.unitymediagroup.de) left irc: Read error: Connection reset by peer02:37
panni__ (hannes@ip-95-222-52-93.unitymediagroup.de) left irc: Client Quit02:39
jcreigh (~jason@72-160-63-13.dyn.centurytel.net) left irc: Quit: Leaving03:01
kursor (~kursor@p57BB15D1.dip0.t-ipconnect.de) joined #pypy.03:18
ronny|ho1e (~egeram@p57978BFC.dip.t-dialin.net) joined #pypy.03:30
ronny|home (~egeram@p5B3DCB21.dip.t-dialin.net) left irc: Ping timeout: 258 seconds03:33
nettok (~netto@ joined #pypy.04:25
kursor (~kursor@p57BB15D1.dip0.t-ipconnect.de) left irc: Quit: kursor04:27
e-max_ (~e-max@ joined #pypy.04:36
ronny|ho1e (~egeram@p57978BFC.dip.t-dialin.net) left irc: Quit: leaving05:10
nettok (~netto@ left irc: Quit: Ex-Chat05:24
nettok (~netto@ joined #pypy.05:25
gutworthup late, too?05:31
nettok (~netto@ left irc: Quit: Ex-Chat05:34
Alex_Gaynorlate?  it's only 12:3005:36
nsf (~nsf@jiss.convex.ru) left irc: Ping timeout: 240 seconds05:43
ronny (ronny@pida/ronny) joined #pypy.05:48
fijalgutworth: just got back from climbing really05:53
fijalarigato: (if you read logs) I'll fix those failures tomorrow05:54
DasIch (~DasIch@p5DC5F88D.dip.t-dialin.net) joined #pypy.05:59
dju (dju@fsf/member/dju) left irc: Read error: Connection reset by peer06:01
dju (dju@fsf/member/dju) joined #pypy.06:01
DasIch_ (~DasIch@p5DC5ED3F.dip.t-dialin.net) left irc: Ping timeout: 258 seconds06:02
Scriptor (~Scriptor@ joined #pypy.06:37
mvt (~mvt@ joined #pypy.06:49
iko (iko@eskarina.iko.pp.se) left irc: Ping timeout: 276 seconds07:18
Scriptor (~Scriptor@ left irc: Quit: Scriptor07:19
fubd (~a@digsby05.rit.edu) left irc: 07:21
antocuni (~antocuni@host83-56-dynamic.14-87-r.retail.telecomitalia.it) joined #pypy.07:21
iko (iko@eskarina.iko.pp.se) joined #pypy.07:23
arigato (~arigo@c-164be353.022-54-67626719.cust.bredbandsbolaget.se) joined #pypy.07:29
kenaan03afa 10r7522814 07M(pypy/branch/cpyext-init-cleanup/pypy/module/cpyext/api.py): Move module-level code to a function ...07:52
pedronis (~pedronis@46-180.61-188.cust.bluewin.ch) joined #pypy.07:53
mwhudson (~mwh@canonical/launchpad/mwhudson) joined #pypy.07:58
nsf (~nsf@jiss.convex.ru) joined #pypy.08:08
verte (~verte@ joined #pypy.08:19
mwhudsonhas there been a benchmark run on speed.pypy.org since blackhole-improvements landed?08:24
arigatohard to see the difference, on these benchmarks08:26
arigatomaybe we should really add e.g. translate.py08:27
antocuniarigato: so, the result is that you destroyed all of the ootype jit for no improvement? :-)08:27
arigatoyes :-)08:27
arigatosorry about that08:28
antocuniwell, no problem08:28
antocuniI'll try to catch it up at some point08:28
antocuniif we did the big rtyper refactoring, these things would not happen :-/08:29
wolf_ (~venkatakr@ joined #pypy.08:30
vertewhich refactoring?08:33
kenaan03arigo 10r7522914 pypy/trunk/pypy/jit 07M(llimpl.py assembler.py regalloc.py executor.py jitprof.py optimizeopt.py pyjitpl.py resoperation.py simple_optimize.py test_basic.py test_jitprof.py test_optimizeopt.py test_string.py jitou ...08:34
aleale (~aleale@0x57386838.honqu1.dynamic.dsl.tele.dk) joined #pypy.08:35
alealeare you sure that there have been a benchmark run since the merge?08:36
CIA-5503arigo 07roundup * 10#545/Rare bug in optimizeopt: [testing] After discussions in IRC that you have to fish for by date (e.g. to get the answer to "I fixed one issue"), r75229 might fix the issue t ... * 14https://codespeak.net/issue/pypy-dev/issue54508:39
arigatoaleale: I did a few benchmark runs before the merge, at least08:40
arigatoaleale: hum, yes, most buildbot processes did not run this morning08:42
alealeso I dont think it made it to speed.pypy.org 08:43
arigatono, but as I said I did a few runs before the merge08:43
arigatowhich should have ended up at speed.pypy.org as well08:43
arigato(it ignores the branches)08:44
Shanita (~John@f049147210.adsl.alicedsl.de) joined #pypy.08:53
Moku (~John@f049020145.adsl.alicedsl.de) left irc: Ping timeout: 260 seconds08:54
wolf_ (~venkatakr@ left irc: Ping timeout: 260 seconds09:09
cmd (dmc@fragstore.net) left irc: Ping timeout: 240 seconds09:12
cmd (dmc@fragstore.net) joined #pypy.09:13
mwhudson (~mwh@canonical/launchpad/mwhudson) left irc: Ping timeout: 276 seconds09:13
mwhudson (~mwh@canonical/launchpad/mwhudson) joined #pypy.09:23
Hory (~hory@ joined #pypy.09:39
kenaan03arigo 10r7523014 07M(pypy/trunk/pypy/lib/test2/test_dbm_extra.py): Missing import. ...09:39
arigatoexarkun: you may have broken test_zipimport.py10:04
arigatoexarkun: see http://codespeak.net:8099/summary/longrepr?testname=unmodified&builder=pypy-c-app-level-linux-x86-32&build=629&mod=lib-python.2.5.2.test.test_zipimport10:05
mwhudson (~mwh@canonical/launchpad/mwhudson) left irc: Ping timeout: 276 seconds10:06
kenaan03arigo 10r7523114 pypy/trunk/pypy/jit/tl/tinyframe 07M(/* /test/*): fixeol ...10:07
kenaan03arigo 10r7523214 pypy/trunk/py 07M(/* __init__.py* __metainfo.py* _builtin.py* /_cmdline/* __init__.py* pycleanup.py* pyconvert_unittest.py* pycountloc.py* pylookup.py* pysvnwcrevert.py* pytest.py* pywhich.py* /_code/* __init__.py ...10:08
kenaan03afa 10r7523314 07M(pypy/branch/cpyext-init-cleanup/pypy/module/cpyext/api.py): Remove unused parameter ...10:09
e-max__ (~e-max@ joined #pypy.10:15
kenaan03arigo 10r7523414 07M(pypy/trunk/lib-python/modified-2.5.2/distutils/tests/test_msvccompiler.py): Attempt to skip this file on non-Windows platforms. ...10:16
e-max_ (~e-max@ left irc: Ping timeout: 245 seconds10:18
wolf (~venkatakr@ joined #pypy.10:21
Nick change: wolf -> Guest6311010:21
verte (~verte@ left irc: Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org10:22
kenaan03arigo 10r7523514 07M(pypy/trunk/pypy/module/sys/interp_encoding.py): Revert r75039.  It makes pypy-c -A tests fail on tannit, ...10:23
mwhudson (~mwh@canonical/launchpad/mwhudson) joined #pypy.10:23
aleale (~aleale@0x57386838.honqu1.dynamic.dsl.tele.dk) left irc: Quit: aleale10:24
kursor (~kursor@p57BB03A6.dip0.t-ipconnect.de) joined #pypy.10:47
kursor (~kursor@p57BB03A6.dip0.t-ipconnect.de) left irc: Read error: Connection reset by peer10:47
kursor (~kursor@p57BB03A6.dip0.t-ipconnect.de) joined #pypy.10:47
lizardo (~lizardo@ joined #pypy.10:53
nsf (~nsf@jiss.convex.ru) left irc: Quit: WeeChat 0.3.210:54
nsf (~nsf@jiss.convex.ru) joined #pypy.11:01
Guest63110 (~venkatakr@ left irc: Ping timeout: 260 seconds11:11
fuzzyman (~voidspace@87-194-212-65.bethere.co.uk) joined #pypy.11:15
Guest63110 (~venkatakr@ joined #pypy.11:16
arigatothe unicode errors that fijal introduced three days ago and left untouched are a complete mess to fix11:16
arigatoI may just revert them instead11:17
antocuni (~antocuni@host83-56-dynamic.14-87-r.retail.telecomitalia.it) left irc: Ping timeout: 276 seconds11:20
Guest63110 (~venkatakr@ left irc: Ping timeout: 258 seconds11:26
nsf (~nsf@jiss.convex.ru) left irc: Quit: WeeChat 0.3.211:28
nsf (~nsf@jiss.convex.ru) joined #pypy.11:28
nsf (~nsf@jiss.convex.ru) left irc: Client Quit11:29
nsf (~nsf@jiss.convex.ru) joined #pypy.11:30
nsf (~nsf@jiss.convex.ru) left irc: Client Quit11:30
nsf (~nsf@jiss.convex.ru) joined #pypy.11:31
nsf (~nsf@jiss.convex.ru) left irc: Client Quit11:32
nsf (~nsf@jiss.convex.ru) joined #pypy.11:32
aleale (~aleale@0x57386838.honqu1.dynamic.dsl.tele.dk) joined #pypy.11:34
mwhudson (~mwh@canonical/launchpad/mwhudson) left irc: Ping timeout: 276 seconds11:41
amaury_ (~5bc3480e@gateway/web/freenode/ip. joined #pypy.11:47
gonsor (~quassel@kel30.kel.stud.uni-goettingen.de) joined #pypy.11:52
cmd (dmc@fragstore.net) left irc: Ping timeout: 245 seconds11:53
ebo^ (~ebo@2001:6f8:1ca0:4711:226:2dff:fef9:ea8f) joined #pypy.11:54
stakkars (~tismer@ joined #pypy.11:57
cmd (dmc@fragstore.net) joined #pypy.11:58
Hory (~hory@ left irc: Ping timeout: 276 seconds12:02
amaury_arigato: hi12:07
amaury_thanks for fixing the tests12:07
arigatono problem12:18
arigatoit was much easier than the unicode test failures, which I still have not fixed at all12:18
amaury_yes, I tried also12:21
amaury_but I could not fix ootype/rstr.py12:21
arigatowe also need much more special-casing in llinterp.py12:21
arigatoand all other places that call fn_raise_OSError()12:22
romao (~Caio@ joined #pypy.12:22
arigatoI still think that it was a very bad idea to use the normal Unicode{En,De}codeError in RPython12:23
arigatohah, even the cli backend is broken, as far as I see12:24
amaury_yes, raise UnicodeEncodeError("message") was valid RPython12:30
amaury_when it's not even valid in CPython12:30
nsf (~nsf@jiss.convex.ru) left irc: Quit: WeeChat 0.3.212:36
exarkunarigato: I can't see anything (at all) at http://codespeak.net:8099/summary/longrepr?testname=unmodified&builder=pypy-c-app-level-linux-x86-32&build=629&mod=lib-py12:37
Hory (~hory@ joined #pypy.12:37
WildChilddoes anything exist that can pickle the metadata of a module (class definitions, function definitions, etc.)?12:45
amaury_exarkun: I think this URL is truncated12:46
amaury_try http://buildbot.pypy.org/summary/longrepr?testname=unmodified&builder=pypy-c-app-level-linux-x86-32&build=629&mod=lib-python.2.5.2.test.test_zipimport12:46
exarkunamaury_: :(12:46
exarkunamaury_: It's probably still truncated, I guess.12:46
WildChildexarkun: pickle will only save a reference to a class or a function inside a module12:46
exarkunamaury_: At least in my IRC client.12:46
WildChildI want to pickle the function itself or the class itself12:46
WildChildto "recreate" it without the source on another interpreter12:46
exarkunWildChild: There's no metadata.  There's just objects.12:46
WildChildI know they are objects12:46
amaury_exarkun: this one is short enough http://buildbot.pypy.org/summary?category=applevel12:47
exarkunamaury_: Thank you :)12:47
WildChildbut a class it "sort of" a meta-object that generates some other objects of its type12:47
WildChildand a class isn't pickled by pickle12:47
amaury_exarkun: I guess that the "test_zipimport" failure is for you12:47
exarkunamaury_: I guess so12:47
exarkunAlthough it passes when I run it :(12:48
amaury_it's an applevel test12:48
amaury_did you run it with a translated pypy-c?12:48
exarkunOhh.  No.  And in fact I did not run it, I ran PyPy's test_zipimport, not this test_zipimport.12:49
WildChildI guess there's nothing like this in Python? :)12:49
exarkun(I tried to run the whole test suite but six hours later it crashed so I didn't get to see the results)12:49
exarkunWildChild: There's probably lots of things like it.12:49
exarkunWildChild: pyro, py.execnet, etc, all those things must have something like it.12:50
WildChildmost of these use the .py file to move the code12:50
exarkunWhy do you care about the implementation if it achieves the desired goal?12:50
WildChildI have some case where moving the .py is just really easy but some other where I need to copy a really specific part of a module and where the source may not be available12:51
exarkunThat sounds unnecessarily challenging.12:51
WildChildex: interactive interpreter12:51
exarkunIn the general case, you can't extract part of a module for execution elsewhere.12:51
exarkunHow are you going to figure out which other parts of the module it requires for correct operation?12:51
exarkunYou can't do it.12:52
WildChildI lied. I want to copy the entire module, not just a part of it12:52
exarkunYou just don't want it to be as easy as copying a .py file?12:52
WildChildreferences to other modules can usually be copied with the file, this part is easy12:52
exarkunGood luck12:52
WildChildI'll explain in some other way12:53
WildChildI'm trying to create some kind of tasklet sandboxing so an interpreter can receive tasklets from many sources and I want to avoid name clashes12:53
WildChildalso, the server that receives tasklets has it's own program and received tasklets must not interfere with this program12:54
exarkunI assume you're talking about accidental clashes, not intentional ones12:54
exarkunSo you were planning to rename modules anyway, it seems12:54
exarkunWhy is that any harder if you're sending .py files around instead of random pickley things?12:55
kenaan03arigo 10r7523614 pypy/trunk/pypy 07M(builtin.py classdef.py test_annrpython.py unicodetype.py runicode.py rstr.py rbuiltin.py test_rbuiltin.py): Revert half of r75146, which was half-done (see e.g. test_runicode ...12:55
WildChildis it easy to load a python file as a module with a customized name?12:56
WildChildimp module?12:56
exarkunm = types.ModuleType("name")12:57
exarkunexec source in m.__dict__12:57
exarkunsomething like that12:57
WildChildoh, that I know!12:57
exarkunperhaps imp.load_module is a good idea too, yea.  The imp module seems kinda sketchy, though.12:57
WildChildI already use it for a late loading of remote imports12:58
WildChildworks well12:58
WildChildthe interactive interpreter still gives me some problem as there are no source file associated with it12:59
WildChildI could always add this to the list of limitations :P12:59
exarkunYou can fix that, too, with enough effort.12:59
gonsor (~quassel@kel30.kel.stud.uni-goettingen.de) left irc: Ping timeout: 265 seconds12:59
exarkuninspect.getsource or linecache.getline12:59
exarkunYou can interfere with one of those13:00
WildChildI think getsource didn't work13:00
mwhudson (~mwh@canonical/launchpad/mwhudson) joined #pypy.13:01
romao (~Caio@ left irc: Read error: Connection reset by peer13:01
WildChildabout pickling the state, I already started something that kinda work but I know there's a lot of stuff I don't cover yet. I can pickle classes (old style and new style) and functions including func_code) and load them on a remote interpreter13:02
WildChildjust wanted to know if there was already something move evolved like this :)13:03
WildChildbut imp.load_module seems a good idea when I know I have the source available13:03
Action: exarkun vomits13:10
exarkuntest_zipimport is utter garbage13:10
exarkunCan someone tell me where the files it's operating on go?13:11
exarkunOh nevermind, there's the os.remove call13:12
exarkunAghh and they all use the same filename13:12
exarkunAnd surprise, the behavior varies depending on whether you run the whole module or just one test13:13
exarkun... and the zip file the tests create isn't importable outside of the test suite for some reason13:16
exarkun... and I can't even run the test on top of CPython at all?13:20
copelco (~copelco@h-66-166-135-210.atlngahp.static.covad.net) joined #pypy.13:23
getxsicklist.append/pop is thread-safe in Python?13:24
amaury_getxsick: thanks to the GIL: http://effbot.org/pyfaq/what-kinds-of-global-value-mutation-are-thread-safe.htm13:24
getxsickoh, nice link :)13:25
amaury_nice site in general13:25
mwhudson (~mwh@canonical/launchpad/mwhudson) left irc: Ping timeout: 276 seconds13:25
WildChildgetxsick: I now remember a reason to manually pickle a module instead of moving a file. a future plan for my project. dynamic code update13:28
WildChildif a loaded modules has parts of its code replaced, it can't be loaded directly from the source file13:28
exarkunWhy not?13:29
exarkunI used to do that all the time.13:29
WildChildunless you do the modification in the same exact source file? 13:29
exarkunI don't understand what that means.13:30
WildChildI explain13:30
WildChildI have a remote tasklet (on a remote interpreter) but a reference to it. 13:30
WildChildtasklet.updatecode("name", new_function)13:31
WildChildupdatecode should push the code of new_function to the remote interpreter and reload it in the module in which the tasklet execute with the name "name"13:32
WildChildhow would you do that?13:32
exarkunamaury_: Do you know how many hours it will take to run test_zipimport on py.py?13:32
arigatoexarkun: if it's too long, you should not try, but instead run it on top of pypy-c13:32
exarkunarigato: But if I change the implementation of zipimport, then I have to retranslate :/13:33
arigatoexarkun: yes13:33
exarkunSo either way I'm in for hours of suffering13:33
arigatoexarkun: but you might also extract the test that is failing13:33
arigatoexarkun: and run only that one on top of py.py, or even only part of it, as a specific one-liner test that you put in pypy/module/zipimport/test13:34
exarkunThat's what I'm trying to do.  I can't understand what's going on in python's test_zipimport, I want to add some debug prints and see what they say on pypy.13:34
arigatowhy can't you use an existing pypy-c to run that? and compare it with CPython?13:35
exarkunThe debug prints are in the zipimport implementation.  Sorry, I was unclear.13:35
exarkunEverything worth inspecting happens inside __import__.13:36
exarkunProbably if I were smarter I could just read the code and see the bug.  But I can't, I need a lot of interactive help.13:37
arigatoah, messy indeed13:40
Alex_Gaynor (~Alex_Gayn@76-206-247-179.lightspeed.cicril.sbcglobal.net) left irc: Quit: Alex_Gaynor13:43
e-max__ (~e-max@ left irc: Ping timeout: 240 seconds13:45
romao (~Caio@ joined #pypy.13:47
Alex_Gaynor (~alex@76-206-247-179.lightspeed.cicril.sbcglobal.net) joined #pypy.13:53
mwhudson (~mwh@canonical/launchpad/mwhudson) joined #pypy.13:54
jcreigh (~jason@72-160-63-13.dyn.centurytel.net) joined #pypy.13:57
Action: exarkun narrows it down to six tests14:05
exarkunAnd cleaning up the modules imported by testZipImporterMethods at the end of that test fixes it14:07
exarkunSo why doesn't CPython care about those left-over modules14:07
lucian_ (~lucian@188-222-55-189.zone13.bethere.co.uk) left irc: Quit: Leaving...14:22
exarkunFor some reason __import__ doesn't return the module already in sys.modules on CPython :/14:26
exarkunBut only in this special case, not in general14:27
gutworththat's because __import__ is riddled with implementation details14:27
gutworthyou're probably calling it in some way the interpreter never expects14:27
gutworthor does14:28
Alex_GaynorDjango has a somewhat pure python veresion of __import__ :D14:28
gutworthno, you have a wrapper over it14:28
exarkungutworth: Well, it's not me14:28
exarkungutworth: It's Lib/test/test_zipimport.py14:28
gutworthoh, joy14:28
Alex_Gaynorguibou: nope, we now have a total implementation of the finder portion of it14:28
Alex_Gaynordoh, gutworth 14:28
gutworthyes, passing "dummy" there is a hack14:29
exarkunShould I have been paying attention to that?14:29
exarkunI can never remember what fromlist is supposed to do14:29
gutworthin this case it ensures that the last module in the dot sequence is returned14:30
Alex_Gaynorfromlist scares me, i've learned not to use it14:30
exarkungutworth: What would a non-hack value be?14:30
Alex_Gaynorbecause strange hacks like fromlist=[""] and fromlist=["*"] I ran away14:30
exarkun__import__("A.B", ..., ["B"])?14:30
gutwortha non hack would be doing something like Lib/importlib.py14:31
gutworthor importlib/__init__.py as it may be14:31
exarkunAt the moment I'm only interested in making these tests not fail on PyPy somehow.  So that excludes anything related to importlib, I think.14:32
arigatotraditionally we pass ["__doc__"] as the last arg to __import__14:32
arigato(not saying that it's not a hack)14:32
nopper (~nopper@host114-196-dynamic.6-87-r.retail.telecomitalia.it) joined #pypy.14:32
exarkungutworth: Oh.  Yea, I already have a function like that.  I'm not really sure it's relevant here, though.14:32
exarkunSo ["__dummy__"] is a hack, but does it cause sys.modules to be ignored or something?14:33
exarkunDoes regrtest.py do something to sys.modules sometimes?14:35
exarkunUgh, it does... But hopefully nothing that's actually relevant here.14:35
gutworthyou're not really expanding on your problem14:36
Action: gutworth leaves14:37
exarkunWhy would I want my problem to expand?14:37
Alex_Gaynorexpanding *on* ;)14:37
exarkun"expounding" is a much better word14:38
Alex_Gaynor"expanding on" is a fair common phrase I think14:38
exarkungutworth: If you're interested, there's plenty of stuff in scrollback.14:38
exarkunAlex_Gaynor: Better things are often less common, true.14:38
exarkunWell, I give up.  Three hours is my limit.14:42
tav_ (~tav@2001:0:53aa:64c:0:3ffb:abf2:50cd) joined #pypy.14:42
tav (~tav@2001:0:53aa:64c:0:3ffb:a3e2:c907) left irc: Ping timeout: 260 seconds14:44
Nick change: tav_ -> tav14:44
dju (dju@fsf/member/dju) left irc: Read error: Connection reset by peer14:50
Alex_Gaynorout of memory (from JITted code)14:59
Alex_Gaynorhappened while trying to translate pypy (with jit) using pypy-c (with JIT) as translated yesterday14:59
Shanita (~John@f049147210.adsl.alicedsl.de) left irc: Read error: No route to host15:03
Moku (~John@f049147210.adsl.alicedsl.de) joined #pypy.15:03
fijalarigato: why are unicode errors hard to fix?15:11
arigatofijal: it's done by now15:15
arigatosee the checkin message15:15
fijalr75039 was not meant to be merged, sorry15:15
ebo^ (~ebo@2001:6f8:1ca0:4711:226:2dff:fef9:ea8f) left irc: Read error: Connection reset by peer15:16
fijalbut anyway, why r75236?15:16
fijalit's only about passing more attributes to UnicodeDecodeError, is it hard?15:16
arigatowell I gave up after two hours this morning15:17
arigatoso I guess so15:17
fijalwhy it was hard?15:17
arigatosee e.g. make_raise_OSError15:17
arigatoI'm not saying it's specially hard, but it requires many more special cases (in addition to the ones you always did)15:18
fijalit requires less special cases15:18
fijalplaces that do raise UnicodeDecodeError15:19
arigatoif you don't understand why make_raise_OSError, then I can explain it to you15:19
fijalshould pass arguments15:19
fijalthat's it15:19
arigatobut it will take a while15:19
fijalI have to go and buy milk, brb15:19
aleale (~aleale@0x57386838.honqu1.dynamic.dsl.tele.dk) left irc: Quit: aleale15:20
lucian (~lucian@188-222-55-189.zone13.bethere.co.uk) joined #pypy.15:23
mvt (~mvt@ left irc: Quit: Leaving15:24
fijalarigato: my question is why is making all places that raise UnicodeXError use 6 parameters not enough15:34
amaury_Because after translation there is only one prebuilt UnicodeError15:36
arigatoamaury_: no, wait15:36
amaury_(eh, that's what I was said before)15:37
gonsor (~quassel@kel30.kel.stud.uni-goettingen.de) joined #pypy.15:37
arigatook, but that is wrong from 3 days ago until this morning :-)15:38
arigatofijal: one issue left is testing15:38
arigatoyou need quite special cases for exceptions that take arguments15:38
arigatoe.g. you need to be able to convert from the low-level exceptions and Python exceptions and back in llinterp.py15:39
arigatofor one direction, you would need to copy carefully fn_raise_OSError, which does it for OSError already15:40
arigatogrepping, I find 4 places that use it, all a bit delicate15:40
fijalso it's only a matter of testing?15:40
arigatoand all potentially broken by your branch15:40
fijalwhich is fragile?15:40
arigatothen there is the other direction15:41
arigatoit's not strictly just for testing15:41
fijalso what is it?15:41
fijalit definitely worked after translation15:41
arigatoe.g. on ootype, the operation 'oounicode' can raise UnicodeDecodeEror15:41
arigatoso my guess is that an ootype translation would not work out of the box15:41
fijalit's not like we have a buildbot that does it, mind you15:42
arigatoyou would need to fix the cli and jvm backends first15:42
fijalok, fine15:42
nsf (~nsf@jiss.convex.ru) joined #pypy.15:43
arigatofor the other direction of conversion, it's broken too15:43
fijalI think it's enough to convince me15:43
stakkars (~tismer@ left irc: Ping timeout: 265 seconds15:44
arigatoso that means e.g. that existing tests using interpret_raises(UnicodeDecodeError, ..) won't work15:44
arigatoI got a pypy-c binary, but running it always just prints "Error calling sys.excepthook: (..) No module named traceback"15:50
stakkars (~tismer@ joined #pypy.15:50
arigatoeven if I put it inside pypy/15:50
kenaan03afa 10r7523714 pypy/branch/cpyext-init-cleanup/pypy/module/cpyext 05A(gateway.py) 07M(api.py boolobject.py classobject.py complexobject.py datetime.py dictobject.py eval.py floatobject.py funcobject.py import_.py intobject.py ite ...15:57
Action: fijal is buying tickets for south africa15:57
getxsickfijal: for when?15:58
fijal~10th of July15:58
mwhudsonthat's after the impending excitement finishes?15:58
fijalmwhudson: precisely15:58
mwhudsonseems like a good idea15:59
fijalamaury_: did you look into distinguishing between pypy-built so and cpython-built one?15:59
fijalI think that would be a blocker for introducing it into a release15:59
fijalmwhudson: how far it is from SA to NZ?15:59
fijalpretty far?15:59
mwhudsonfijal: yes16:00
mwhudsonalso, you probably have to fly via somewhere like dubai16:00
amaury_I'll try by simply changing the PYTHON_API_VERSION16:00
fijalamaury_: will it prevent segfaults?16:00
arigatoamaury_: what is wrong with giving the file a distinguished name?16:01
jcreighfijal: oh, cool. why south africa?16:01
fijalmy point is that if we include cpyext, people would try to load random .so's (like cpython speedups)16:01
fijalarigato: I'm pretty sure some stuff have hardcoded names16:01
fijaljcreigh: work16:01
fijalmwhudson: you can go via singapure16:02
amaury_fijal: it will prevent segfaults if Py_InitModule is called early enough by the module16:02
fijalthen I want distinguished name16:02
fijalI really want to avoid segfaults for each case16:03
mwhudsonfijal: that's not completely ridiculous i guess16:03
fijalstill far :)16:04
amaury_but for example Boost.Python won't work any more16:04
amaury_it has its own build system16:04
fijalhow about having different symbol16:05
fijalthat is looked up *before* we do anything?16:05
amaury_I don't know how to implement it16:05
amaury_you cannot add a new .c16:05
amaury_you cannot add some compiler option16:06
amaury_everything must be in .h files16:06
fijalwhen you compile an extension16:06
mwhudson_ (~mwh@fw-unat.cambridge.arm.com) joined #pypy.16:07
fijalyou add a symbol inside the extension with a special value16:07
fijaland then it's looked up when it's loaded16:07
amaury_how do you add a symbol in an extension?16:07
mwhudson_fijal: well yes16:07
mwhudson_fijal: "is it far from NZ to *" has the same answer for most values of "*" :-)16:08
stakkars (~tismer@ left irc: Ping timeout: 265 seconds16:09
mwhudson (~mwh@canonical/launchpad/mwhudson) left irc: Ping timeout: 276 seconds16:09
Nick change: mwhudson_ -> mwhudson16:09
fijalamaury_: good question :)16:09
tav_ (~tav@ joined #pypy.16:10
exarkunamaury_: Well, ELF is a pretty well-defined format, right?16:12
tav (~tav@2001:0:53aa:64c:0:3ffb:abf2:50cd) left irc: Ping timeout: 248 seconds16:13
Nick change: tav_ -> tav16:13
stakkars (~tismer@ joined #pypy.16:13
exarkunBut isn't this idea hopeless, if you want to support Boost?16:13
exarkunIf Boost has its own build system, then how could you influence the resulting binaries?16:13
amaury_exarkun: with some magic in Python.h16:14
exarkunamaury_: except no one seems to know a way to achieve such a thing16:17
mwhudsonfijal: you can also fly from .za to sydney and then to nz. which at least stays in the right hemisphere16:17
stakkars (~tismer@ left irc: Ping timeout: 265 seconds16:17
fijalmwhudson: oh, cool, not from CPT though16:18
fijalamaury_: I'm scared16:18
fijalI really want to avoid segfaults16:18
exarkunCan symbols be enumerated?  Or can you only try to get one and have it either succeed or not?16:19
amaury_"nm -u" does this16:21
exarkunWell, I'm sure there's some way to enumerate them.  It's mostly a question of how hard it is, I guess.16:21
exarkunSince someone will have to implement it for .dylibs and .dlls16:21
amaury_I've already to this on Windows16:22
amaury_I've once *done* this on Windows16:23
exarkunI'm trying to think of ways you could define a symbol in Python.h and have it end up with a different name each time it's evaluated16:23
exarkunI don't think there's any way to use a counter.  __FILE__ doesn't help because that's always Python.h.16:24
kenaan03arigo 10r7523814 pypy/trunk/pypy/module/sys 07M(app.py test_sysmodule.py): Try to be really careful in sys.excepthook(). ...16:25
exarkunIf you stuffed the expression into some other name, like Py_InitModule, then it'd be evaluated in the right context for __FILE__ to work, but it'd be in a function, so you'd need something that's going to be used at the top-level16:25
Alex_Gaynorif this was C++ we probably could, templates are turing complete afte rall16:25
exarkunBut you'd also have to make sure it's something that every module is going to use16:25
exarkunThings like PyDoc_STR are nice candidates, but you still can't be 100% sure16:26
exarkunAlthough hey, maybe people won't even call anything16:27
exarkunBut then that's okay, because you won't segfault when trying to service some call.16:27
arigatowhy do we want the name of the symbol to change?16:28
exarkunimplementation detail16:29
fijalarigato: we want to encode information somewhere16:29
arigatoisn't it enough to have a macro in our Python.h that defines Py_InitModule to some different name that only exists in pypy?16:29
exarkunwe want to know if a module was built against pypy or not16:29
exarkunarigato: That doesn't handle the case where a module doesn't call Py_InitModule until after it's done something else that causes a segfault16:29
arigatoI don't really care16:30
mwhudson (~mwh@fw-unat.cambridge.arm.com) left irc: Ping timeout: 276 seconds16:30
arigatoPy_InitModule should be the first thing any module does, no?16:30
mwhudson (~mwh@canonical/launchpad/mwhudson) joined #pypy.16:30
arigatoalternatively, can't we define *all* the Py_xxx functions to some other name like PyPy_xxx?16:31
arigatothen there is no way a module can accidentally use the wrong one16:31
exarkunAs I understand it, that's how it works already?16:31
exarkunI don't understand which cases that's insufficient to guard against.16:31
arigatoah, sorry if I misunderstand the goals of this discussion16:32
amaury_arigato: no, some modules do considerable things before Py_InitModule 16:32
jcreigharigato: okay, stupid question. I'm looking at malloc_cond_fixedsize in assembler.py (in trunk), and I don't even get how it works. Specifically, I don't see how the jump-not-above would ever be triggered.16:32
amaury_like: module = PyImport_ImportModule("decimal")16:32
arigatook, but then if no Py_xxx function possibly works because they are #defined to PyPy_xxx, then it should be safe, I think?16:33
exarkunarigato: But they can go on to poke CPython-specific things inside the resulting object16:33
exarkunie, not use Py_ APIs16:33
exarkunfijal: Ultimately, it's C16:34
exarkunfijal: You can always have a segfault16:34
exarkunfijal: So probably we just need to decide on a level of safety.  It'll be below 100%, because it has to be.16:34
amaury_exarkun: we carefully avoid to declare the C structures that are not safe16:35
arigatojcreigh: nursery_free_adr and nusery_top_adr are gc-specific values, coming from rpython/memory/gc/semispace.py16:35
arigatothey mean:16:35
arigatonursery_free_adr is an address inside the nursery, which is the top of the allocated stuff; everything below is allocated space, and everything above is free.16:36
arigatothat is, up to nursery_top_adr, which is the address of the end of the nursery.16:36
arigatoso the JNA is followed in the common case that there is still enough free space16:37
jcreighI was reading "nursery_top_adr" as if it was "nursery_free_adr" and wondering why you would compare against the same thing that you just added to.16:37
jcreighbut that makes a ton of sense. thanks.16:37
fijalexarkun: my level of safety would be ideally that if pypy-c without cpyext does not segfault on loading module X, I would like pypy-c with cpyext not to segfault as well16:40
arigatofijal: that's not possible :-)  e.g. write in X.so a single line that segfaults16:41
exarkunYea, what arigato said.16:41
fijalthat's ideal16:41
Alex_Gaynoryes, and because of borrowed ref semantics that's somewhat likely :/16:41
fijalI think less ideal, but still fine would be if we don't segfault if extension was built against cpython16:41
arigatoof course we could provide (with some more effort) a mode in which the C extension modules are loaded in a different process...16:41
fijalthat's especially biting in cases like zope.interface speedups16:42
fijalarigato: how do we know if call_pure fix fixed the issue, if we now swallow InvalidLoop?16:42
arigatofijal: good question16:42
arigatofijal: I suppose by the few tests I added16:42
fijalI suppose this case should not raise invalidloop16:43
fijalbut something more grave16:43
fijal(guard_isnull receiving nonnull box)16:43
arigatowell, we have to look very carefully again16:43
arigatoto know if there is any way or not for Boxes to be turned into incompatible Consts16:44
arigatoI know that we looked at some point, and decided that there was a way16:44
arigatoso that's why we are careful and raise InvalidLoop16:44
stakkars (~tismer@ joined #pypy.17:00
dialtone (~dialtone@adsl-99-136-101-166.dsl.pltn13.sbcglobal.net) joined #pypy.17:01
dialtone (~dialtone@adsl-99-136-101-166.dsl.pltn13.sbcglobal.net) left irc: Changing host17:01
dialtone (~dialtone@unaffiliated/dialtone) joined #pypy.17:01
aleale (~aleale@0x57386838.honqu1.dynamic.dsl.tele.dk) joined #pypy.17:02
amaury_ (~5bc3480e@gateway/web/freenode/ip. left irc: Quit: Page closed17:11
Trundle (~andy@p5B133A60.dip.t-dialin.net) joined #pypy.17:14
nsf (~nsf@jiss.convex.ru) left irc: Quit: WeeChat 0.3.217:18
nsf (~nsf@jiss.convex.ru) joined #pypy.17:19
mwhudson (~mwh@canonical/launchpad/mwhudson) left irc: Ping timeout: 276 seconds17:24
aleale (~aleale@0x57386838.honqu1.dynamic.dsl.tele.dk) left irc: Quit: aleale17:29
kursor (~kursor@p57BB03A6.dip0.t-ipconnect.de) left irc: Quit: kursor17:34
vpoluceno (~vpoluceno@ joined #pypy.17:37
Gromit (~Gromit_@g230051074.adsl.alicedsl.de) joined #pypy.17:44
Trundle (~andy@p5B133A60.dip.t-dialin.net) left irc: Remote host closed the connection17:55
Gromit (~Gromit_@g230051074.adsl.alicedsl.de) left irc: Quit: Verlassend18:01
Trundle (~andy@p5B133A60.dip.t-dialin.net) joined #pypy.18:12
Gromit (~Gromit_@g230051074.adsl.alicedsl.de) joined #pypy.18:28
aleale (~aleale@0x57386838.honqu1.dynamic.dsl.tele.dk) joined #pypy.18:49
kenaan03arigo 10r7523914 07M(pypy/trunk/pypy/module/zipimport/test/test_zipimport.py): This test fails on pypy but passes on CPython. ...19:05
whyking (~quassel@cycle.cog.brown.edu) joined #pypy.19:05
arigato (~arigo@c-164be353.022-54-67626719.cust.bredbandsbolaget.se) left irc: Read error: Operation timed out19:07
arigato (~arigo@c-164be353.022-54-67626719.cust.bredbandsbolaget.se) joined #pypy.19:08
jcreighin tool/viewcode.py, what is the difference between the red and black arrows?19:11
arigatothe red arrows are conditional jumps19:12
arigatothe black arrows are either JMP, or fall-through to the next block19:12
arigato(I think that JMP are black)19:12
jcreighsome of these graphs get a bit...involved. :)19:14
gutworth (~benjamin@64-131-1-181.usfamily.net) left irc: Ping timeout: 265 seconds19:23
gutworth (~benjamin@64-131-1-181.usfamily.net) joined #pypy.19:23
WildChildIs it possible that imp.find_module only looks for .py files? 19:43
aleale (~aleale@0x57386838.honqu1.dynamic.dsl.tele.dk) left irc: Quit: aleale19:47
WildChildIs there a reason for this?19:50
WildChildfijal: https://codespeak.net/viewvc/pypy/trunk/pypy/module/imp/importing.py?view=diff&r1=74235&r2=7423619:53
panni_ (hannes@ip-95-222-52-93.unitymediagroup.de) joined #pypy.19:53
WildChildWhy do you test space.config.objspace.lonepycfiles if the comment on top tells that the imp module should search for .pyc files?19:54
Arfrever (~Arfrever@gentoo/developer/Arfrever) left irc: Quit: Ex+re (KVIrc 4)19:54
gutworthhow is that contradictory?19:55
WildChildthe comment tells the imp modules is allowed to search for lone pyc files19:56
gutworthand it is19:56
gutworthif that is enabled19:56
WildChildbut why do I have to enable this if the comment tells the imp module "always" accept lone .pyc?19:56
WildChildand how do I enable this?19:57
WildChildcpython accepts lone pyc19:57
gutworthyou look at py.py --help19:58
gutworthand pass the right option19:58
WildChildand with pypy-c?19:58
gutworthno, you must translate with it19:58
WildChildI know19:59
WildChildbut I would be also interested to know why this condition has been added :)19:59
gutworthbecause apparently lone pycs were thought to be an implementation detail20:00
WildChildok so I guess I'll have to retranslate :)20:01
WildChildhow do I enable such options with translate.py? --objspace-lonepycfiles doesn't work20:02
Ademan (~dan@adsl-75-36-249-165.dsl.pltn13.sbcglobal.net) left irc: Quit: leaving20:03
WildChildnevermind, found it20:03
romao (~Caio@ left irc: Changing host20:10
romao (~Caio@unaffiliated/errado) joined #pypy.20:10
Arfrever (~Arfrever@gentoo/developer/Arfrever) joined #pypy.20:14
dju (~dju@fsf/member/dju) joined #pypy.20:41
dju (~dju@fsf/member/dju) left irc: Max SendQ exceeded20:42
dju (~dju@fsf/member/dju) joined #pypy.20:42
dju (~dju@fsf/member/dju) left irc: Read error: Connection reset by peer20:43
lizardo (~lizardo@ left irc: Quit: Leaving20:46
dju (~dju@fsf/member/dju) joined #pypy.20:46
dju (~dju@fsf/member/dju) left irc: Max SendQ exceeded20:48
dju (~dju@fsf/member/dju) joined #pypy.20:48
gonsor (~quassel@kel30.kel.stud.uni-goettingen.de) left irc: Ping timeout: 264 seconds20:50
stakkars (~tismer@ left irc: Ping timeout: 265 seconds20:51
dju (~dju@fsf/member/dju) left irc: Client Quit20:51
dju (~dju@fsf/member/dju) joined #pypy.20:52
dju (~dju@fsf/member/dju) left irc: Max SendQ exceeded20:53
dju (~dju@fsf/member/dju) joined #pypy.20:53
arigato (~arigo@c-164be353.022-54-67626719.cust.bredbandsbolaget.se) left irc: Quit: See you20:55
Gromit (~Gromit_@g230051074.adsl.alicedsl.de) left irc: Quit: Verlassend20:57
romao (~Caio@unaffiliated/errado) left irc: Quit: nil20:59
amaury_ (~5645c527@gateway/web/freenode/ip. joined #pypy.21:03
jcreighx86: For when you need three completely different sets of floating point instructions21:06
Alex_Gaynorat least everyone implements the same spec21:10
copelco (~copelco@h-66-166-135-210.atlngahp.static.covad.net) left irc: Ping timeout: 248 seconds21:11
verte (~verte@ joined #pypy.21:13
uorygl (~Warrigal@rrcs-70-63-156-144.midsouth.biz.rr.com) joined #pypy.21:17
uoryglHi.  I'd like to run PyPy's sandbox version under OS X.  I downloaded the binary of the JIT Compiler version and unpacked it, and everything went perfectly fine.21:18
uoryglDoing the same with the Sandbox version, however, gave me a single binary that crashed when I tried to run it.21:19
uoryglPresumably, this isn't supposed to happen.21:19
uoryglHow come unpacking pypy-1.2-osx-sandbox.bz2 gave me only a single binary instead of the directory that pypy-1.2-osx.tar.bz2 gave me?21:20
ErKa (~keryell@212-198-242-212.rev.numericable.fr) joined #pypy.21:21
amaury_uorygl: did you follow these instructions? http://pypy.org/features.html#sandboxing21:23
uoryglNope.  I'll do that now.21:24
uoryglAaa, and now I get a really esoteric error message.21:27
gonsor (~quassel@kel30.kel.stud.uni-goettingen.de) joined #pypy.21:31
stakkars (~tismer@ joined #pypy.21:34
amaury_uorygl: did you get the code from pypy-1.2-src.tar.bz2 ?21:39
amaury_because the svn trunk may be out of sync21:39
uoryglYes, I believe I did.21:39
amaury_I'm afraid I can't help you more now. But please file a ticket in the bug tracker https://codespeak.net/issue/pypy-dev/21:41
uoryglWill do.  Thanks.21:42
aleale (~aleale@0x57386838.honqu1.dynamic.dsl.tele.dk) joined #pypy.21:42
aleale (~aleale@0x57386838.honqu1.dynamic.dsl.tele.dk) left irc: Client Quit21:43
amaury_ (~5645c527@gateway/web/freenode/ip. left irc: Quit: Page closed21:45
nettok (~netto@ joined #pypy.21:54
nettok (~netto@ left irc: Client Quit21:56
Arfrever (~Arfrever@gentoo/developer/Arfrever) left irc: Ping timeout: 252 seconds22:01
lucian (~lucian@188-222-55-189.zone13.bethere.co.uk) left irc: Ping timeout: 240 seconds22:03
lucian (~lucian@188-222-55-189.zone13.bethere.co.uk) joined #pypy.22:05
jcreigh (~jason@72-160-63-13.dyn.centurytel.net) left irc: Quit: Leaving22:28
nopper (~nopper@host114-196-dynamic.6-87-r.retail.telecomitalia.it) left irc: Quit: quit22:37
ErKa (~keryell@212-198-242-212.rev.numericable.fr) left irc: Ping timeout: 276 seconds22:39
Trundle (~andy@p5B133A60.dip.t-dialin.net) left irc: Remote host closed the connection22:47
gonsor (~quassel@kel30.kel.stud.uni-goettingen.de) left irc: Ping timeout: 276 seconds22:51
Hory (~hory@ left irc: Quit: Leaving.23:09
Alex_Gaynor (~alex@76-206-247-179.lightspeed.cicril.sbcglobal.net) left irc: Ping timeout: 258 seconds23:26
Moku (~John@f049147210.adsl.alicedsl.de) left irc: Ping timeout: 276 seconds23:37
Alex_Gaynor (~Alex_Gayn@76-206-247-179.lightspeed.cicril.sbcglobal.net) joined #pypy.23:45
--- Thu Jun 10 201000:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!