#pypy IRC log for Thursday, 2006-09-28

scmikes (n=scmikes@ got netsplit.01:32
scmikes (n=scmikes@ returned to #pypy.01:33
idnar (i=mithrand@unaffiliated/idnar) left irc: Nick collision from services.04:40
idnar_ (i=mithrand@unaffiliated/idnar) joined #pypy.04:40
dialtone (n=dialtone@85-18-119-179.ip.fastwebnet.it) joined #pypy.07:07
AJC (n=AJC@chello213047059068.25.11.vie.surfer.at) joined #pypy.07:47
elbowtonearigo - r32689 - Clean-ups.08:18
auc (n=auc@logilab.net2.nerim.net) joined #pypy.08:21
jcea2 (n=jcea@jabber.hst.ru) left #pypy.08:23
dialtone (n=dialtone@85-18-119-179.ip.fastwebnet.it) left irc: "This computer has gone to sleep"09:20
Rhamphoryncus (n=rhamph@unaffiliated/rhamphoryncus) left irc: "Valid HTML! http://validator.w3.org/ | Support ISO 8601! http://www.cl.cam.ac.uk/~mgk25/iso-time.html"09:56
rhymes (n=rhymes@host125-86-dynamic.0-87-r.retail.telecomitalia.it) joined #pypy.10:08
rhymes (n=rhymes@host125-86-dynamic.0-87-r.retail.telecomitalia.it) left irc: 10:23
cfbolz (n=cfbolz@p54ABC3E2.dip0.t-ipconnect.de) joined #pypy.10:50
cfbolzhi all!10:51
cfbolz_ (n=cfbolz@p54ABA34F.dip0.t-ipconnect.de) joined #pypy.10:57
mwhis anto an official pypy worker bee yet?11:18
cfbolz_mwh: starting from monday, I think11:18
mwhah, ok11:18
cfbolz_but he should have signed his contract now11:18
mwhbut signed & everything?11:18
cfbolz_I hope so (I am back in hd)11:18
mwhdid you find a flat for him in the end?11:19
cfbolz (n=cfbolz@p54ABC3E2.dip0.t-ipconnect.de) left irc: Nick collision from services.11:19
cfbolz_mwh: nope, that is the part which is not done11:19
cfbolz_we have some ideas, though11:19
Nick change: cfbolz_ -> cfbolz11:19
mwhso he's still in armin's flat for now?11:19
cfbolzwuaa, py3000 is still fighting over __del__11:20
cfbolzthe plan is to remove it, btw11:26
cfbolzin favour of weakrefs with callbacks11:26
mwhwell yes11:26
cfbolzI am not so sure11:26
mwhwhat are the arguments about?11:26
cfbolzweakrefs are strange11:26
cfbolz__del__ is broken when it comes to cycles11:27
cfbolzso instead of fixing it (which is quite hard) let's throw it away11:27
mwhthe argument is mildly funny given how weakrefs are implemented in pypy :)11:27
cfbolzyes :-)11:27
cfbolzbut I am not telling anybody11:27
mwhwell, i think fixing it is at least as hard as the halting problem isn't it?11:27
cfbolznot if you can change semantics :-)11:28
arre (n=ac@alchemist.strakt.com) joined #pypy.11:28
mwhto what?11:28
dialtone (n=dialtone@81-208-106-65.ip.fastwebnet.it) joined #pypy.11:28
cfbolzI think saying that __del__ is always called only once per object and breaking cycles arbitrarily is a step in the right direction11:28
cfbolzhi arre!11:28
cfbolzmwh: besides, it is not like weakrefs are completely obvious11:29
mwhi guess user __del__s always involve a __dict__ or a __slot__ and we know how to break them11:30
mwhcfbolz: like self.wr = weakref.ref(self) ?11:30
mwhself.wr = weakref.ref(self, somecallback)11:31
cfbolzfor example :-)11:31
cfbolzI don't even want to know how that looks in pypy, implementation wise11:31
cfbolzseveral funny objects with finalizers11:32
mwhdid samuele and nik both study in zurich?11:32
cfbolzdon't know, actually11:32
cfbolzbecause of that posting to pypy-sprint, you mean?11:33
cfbolzwell, we can always use more samueles and niks11:35
mwhindeed :)11:35
mwhthough i think this guy is american11:36
rhymes (n=rhymes@host42-12.pool8250.interbusiness.it) joined #pypy.11:37
Nick change: idnar_ -> idnar11:38
mwhwell, google suggests11:40
mwhguess what the third hit for "Hotel an der Uni" is on google11:42
cfbolzno clue11:42
cfbolzone of our people files?11:43
cfbolzit's even the first hit for me (german google, probably)11:43
mwhyup :)11:44
cfbolzjust shows how well pypy is linked :-)11:45
mwhwe should sell ads or something11:45
elbowtoneauc - r32690 - transl. fixes (we seem to complete the annotation phase now)11:56
arre (n=ac@alchemist.strakt.com) left irc: Read error: 110 (Connection timed out)11:57
arre (n=ac@alchemist.strakt.com) joined #pypy.11:57
jcea2 (n=jcea@jabber.hst.ru) joined #pypy.12:00
Action: cfbolz wanders off to get some food12:04
rhymes (n=rhymes@host42-12.pool8250.interbusiness.it) left irc: 12:08
arre_ (n=ac@alchemist.strakt.com) joined #pypy.12:08
arre (n=ac@alchemist.strakt.com) left irc: Read error: 104 (Connection reset by peer)12:08
dialtone_ (n=dialtone@81-208-106-65.ip.fastwebnet.it) joined #pypy.12:37
antocuni (n=chatzill@fwstups.cs.uni-duesseldorf.de) joined #pypy.12:41
dialtone (n=dialtone@81-208-106-65.ip.fastwebnet.it) left irc: Read error: 110 (Connection timed out)12:43
pedronis (i=pedronis@vitaly.strakt.com) joined #pypy.12:50
mwhsomeone seems to have broken all the c tests12:51
mwhmaybe rev 32679 ?12:51
mwhwell not all the c tests12:52
mwhbut a great deal of them12:52
rhymes (n=rhymes@host42-12.pool8250.interbusiness.it) joined #pypy.12:55
pedronismwh: well we tried to enforece the False/True order on boolean switches12:58
mwhoh right12:58
pedronisit seems indeed that is not respected everywhere12:58
mwhall the tests seem to be passing locally12:58
mwhof course12:58
mwhpart of it is probably the stackless transform12:59
mwhwhat is the motivation for the False/True order on switches?13:00
pedroniswell armin thought that once imposed it may simplify some code here and there because of this fix layout for boolean switches13:01
pedronisit seems both the stackless transform13:02
pedronisand the gc transform are violating13:02
pedronisthe now enforced assumption13:02
mwhwell, the stackless transform generates switches that do not have a default13:02
mwhno cookie for armin13:02
pedronisah, that's a different issue13:03
pedronisbut I see13:03
rhymes_ (n=rhymes@host93-10.pool8252.interbusiness.it) joined #pypy.13:06
elbowtonemwh - r32691 - there is not always a default in the multi-valued switch case.13:09
antocuni (n=chatzill@fwstups.cs.uni-duesseldorf.de) left irc: Remote closed the connection13:09
mwhi think that explains most of the overnight failures13:10
antocuni (n=chatzill@fwstups.cs.uni-duesseldorf.de) joined #pypy.13:10
mwhantocuni: hi!13:10
mwhantocuni: are you all signed up now?13:10
antocunithe contract is not ready, yet13:10
antocuniprobably tomorrow morning13:10
mwhhow long?13:10
mwhoh, ok13:10
antocunithe problem is that they have to check that my degree is a master...13:11
mwhthey can be made to go faster by making a fuss, experience suggests :)13:11
pedronismwh: ah you checked int something13:14
pedronismwh: there are tabs in primitive.py13:14
mwhi must configure vi on all the machines i use to stop that13:14
rhymes_ (n=rhymes@host93-10.pool8252.interbusiness.it) left irc: 13:15
elbowtonemwh - r32692 - remove four tab characters in three files.13:18
rhymes (n=rhymes@host42-12.pool8250.interbusiness.it) left irc: Read error: 110 (Connection timed out)13:22
antocuni (n=chatzill@fwstups.cs.uni-duesseldorf.de) left irc: Remote closed the connection13:26
ericvrp (n=ericvrp@ericvrp.demon.nl) joined #pypy.13:28
rhymes (n=rhymes@host69-80-dynamic.5-87-r.retail.telecomitalia.it) joined #pypy.13:28
dialtone_ (n=dialtone@81-208-106-65.ip.fastwebnet.it) left irc: Read error: 60 (Operation timed out)13:32
aucmwh: does 32691 help with the breakage ?13:42
mwhauc: yes, seems to13:42
mwhit makes the stackless tests pass anyway13:42
elbowtoneac - r32693 - (pedronis, arre) Start of converting the rgenop tests to use the external API.14:04
ericvrp (n=ericvrp@ericvrp.demon.nl) left irc: "Leaving"14:06
FireMoth (n=TimothyF@cpe-72-226-238-250.rochester.res.rr.com) left irc: Read error: 110 (Connection timed out)14:22
antocuni (n=chatzill@fwstups.cs.uni-duesseldorf.de) joined #pypy.14:33
cfbolzhi anto!14:34
cfbolzantocuni: so when will you sign your contract then?14:34
antocunicfbolz: hi! I hope tomorrow morning14:34
antocunielse I think it'll go to the next week :-(14:35
cfbolzand how do they find out whether your master is valid?14:36
antocuniI've no clue. They told me they have to call some unspecified office14:36
antocuninow I'm searching the web to see if I can find something by myself14:36
cfbolzprobably not much14:36
rhymes (n=rhymes@host69-80-dynamic.5-87-r.retail.telecomitalia.it) left irc: 14:40
arigo (n=arigo@c-178b70d5.022-54-67626719.cust.bredbandsbolaget.se) joined #pypy.14:45
xorAxAxwhat does niko mean by IR? immediate represenation?14:48
xorAxAx(that doesnt make any sense to me)14:49
cfbolzyes, immediate representation14:49
cfbolzhe means the flow graphs14:49
cfbolzarigo: hi!14:49
cfbolzxorAxAx: it's maybe a bit misleading to say _the_ immediate representation, though14:50
cfbolzbut otherwise the term is fine, I think14:50
xorAxAxas pypy knows many different graphs, then there is the classic bytecode ... the jit has its own graphs etc.14:50
xorAxAxall kinds of representation :)14:50
antocuni (n=chatzill@fwstups.cs.uni-duesseldorf.de) left irc: Remote closed the connection14:52
arigogood afternoon14:52
arigocfbolz: I've added you to sudoers and reset the root passwd on snake14:53
antocuni (n=chatzill@fwstups.cs.uni-duesseldorf.de) joined #pypy.14:53
arigocfbolz: /root/ata1-errors greps for the errors we used to get in the log14:53
arigothere doesn't seem to have been a single one since you changed the cable14:53
cfbolzarigo: cool14:54
cfbolzarigo: of course it will immediately start again as soon as it is in the server room :-)14:54
cfbolzxorAxAx: the bytecode is not really something that you would call an IR14:54
dialtone (n=dialtone@81-208-106-65.ip.fastwebnet.it) joined #pypy.14:54
xorAxAxcfbolz: why not?14:54
cfbolzbecause it's a bytecode14:55
cfbolzan IR is intermediate :-)14:55
cfbolzit's a term mostly used in compiler construction14:55
arigoin case it wasn't mentioned here, there is a DLS paper from Nicholas Rilay, who runs "pypy-c" in a hardware emulator to experiment with new hardware instructions14:56
Action: mwh points at sabi 14:56
xorAxAxi think he posted the link already14:57
xorAxAxcurrently he is tweaking psyco, arigo :)14:57
cfbolzoh? fun14:57
arigoah, now I get to link names and nicknames :-)14:58
xorAxAxyeah, he is starting the transactions at BB boundaries14:58
xorAxAx(and stopping)14:58
xorAxAxgenerated by psyco14:58
auc[translation:ERROR]     return (0.9999 * measure_median_execution_cost(graph) +15:16
auc[translation:ERROR]    File "/home/auc/devel/pypy-dist/pypy/translator/backendopt/inline.py", line 505, in measure_median_execution_cost15:16
auc[translation:ERROR]     assert res >= 015:16
auc[translation:ERROR]  AssertionError15:16
aucis not nice ...15:16
cfbolzdo you still have the prompt?15:19
cfbolzwhat does "print graph" say?15:19
bitmvnch (n=bitmonk@cpe-66-69-203-28.austin.res.rr.com) joined #pypy.15:19
niko_ (n=niko@beauty.inf.ethz.ch) joined #pypy.15:20
Nick change: niko_ -> nikomatsakis15:21
cfbolzhi niko15:21
auccfbolz: too late15:21
cfbolzauc: damn. what was the last thing printed above the error?15:22
cfbolzcould you paste it somewhere?15:22
Action: auc ducks15:27
cfbolzauc: well, no problem :-)15:28
cfbolzit's just hard to diagnose what's wrong then15:28
nikomatsakisSo, I feel like I should introduce myself :).  I'm, well, Niko Matsakis --- I wrote earlier to the pypy-sprint mailing list.  I'm planning to come to Düsseldorf in Oct.  15:29
cfbolznikomatsakis: welcome. it wasn't so hard to match your nick to the mail :-)15:29
nikomatsakisYeah, I figured :)15:29
cfbolzauc: it means that the matrix in measure_median_execution_cost was somehow strange, therefore the graph is probably strange too, therefore it would be good to know which graph it was15:30
elbowtoneauc - r32694 - another round of transl. fixes (translating logic objspace with backend opts should trigger the failed assert of "../translator/backendopt/inline.py", triggered line 505, in measure_median_execution_c15:30
cfbolznikomatsakis: maybe we could try to match you up to share a hotel with one of the funded people, to keep your cost a bit lower15:31
auccfbolz: if you think it's worth trying again to trigger this, we'll do15:31
nikomatsakisYeah, that might be good --- on the other hand, there's a chance my wife will come along15:31
nikomatsakisbut I'm not sure yet :)15:31
cfbolznikomatsakis: sure15:32
cfbolzauc: I am not sure. you might be hitting on a real bug in the matrix inversion code15:33
cfbolzor just a very strange graph15:33
nikomatsakisI was wondering whether it makes sense for me to pick some sort of project before hand, say a backend of some sort, and try to start hacking on it first?  I would think so, but I don't want to duplicate effort someone else may be doing, so I thought I'd check in here and see15:34
xorAxAxnikomatsakis: i dont think that anybody is hacking on a java backend currently :)15:34
nikomatsakisalso, someone mentioned getting commit rights, what do I need to do to do that?15:35
cfbolzbug michael :-)15:35
nikomatsakisok :)15:35
cfbolzmwh: you there?15:35
nikomatsakisre: a JVM backend, there is an existing CLR backend, right?  presumably that would be a reasonable place to start poking at 15:36
antocuninikomatsakis: I think the backend idea is fine. It has been a nice way to introduce myself to pypy internals15:36
cfbolzwriting a backend is usually a very good introduction15:36
cfbolz(and of course just starting to write one is fine too)15:36
cfbolznikomatsakis: for commit rights: you need to state that you are fine with an MIT licence, that you don't do evil stuff and you have to say what login you want15:37
mwhcfbolz: yes15:38
cfbolzwould you create an account for niko?15:38
antocuninikomatsakis: if you want to play with the CLI backend, you could have a look at my thesis15:38
nikomatsakiswill do15:39
xorAxAxhas anybody tried boddie's java2pyc translator on pypy?15:39
xorAxAxgiven that pypy might have a py jit in the future, it might play well together15:40
cfbolzxorAxAx: what's that?15:40
nikomatsakisre: the license and all that, do I simply e-mail that information to mwh?15:40
cfbolzsounds good15:40
xorAxAxcfbolz: its a programm that translates java bytecode to python bytecode15:40
mwhwell, i just sent you a private message :)15:40
xorAxAxcfbolz: with method dispatching etc.15:40
nikomatsakisah, ok15:40
mwhdid you see it?15:40
nikomatsakismwh: not yet...15:40
nikomatsakisbut my e-mail is sometimes slow15:41
xorAxAxi think it can do pretty much, just that there are no predefined class types (like String)15:41
mwhno, "private message" in the irc sense15:41
arigonikomatsakis: hi from me too :-)15:41
cfbolzxorAxAx: link?15:41
mwhanyway, if you could email me a desired username, valid email address and real name i can set up your account15:41
mwhoh, and an ssh key15:41
nikomatsakismwh: ah, I see :)15:41
cfbolzis antonio's thesis linked from somewhere?15:41
mwhcfbolz: not that i know of15:41
cfbolzshould be done15:42
arre_ (n=ac@alchemist.strakt.com) left irc: "Konversation terminated!"15:43
arigonow we have an irc link :-)15:43
Action: antocuni checks if it's up to date15:44
xorAxAxantocuni: you translated it to italian and english?15:44
mwh"to find all pypy links, please read these 100 megabytes of #pypy log" ? :)15:44
cfbolzarigo: great!15:44
arigomwh: of course15:44
mwhactually i have no idea how big the logs of #pypy are15:44
antocunixorAxAx: no, it's only in english15:45
mwhmust be considerable15:45
antocunithe italian file is only a sort of short summary15:45
cfbolzmwh: yes. but they compress _very_ well15:46
antocunibecause italian master thesis need to be written in italian. So officialy the short summary *is* the thesis, while the full text is an "attached document" :-)15:46
Action: arigo plays with http://sourceforge.net/projects/cddb-py/15:46
mwhantocuni: :)15:46
arigoantocuni: makes sense :-)15:47
antocunithe funny thing is that I discovered that only 5 days before the graduation day...15:47
cfbolza lot of sense. I think anto has earned the predicate "hacker"15:47
arigo(to listen to a CD not played by the computer, but see the current track's name displayed on screen :-)15:47
arigoantocuni: must have been a bit of a shock15:48
cfbolzarigo: of course15:48
antocuniarigo: sure. But it was none compared to what I felt when I saw the rtyper the first time ;-)15:49
arigohe he15:49
arigocfbolz: ah, I know how I "should" extend my CDDB hack15:51
arigoit should use the microphone to listen and recognize the music15:51
arigoof course15:51
xorAxAxarigo: %-)15:51
cfbolzarigo: of course15:51
xorAxAxarigo: how do you get the frame count (or how are they indexed) into the computer?15:51
xorAxAxor are you searching by artist?15:52
cfbolzjavaclass sounds a bit insane to me15:52
arigoxorAxAx: I put the CD into the computer once15:53
xorAxAxoh, you want to say that boddies' attempt to realise insane ideas?15:53
xorAxAxarigo: ah15:53
arigoxorAxAx: the Python module above gives me the track lengths as well as doing the CDDB request15:53
xorAxAxarigo: and then you select the cd from a list?15:54
xorAxAxor how does it select the album ...15:54
arigofor now I trust the first match15:54
arre (n=ac@alchemist.strakt.com) joined #pypy.15:54
arigoCDDB uses a checksum and the very precise track lengths as a key, so I guess it's hard to get accidental collisions15:54
mwhcfbolz: very much so15:54
xorAxAxarigo: before playing every cd, you put it into the pc?15:55
cfbolzof course a java vm in rpython would be much cooler15:55
rhymes (n=rhymes@host69-80-dynamic.5-87-r.retail.telecomitalia.it) joined #pypy.15:55
arigoxorAxAx: only the first time, then I can instead pick the name of the file that contains the saved infos15:55
xorAxAxah ok15:55
arigo(well I did that last hour, I guess I'll need to refine it a bit :-)15:56
xorAxAxyeah, you could do some waveform analysis through the mic15:56
cfbolzprobably hard, that15:56
arigobut then you'd need to sample the whole CD the first time and extract some kind of "pattern information"15:56
arigocould work, if there are appropriate libraries doing this kind of thing15:56
xorAxAxthats doable, the harder part is to search for a model15:56
cfbolzisn't there this sort of watermarking that is put into sound that is supposed to not go away even if you compress and whatnot?15:57
xorAxAxcfbolz: thats FUD :)15:57
Action: mwh does his weekly read of "svn log -vv http://codespeak.net/svn/user"15:57
cfbolzxorAxAx: I am not so sure15:58
cfbolzmwh: heh15:58
xorAxAxcfbolz: there is always some kind of "tranformation" to defeat it15:58
cfbolzI actullay just do a checkout in user and see what changer15:58
mwhwell, i do that too15:58
xorAxAxthe main advantage is that nearly nobody knows how it works15:59
mwhi see someone is playing with s315:59
cfbolzmwh: yes, that was brian dorsey during the merlinux sprint15:59
cfbolzI always see philip's blog posts :-)15:59
mwhyes :)16:00
scmikes (n=scmikes@ left irc: Read error: 110 (Connection timed out)16:03
cfbolznikomatsakis: what exactly did you not understand about PyPy IRs?16:06
cfbolz(note that there are different ones)16:06
nikomatsakisWell, it's not so much that there is something that I don't understand, as that I am just ignorant of them.  16:07
nikomatsakisIn other words, I don't know how many there are, or precisely where they are converted.16:07
mwhhave you read translation.html ?16:07
cfbolzmwh: or even better, the dls paper?16:08
nikomatsakisI read translation.html16:08
mwhyes, that's probably both more coherent and shorter :)16:08
nikomatsakisI think I read the "dls" paper as well, but I'm not sure16:08
cfbolzthat covers the question about "how many irs are there". the answer is: as many as we need :-)16:08
arigoarre, pedronis: are you working on the jit now?16:09
nikomatsakisactually, for the most part I've found the code to be fairly easy to read16:09
cfbolznikomatsakis: good16:09
nikomatsakisit's just a matter of having the time to really dig into it16:09
nikomatsakisI only recently realized how to integrate "pydb" with "emacs'16:09
cfbolzarigo: is the dls paper actually linked?16:09
nikomatsakisthat helps quite a bit...16:09
arigocfbolz: probably not16:10
arrearigo: We are refactoring the llgraph tests to use the external interface.16:10
nikomatsakisso, is this the dls paper? http://codespeak.net/pypy/dist/pypy/doc/dynamic-language-translation.html16:10
cfbolzit's not linked, so it is not your fault :-)16:10
nikomatsakisah, then I guess I haven't read it:)16:10
arigothe final version is probably in the "hidden" part of the repo, even16:11
cfbolzannoying copyright stuff16:11
arigoah no16:11
arigoit's now also in:16:11
cfbolzonly the tex file16:11
cfbolzbut well16:11
arigothis is a slightly extended version, so it's probably redistributable, copyright-wise :-/16:11
elbowtonearigo - r32696 - Adding the PDF of the DLS paper.16:13
arigoactually, there should be no redistribution problem anyway16:13
cfbolzarigo: ah?16:14
arigothere was something with the previous publisher16:14
arigobut they switched16:14
arigoand we didn't see anything like that any more afterwards16:14
cfbolzvery sensible, that16:14
arigoyes, this part of the switch was cool :-)16:14
cfbolzwhich part wasn't16:14
arigothe part about "and now please rewrite your tex with our new style file"16:14
cfbolzoh right16:15
cfbolznikomatsakis: it really describes (and motivates) the various irs and the conversion16:15
nikomatsakisthat sounds helpful, for sure16:16
arigocfbolz: we could add two entries on the PyPy news page16:16
arigothe DLS and the Duesseldorf sprint16:16
elbowtoneac - r32697 - (arre, pedronis) refactored the old tests to exercize the external API. these new tests now pass again.16:17
cfbolzarigo: do you feel like doing it?16:17
arrearigo: we finished that bit16:18
arigocfbolz: yes16:18
arigoarre: ok16:18
arigoarre: I'm adding another promotion test that might pass already16:18
arrearigo: :-)16:19
pedronisarigo: we should see if we broke some other jit tests in the process16:19
arigotrue, we should fix that16:19
pedronisotherwise I suppose we are ready to merge16:19
arigono, we need i386 support16:19
arigoah, we can merge anyway16:19
pedroniswe didn't port the tests to the backend16:20
pedronisso far16:20
Action: arigo start an all-jit-tests background16:20
arrearigo: Do You want to development tomorrow or not? (Samuele has decided to adjust his flexhours instead)16:24
arigoa break looks like a good plan16:24
auccfbolz: http://pastebin.ca/185030 contains the trace16:25
arreOk, tomorrow is breakday then :-)16:25
aucand I can get at the graph16:25
cfbolzauc: ok, so what does "print graph" say?16:26
auc<FunctionGraph of (pypy._cache.app_codecs_b9987328e2250d43c7fd8d9f4040a428:4808)PyUnicode_DecodeUTF16Stateful at 0x2b3220b6aa00>16:27
mwhand what's "res" i guess16:27
aucwell, "print graph" says less16:27
aucis the value of res16:27
cfbolzvery strange16:28
cfbolzthat's not even something remotely stackless specific16:28
cfbolzis it a 64 bit machine?16:28
xorAxAxhave you cleaned the cache?16:28
xorAxAxtry it16:29
cfbolzyay, more waiting16:29
cfbolzauc: you do it by removing _cache16:29
mwhhmm, stackless didn't build overnight16:29
mwhdoes pypytester keep logs somewhere?16:29
pedronismwh: probably for the same reason the test were exploding16:29
pedronisit was dying on some check graph16:30
pedronisI suppose16:30
mwhoh right yes16:31
cfbolzit's still strange that suddenly a rather common function produces a matrix that cannot be handled16:32
arigopedronis: test_tl and test_tlc fail16:32
arigocfbolz: this situation could occur if the function suddenly contains an infinite loop16:32
pedronisarigo: umph16:33
pedroniswell I'm kind of planning to leave the office and get home16:33
cfbolzarigo: eh? you mean one that cannot be left?16:33
pedronisI can help there16:33
arigocfbolz: yes16:33
cfbolzstill hard to see why that should happen with PyUnicode_DecodeUTF16Stateful16:33
nikomatsakisgoodbye everyone, I don't want to interrupt the debugging, but I have to run.  Anyhow, I'll be in touch, and thanks.  Looking forward to meeting you in person.16:34
nikomatsakis (n=niko@beauty.inf.ethz.ch) left #pypy.16:34
Action: mwh starts a stackless build on snake16:34
elbowtonearigo - r32698 - Duesseldorf sprint on the News page.16:36
elbowtoneantocuni - r32699 - Added support for cast_uint_to_float.16:37
Action: pedronis getting home16:37
pedronis (i=pedronis@vitaly.strakt.com) left irc: "Chatzilla 0.9.67 [Firefox 1.0.4/20060505]"16:37
rhymes_ (n=rhymes@host74-12.pool8250.interbusiness.it) joined #pypy.16:42
elbowtonecfbolz - r32700 - various typos. also print the config.16:50
mwhuh, i'm getting hundreds maybe thousands of 16:50
mwh[rtyper:WARNING] Desc <FrozenDesc for <pypy.objspace.std.stdtypedef.StdTypeDef instance at 0xb78858cc>> has no attribute '$memofield_getorbuild_1'16:50
mwhin my stackless translation16:51
xorAxAxisnt that the mysterious error that hasnt be tracked down yet in the last years? :)16:52
mwhat least it's not usually anything like this bad16:52
xorAxAxnormally, there is just one per translation16:53
Action: arre -> Home16:58
cfbolzhm. I wonder what happens if I pass the option "-o thunk" to translate on the config branch16:58
arre (n=ac@alchemist.strakt.com) left irc: Remote closed the connection16:58
cfbolzmaybe we can get rid of targetthunkstandalone16:58
rhymes (n=rhymes@host69-80-dynamic.5-87-r.retail.telecomitalia.it) left irc: Read error: 110 (Connection timed out)16:59
cfbolzand is targetpypymain still used at all?16:59
mwhthat's the one that builds pypy as an extension?17:00
rhymes (n=rhymes@host21-23.pool8248.interbusiness.it) joined #pypy.17:00
elbowtonearigo - r32701 - DLS announcement and link to paper (currently only in news.txt).17:00
mwhunless it is any use as an example, no17:01
cfbolzanyone agains me killing it?17:01
cfbolzit has mostly historical value, imo17:01
mwhi'm always in favour of deleting code :)17:01
cfbolzyip, me too :-)17:01
arigomwh: go ahead and unlink the l3interp :-)17:02
mwhjust svn rm l3interp?17:02
mwhand some associated cleanups17:02
cfbolzarigo: should we keep targetpypymain?17:02
arigonot IMHO17:03
arigomwh: yes17:03
rhymes_ (n=rhymes@host74-12.pool8250.interbusiness.it) left irc: Read error: 110 (Connection timed out)17:04
elbowtonecfbolz - r32702 - this was very rarely used, it creates pypy as an extension. a relict from dark ages.17:04
rhymes (n=rhymes@host21-23.pool8248.interbusiness.it) left irc: Client Quit17:04
antocuniuhm... gencli is complaining because it doesn't know how to handle uint_neg17:05
antocunibut what's exactly the meaning of uint_neg?17:05
mwhthat does seem like a strange operation17:05
arigono no17:06
arigoit's (unsigned)(-((signed)(x)))17:07
antocuniah, ok17:07
mwhwhere does it get emitted?17:07
antocunilet me checking17:07
mwhnot 2&~x, obviously :)17:08
antocunithe function name is args_from_long__r_uint17:08
xorAxAxarigo: so its losing one bit of information in the worst case?17:08
mwhi bet it doesn't actually get executed, or something like that17:08
mwhthe annotator isn't smart enough to figure out that in 17:11
mwhif l > 0: ... elif l == 0: else: ... that the else: is unreachable for l unsigned17:12
mwhat least i guess that's what's goingon17:12
arigomwh: ah no17:14
arigouint_neg is different17:14
arigoit's really 0-x, where x is an unsigned17:14
arigowith gcc 4.2 we have to start to be careful about this mess17:14
mwhlet's just write our own machine code backends...17:15
arigowe started for the jit17:16
arigobut well17:16
arigocfbolz: to avoid confusion we could remove the operation17:16
arigoand really emit  uint_sub(0, x)17:16
arigoit's generated by '-x' where x is an r_uint17:16
cfbolzyes. then it is a least clear what is meant17:16
elmom (n=elmom@a84-230-91-132.elisa-laajakaista.fi) joined #pypy.17:17
radix (n=radix@ left irc: "Coyote finally caught me"17:19
elbowtoneantocuni - r32705 - Added support for uint_neg17:21
radix (n=radix@ joined #pypy.17:22
arigoantocuni: ugh!17:22
arigoI was just thinking about killing it :-)17:22
arigoand uint_abs, while we're at it17:23
arigobecause *this* one is seriously obscure17:23
antocuniwell, I need it for testing if we can still translate pypy.net17:23
cfbolzarigo: what does uint_abs do?17:24
arigonothing at all17:24
antocuninotice that uint_neg was not needed two months ago17:24
cfbolzarigo: !17:24
arigoantocuni: do you have any idea what code uses it now?17:24
xorAxAxarigo: mwh wrote it above ...17:25
arigoah, thanks17:25
mwhdon't know why args_from_long is called with an unsigned, of course17:26
antocuniand I've no longer the pdb prompt to inspect there...17:26
arigomwh: from space.wrap(r_uint(...))17:27
arigoargs_from_long is written in this precise way as an attempt to defeat gcc17:27
mwhthat'd do it17:27
arigothe problem is that the same args_from_long is specialized17:27
arigoif it's called with a signed integer (maybe r_longlong)17:28
arigothen the idea is that gcc isn't smart enough to predict that in the "else",17:28
arigo"l" must be < 017:28
arigohence "-l" must be > 017:28
arigohence the last "if" is always true17:28
arigo(which of course it isn't in case of overflow)17:28
mwh :(17:29
xorAxAxarigo: so it was your answer to the  current cpy issues?17:29
xorAxAxor is it older?17:29
arigomwh: hum, that's probably wrong - I bet gcc could easily figure it out17:30
arigowith range tracking17:30
arigoxorAxAx: no17:30
arigoxorAxAx: well yes, in some sense17:30
scmikes (n=scmikes@ joined #pypy.17:41
antocunipypy.net is still there! :-)17:48
elbowtonearigo - r32706 - More attempts to sort out the neg-overflow-detection mess.17:49
Action: antocuni --> leaving17:51
cfbolzantocuni: see you!17:52
arigouint_abs exists but is really never generated17:52
arigokill kill17:52
antocunisee you17:52
arigosee you!17:52
arigomwh: I still see l3interp around :-)17:53
mwhhum, translate.py --stackless finished17:53
mwharigo: eh17:53
cfbolzmwh: using the logic obj space?17:53
arigowell I don't particularly feel like fixing it for uint_neg and uint_abs17:53
mwhcfbolz: no17:53
mwhalso a 32 bit machine17:54
mwhsnake, in fact :)17:55
cfbolzhow long should test_builtin take, on a pypy-c?17:55
cfbolzand should test_hasattr fail?17:55
mwhnot long17:55
mwhno, don't think so17:56
mwhtest_cmp tends to take a looong time with a stackless build17:57
mwhcomparing recursive lists17:57
cfbolz>>>> hasattr(sys, unichr(sys.maxunicode))18:00
elbowtonemwh - r32707 - remove the l3interp. paris was a long time ago....18:00
cfbolz>>> hasattr(sys, unichr(sys.maxunicode))18:01
cfbolzTraceback (most recent call last):18:01
cfbolz  File "<stdin>", line 1, in ?18:01
cfbolzUnicodeEncodeError: 'ascii' codec can't encode character u'\U0010ffff' in position 0: ordinal not in range(128)18:01
mwhshouldn't unichr(sys.maxunicode) go bang?18:01
mwhhuh boggle18:01
mwhoh maybe cpython special cases unicode errors or something :(18:01
cfbolzno, chr(sys.maxunicode) should work18:02
xorAxAxcfbolz: ?18:02
cfbolzit's a regression, I have an old pypy-c lying around where you get the error18:02
xorAxAxof course it should raise an error for every unicode string that is not ascii18:02
cfbolzhasattr seems to encode the attribute using ascii, it seems18:02
mwhbut hasattr swallows _most_ exceptions, i think18:03
mwh(in cpython)18:03
cfbolzxorAxAx: oops, I meant unichr(sys.maxunicode)18:03
xorAxAxcfbolz: ah, makes sense :)18:03
cfbolzmwh: seems not all18:03
mwhwell, this is half-assed memories of course18:03
radixunichr(sys.maxunicode).encode('utf-8') returns four bytes18:03
Action: arigo kills ullong_abs and ullong_neg too18:03
xorAxAxradix: yes18:03
radixshouldn't that be an error or something18:04
xorAxAxradix: what did you expect? :)18:04
xorAxAxradix: no, see BMP, surrogates etc.18:04
cfbolzmwh: especially since it is an exception raised before you do any attribute checking18:04
radixI thought utf-8 maxed out at three bytes18:04
radixxorAxAx: oh18:04
mwhit's an inclusive maximum it seems18:04
xorAxAxradix: nope18:04
radixyeah I guess so18:04
mwhradix: nope18:04
aucwell, with a void cache, I still get the aforementioned error18:04
radixso, one *codepoint* is always three bytes, but that doesn't consider surrogates and stuff?18:04
auc(negative res)18:04
mwhradix: some version of something that's not quite utf-8 maxes out at 8 bytes i think18:04
stakkars (i=qqghii@i577B5B46.versanet.de) joined #pypy.18:04
radixhmm, ok18:04
xorAxAxradix: no18:05
auccfbolz, mwh: that was fyi18:05
xorAxAxradix: surrogates are actually an utf-16 issue, they can bite you if you think that utf-16 is fixed width18:05
cfbolzauc: ok, interesting18:05
radixxorAxAx: ok, so then when does utf-8 go to four bytes?18:05
cfbolzmwh: would you start a logic translation on snake18:05
xorAxAxhi stakkars 18:05
cfbolzstakkars: hi christian!18:05
mwhcfbolz: translate.py -o logic?18:06
xorAxAxradix: for every char outside the BMP at least18:06
cfbolzmwh: no, there is a targetlogic something18:06
mwhdoes it need --stackless too?18:06
idnarradix: why do you think it maxes out at three bytes?18:06
xorAxAxradix: that is the lower 2**16 chars18:06
radixidnar: no idea18:06
Action: mwh starts18:06
radixwikipedia corrects my knowledge18:06
stakkarscfbolz: hi! 18:07
auctranslate.py --gc=framework --stackless --text targetlogicstandalone.py18:07
mwhstakkars: hi18:07
stakkarshi all. I'm back from the rehab18:07
idnar>>> len(unichr(0xffff).encode('utf-8'))18:07
idnar>>> len(unichr(0x10000).encode('utf-8'))18:07
cfbolzstakkars: how are you?18:07
arigostakkars: hey, hi!18:07
xorAxAxidnar: now try utf-16 :)18:08
xorAxAxidnar: that usually bytes more people18:08
Action: mwh stops and starts again with auc's commandline18:08
arigoauc: any reason for not using --gc=stacklessframework?18:08
idnarxorAxAx: python's utf-16 implementation is broken ;)18:08
mwhwell yes that is actually to do with surrogates18:08
stakkarswell, I don't know. Will find out on the next sprint. :-)18:08
xorAxAxidnar: no, its configurable :)18:08
idnarwell, no, I mean unicode-on-utf-1618:08
xorAxAxidnar: mvl says that its broken on win because win is broken too18:09
idnarif you have a UTF-16 build of python, surrogate pairs show up as two distinct characters in a string, which is pretty whacky18:09
cfbolzstakkars: take it easy :-)18:09
stakkarscfbolz: I guess the date for the sprint is absolutely fixed?18:09
cfbolzstakkars: pretty much, yes18:09
stakkarsI will18:09
idnarfortunately hardly anyone builds it that way18:09
cfbolzstakkars: why?18:09
aucarigo: didn't know it exists18:09
stakkarswell, 1st of Nov is my 50th aniversary18:09
mwhgc=stacklessgc builds are huge and slow ?18:10
mwhstakkars: birthday, i think18:10
cfbolzmwh: not much slower and huger than stackless with mark and sweep18:10
cfbolzas far as I remember18:10
stakkarsbirthday, yes18:10
mwhstakkars: unless you were very young when you married :-)18:10
stakkarsuh-oh :->18:11
cfbolzstakkars: the problem is that people started their travel preparation already (and I somewhat have a room ffor that time)18:12
auc (n=auc@logilab.net2.nerim.net) left irc: Read error: 104 (Connection reset by peer)18:12
jcea2 (n=jcea@jabber.hst.ru) left #pypy.18:16
stakkarsthis is ok, just to know that it will not move and cannot be moved and I can plan right now.18:16
jcea2 (n=jcea@jabber.hst.ru) joined #pypy.18:16
cfbolzstakkars: it won't move then :-)18:16
stakkarsoki. and we have a party in ddorf18:17
scmikes (n=scmikes@ left #pypy.18:17
xorAxAxhmm, maybe i should join it as well :)18:17
cfbolzthe party or the sprint?18:18
xorAxAxand pair with maciek and make pypy faster 30% again18:18
xorAxAxcfbolz: no idea, in doubt both18:18
scmikes (n=scmikes@ joined #pypy.18:18
cfbolzxorAxAx: cool!18:18
xorAxAxcfbolz: i dont know yet, though18:18
xorAxAxnew semester ... different timetable ...18:19
stakkarsxorAxAx: did you make PyPy 30% faster?18:19
xorAxAxcourses where i have to attend18:19
xorAxAxstakkars: strdicts have such an impact, yes18:19
xorAxAxstakkars: see the "combining strdicts and .." posting on the ML18:19
cfbolzxorAxAx: bah, courses18:19
stakkarswhow. Have to read lots of stuff18:19
cfbolzsometimes I wish there could be garbage collection on code18:25
cfbolza way to find functions which are not used anymore for example18:25
stakkarsI thought you wrote such a tool, no?18:26
stakkarsah no it was for imports.18:26
xorAxAxcfbolz: code coverage analysis comes close18:27
cfbolznot in pypy18:27
cfbolzstakkars: that was michael18:27
xorAxAxyes ...18:27
xorAxAxpyti could be used to insert some marks into functions that mark their usage in some dict18:27
stakkarshehe - a weak brain18:27
xorAxAxgromit would know about that :)18:27
cfbolzI am for randomly changing functions and see whether tests break18:28
elbowtonecfbolz - r32708 - move make_objspace to tool so it can be used from somewhere else.18:30
mwhthen we just find that our tests suck18:30
cfbolzmwh: would be progress too18:31
elbowtonearigo - r32709 - Typo and a new test in-progress.  Now is the time to merge the branch...18:32
rhymes (n=rhymes@host21-23.pool8248.interbusiness.it) joined #pypy.18:34
elbowtonecfbolz - r32710 - enable targetpypystandalone to be used with different object spaces. maybe we can get rid of quite some targets that way.18:37
elbowtonearigo - r32711 - (pedronis, arigo) - removed uint_abs, uint_neg, ullong_abs, ullong_neg - genc was not supporting all of the llong/ullong operations at all!  Fixed, maybe18:39
cfbolzanybody remembers what the option -w to py.py was supposed to do?18:47
cfbolzbecause it seems dead18:47
rhymes_ (n=rhymes@host172-9.pool8248.interbusiness.it) joined #pypy.18:55
elbowtonecfbolz - r32712 - small cleanups18:55
elbowtonecfbolz - r32713 - remove some code that was last edited in revision 2689 and can therefore probably be considered outdated.18:59
elbowtonecfbolz - r32714 - remove some commented out code19:02
elbowtonearigo - r32715 - (pedronis, arre, arigo) Merge the jit-promotion branch: svn merge http://codespeak.net/svn/pypy/dist@32682 http://codespeak.net/svn/pypy/branch/jit-promotion It adds "promotion": with  x = hint(x, pro19:04
elbowtonearigo - r32716 - Kill merged branch.19:04
rhymes (n=rhymes@host21-23.pool8248.interbusiness.it) left irc: Read error: 104 (Connection reset by peer)19:07
rhymes (n=rhymes@host108-9.pool8250.interbusiness.it) joined #pypy.19:07
rhymes_ (n=rhymes@host172-9.pool8248.interbusiness.it) left irc: Read error: 110 (Connection timed out)19:16
rhymes (n=rhymes@host108-9.pool8250.interbusiness.it) left irc: 19:26
mwhhmm, the description of the jit promotion branch sounds familiar :)19:37
rhymes (n=rhymes@host108-9.pool8250.interbusiness.it) joined #pypy.19:57
cfbolz (n=cfbolz@p54ABA34F.dip0.t-ipconnect.de) left irc: "Leaving"20:36
antocuni (n=chatzill@fwstups.cs.uni-duesseldorf.de) left irc: Read error: 104 (Connection reset by peer)20:46
cfbolz (n=cfbolz@p54ABA34F.dip0.t-ipconnect.de) joined #pypy.20:54
Rhamphoryncus (n=rhamph@unaffiliated/rhamphoryncus) joined #pypy.20:56
bitmvnch (n=bitmonk@cpe-66-69-203-28.austin.res.rr.com) left irc: 21:06
jacob22|home (n=jacob@c-43c5e055.1321-1-64736c11.cust.bredbandsbolaget.se) left irc: "using sirc version 2.211+KSIRC/1.3.12"21:09
cfbolz (n=cfbolz@p54ABA34F.dip0.t-ipconnect.de) left irc: Read error: 113 (No route to host)21:18
cfbolz (n=cfbolz@p54ABA34F.dip0.t-ipconnect.de) joined #pypy.21:18
arigoa = None21:19
arigofor i in range(50): a = (a, a)21:19
cfbolzarigo: why?21:20
arigotry with 3 instead of 5021:22
arigoshould become clear21:22
cfbolzI know why it is many Nones21:22
cfbolz2**50, right?21:23
cfbolzhow did you come to that example?21:24
cfbolzjust so?21:24
arigoer, yes21:24
arigoactually, by thinking about ==21:24
arigobecause if a and b are both built as above, a==b hangs in the same way21:24
xorAxAx ouch, that stalled my X to death21:25
xorAxAxhad to wait some minutes to get a top on a virtual console21:25
cfbolzI hope I didn't kill pypy2 now21:25
cfbolzI cannot log in again21:25
xorAxAxsome linux bug in the pts driver i guess :)21:25
xorAxAx(because it was in a screen21:26
bitmvnch (n=bitmonk@cpe-66-69-203-28.austin.res.rr.com) joined #pypy.21:27
cfbolz>>>> print a21:27
cfbolzGC Warning: Out of Memory!  Returning NIL!21:27
cfbolzTraceback (most recent call last):21:27
cfbolz  File "<console>", line 1, in <interactive>21:27
arigoI suppose you all know that you should not try:21:27
arigowhile 1: os.fork()21:27
cfbolzno, I didn't know that you should not try that21:28
cfbolzwhat happens?21:28
xorAxAxarigo: on windows, thats boring21:28
xorAxAxarigo: i havent tried on this linux yet21:28
arigodepends on the Unix - I'm not sure on Linux.21:28
arigoit usually hangs a machine to death21:29
xorAxAx(surely because cygwin's fork is so slow and userspace bound that you have plenty of time to kill it again)21:29
cfbolzhave... to control.... curiosity!21:29
cfbolzwasn't there this nice little bash macro that runs out of file descriptors very quickly?21:30
exarkundunno about fds, but don't run this bash command: :(){ :|:& };:21:30
cfbolzI think that was it, yes21:31
cfbolzexarkun: I thought it was fds, no?21:31
Action: xorAxAx spreads the code from above on #python.de 21:31
xorAxAxcfbolz: its forking 2 times in each process21:31
exarkuncfbolz: it defines a function that runs two subshells and invokes the function in each21:32
stakkars_ (i=jaceelhz@i577B53C1.versanet.de) joined #pypy.21:32
Action: cfbolz goes offline and does some experiments21:32
cfbolznight all21:32
cfbolz (n=cfbolz@p54ABA34F.dip0.t-ipconnect.de) left irc: "Leaving"21:33
stakkars (i=qqghii@i577B5B46.versanet.de) left irc: Read error: 110 (Connection timed out)21:49
rhymes (n=rhymes@host108-9.pool8250.interbusiness.it) left irc: 22:06
bitmvnch (n=bitmonk@cpe-66-69-203-28.austin.res.rr.com) left irc: 22:29
AJC (n=AJC@chello213047059068.25.11.vie.surfer.at) left irc: "Leaving"22:48
bitmvnch (n=bitmonk@cpe-66-69-203-28.austin.res.rr.com) joined #pypy.23:59
--- Fri Sep 29 200600:00

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