Parrot 2.3.0 Released | parrot.org/ | Channel log: irclog.perlgeek.de/parrot/today | Priority: apply deprecations, merge branches | Review and vote GSoC applications
Set by moderator on 20 April 2010.
00:19 JimmyZ joined 00:21 theory joined 00:56 ZeroForce joined 00:59 Andy joined 01:11 JimmyZ joined
Andy ping bacek 01:13
01:20 patspam1 joined 01:23 tcurtis joined 01:26 jsut joined 01:40 jan_ joined 01:42 hercynium joined 01:52 jan_ joined 01:58 Psyche^ joined 02:18 ZeroForce joined 02:20 jan_ joined 02:23 JimmyZ joined 02:28 jan_ joined
dalek rrot: r45999 | petdance++ | trunk/include/parrot (3 files):
removing unused boilerplate comments
02:33
rrot: r46000 | petdance++ | trunk/src/pmc/stringhandle.pmc:
consting, and unusing an interp
02:34
02:46 jan_ joined
dalek rrot: r46001 | petdance++ | trunk/src/string/api.c:
COMPARE funcs are not booleans. strlen is not boolean, either. add clarifying parentheses
02:50
03:10 jan_ joined 03:19 janus joined
dalek izkost: 5bce8fd | sorear++ | build/ (2 files):
Rebase src/pmc/Makefile to run commands from source root
03:37
izkost: 7fad957 | sorear++ | (3 files):
Merge the Makefiles
izkost: 723070e | sorear++ | build/Makefile.in:
Kill the recursive make
03:39 jan_ joined
sorear tidying makefiles is so annoying 03:48
03:54 lidden joined
dalek rrot: r46002 | petdance++ | trunk (2 files):
fix an annotation
04:28
05:02 rurban_ joined 06:09 ZeroForce joined 06:12 iblechbot joined
sorear Is $(O) guaranteed to start with a dot? 06:14
dalek izkost: 78b913e | sorear++ | build/Makefile.in:
Convert Makefile to use dependencies over ordering
06:58
07:05 fperrad joined
dalek izkost: 6a65061 | sorear++ | build/Makefile.in:
Tidy up the Makefile a bit.
07:20
izkost: 1abfb09 | sorear++ | build/Makefile.in:
Fix make clean
sorear somebody wasn't thinking :/
also, I think I'm done shaving this yak for today
moritz sorear++
sorear fails to build on Perl 5.8.1... macro hell 07:26
how about I'll not bother until somebody complains. 07:27
sorear slaps "require 5.010" in the configure script
dalek izkost: 28e07ac | sorear++ | Configure.pl:
Give a more helpful error if someone tries to use 5.8.x
07:31
moritz sorear: supporting the last two major releases (5.10, 5.12) sounds like a sane-ish idea :-) 07:32
cotto Isn't $(EXE) defined? 07:42
sorear No? 07:52
We use @exe@ everywhere. No real reason.
bacek ~~ 08:45
08:57 fperrad joined
cotto ohai 09:10
sorear Never name a PMC variable "pmc". 09:12
I shadowed SELF, which went undetected by the compiler -> bam segfault
(diagnosing this segfault required single stepping through Perl_push_scope at the assembly level...) 09:13
cotto yeah. That sounds unpleasant to debug. 09:15
A proper pmc compiler would catch something like that and at least give you a nice error.
ideally it'd pick a unique variable name for SELF 09:16
sorear I've dealt with worse. 09:19
Best kind of bugs are the ones that only manifest in optimized code on architectures you've never used
cotto urgh
sorear which makes assembly debugging just a bit harder 09:20
NotFound Even if not uniqe, something more helpful than the variable type in lowercase will be helpful.
cotto gcc 4.5 is supposed to have improved debugging support for optimized code
NotFound We do it even better, we have problems manifested only in non-optimized builds X-) 09:21
sorear cotto: Any bug which *only* shows up under the optimizer is potentially a compiler bug, which, sadly, means I can't trust source-level debuggers 09:22
NotFound sorear: I disagree. Most of them come from programmers lying to the compiler. 09:23
sorear you disagree with what part of the statment 09:24
dalek izkost: 5fa07ce | sorear++ | src/pmc/ (2 files):
Don't use variables named 'pmc'

to be set in the wrong places, eventually causing a PMC to be treated as a PerlInterpreter; segfault ensued.
09:25
izkost: c389906 | sorear++ | (2 files):
Implement foreign namespace protocol
izkost: c264437 | sorear++ | examples/tk.pl:
Update Tk example

a real HLL, from the lines which represent user code.
NotFound sorear: usually looking at the source first helps locate the problem faster than starting at machine code level. 09:26
cotto sorear, it's surprising that the compiler didn't gripe about that. It breaks the build if I try that on a core pmc. 09:32
sorear weird. 09:33
NotFound cotto: in the generated code, you mask a parameter with a local variable with the same name inside a block. Nothing invalid. 09:34
In methods, that's it. In vtable functions there is no such block.
cotto Ah. It makes sense that doing that in an inner block wouldn't upset the compiler. 09:35
NotFound cotto: but the inner block is generated code, so the poor programmer can't see it in the pmc. 09:36
09:36 cognominal joined
cotto indeed 09:37
lta
NotFound Too much macros, too much preprocessing 09:38
sorear I think I have tk.pl exactly how I want it
tomorrow, I'm going to try and implement :from<perl5> in rakudo
cotto Getting tk working with nqp is pretty awesome. sorear++ 09:40
sorear maybe I should add CGI.pm and DBI examples eh? 09:41
dalek izkost: 4b3feea | sorear++ | examples/tk.pl:
Oops, bareword exit doesn't work in NQP
sorear also, the last released version of Tk (2007) does not build on 5.12
sorear you'll need to download the 2008 development release 09:42
*Perl/Tk
dalek rrot: r46003 | NotFound++ | trunk/lib/Parrot/Pmc2c/PMCEmitter.pm:
assign to multi_func_list content instead of initializing in C code generated from .pmc, TT #652 part 2
09:53
rrot: r46004 | mikehh++ | trunk/src/pmc/packfilefixuptable.pmc:
fix codetest failure - tabs in leading whitespace
10:25
cotto t/op/io.t has a failure 10:29
NotFound cotto: TT #1107 ?
Uh, no... 10:30
bacek cotto, trac.parrot.org/parrot/ticket/1592
NotFound cotto: TT #1592 ?
cotto looks like it 10:31
purl No it doesn't, shut your hole!
cotto purl, go play in traffic
purl wanders off to dent some cars.
cotto wonders why kid51 attached a diff instead of just mentioning the revision directly. 10:33
nm. He did both. 10:35
still odd though
dalek rrot: r46005 | mikehh++ | trunk/examples/embed/cotorra.c:
fix codetest failure - alter C function docs to reflect changes
10:42
10:47 JimmyZ joined
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33444), fulltest) at r46005 - Ubuntu 10.04 RC amd64 (g++ with --optimize) 11:00
sorear why does Parrot explicitly use -Wno-shadow ? 11:05
NotFound sorear: possibly becase someone found easier to silent the watnings than to fixing them. 11:09
sorear :(
NotFound I'm working on a fix for the pmc problem, found already a lot of 'pmc' that must be SELF in several .pmc 11:10
bacek Let's just fix it 11:15
NotFound mikehh: thanks for the fixes, I was a bit tired yesterday. 11:23
11:25 Mokurai joined
dalek rrot: r46006 | NotFound++ | trunk/src/pmc (5 files):
[cage] fix a lot of 'pmc' usages that must be SELF
11:30
sorear so uh I'm doing something really crazy 11:35
I have 2 parrot build trees
one --optimize, one not
so I can switch /usr/local/bin/parrot in a few seconds
JimmyZ Another thing is that, I don't know what's the difference between SELF and SELFSTATIC. 11:36
bacek NotFound, I'm going to commit patch for Pmc2c to use <_self> instead of C<pmc> for SELF 11:37
NotFound bacek: I'm trying the same, but have a bug. 11:38
bacek MethodEmitter/default/Null pms
NotFound bacek: and i prefer a long and ugly name, such as pmc__Self__
bacek NotFound, make sense 11:39
NotFound Easier to grep, and less probe no be used by mistake.
s/probe/prone
bacek NotFound, float.pmc
NotFound bacek: What's with float? 11:40
bacek NotFound, sorry. It was my bug. 11:41
NotFound JimmyZ: in calls, STATICSELF use self directly, instead of delegating to vtable 11:42
11:42 Whiteknight joined
NotFound bacek: No Object.pm ? 11:43
bacek NotFound, Object.pm as well 11:44
JimmyZ NotFound: sometimes they all can be used in the same place.
NotFound: but sometimes they can't
NotFound bacek: then we are doing the same. Let me try yours. 11:45
nopaste "bacek" at 192.168.1.3 pasted "SELF replacement for NotFound++" (129 lines) at nopaste.snit.ch/20363 11:46
dalek rrot: r46007 | fperrad++ | trunk/t (147 files):
[t] fix shebang when parrot is not yet installed
11:47
nopaste "cotto" at 192.168.1.3 pasted "fix for tt #1592, needs review" (67 lines) at nopaste.snit.ch/20364
cotto someone mind telling me if that's sane?
It involves a little less poking into the guts of the interpreter 11:48
sorear I'm stopped in the debugger in Parrot_ex_throw_from_c_args. Is there a sane way for me to get a Parrot-space backtrace?
cotto PDB_backtrace(interp); ? 11:49
sorear excellent 11:50
cotto++
NotFound cotto: I'm not even sure if supporting such usage is sane whatever the way used. 11:51
cotto That's why I ask.
I'm not either.
bacek NotFound, my version segfaulting on miniparrot...
NotFound bacek: oh, the we are in the same road. 11:52
then
sorear weird, this is a debug Parrot but namespace.pmc seems to have been compiled with no symbols
mikehh bacek: you said before that optimized builds do not check assertions
sorear puts his assembly debugging hat back on
bacek mikehh, yes.
mikehh hmmnn 11:53
sorear other files are mostly fine 11:54
possibly all pmcs are affected
NotFound cotto: IMO using confusing and untested ways in order to improve security can actually open lots of holes instead of closing them.
cotto A less invasive solution is to stick the test in its own .HLL
sorear ops are symbolled, guts code is symbolled
cotto Then it only requires the assert in src/io/api.c to be removed. 11:55
NotFound cotto: yes, but way you test a different thing: that FileHandle is HLL mapable. 11:56
I'm starting to think that the sane solution is to kill the open opcode. 11:57
cotto Actually, the test works as written if the assert is removed. 11:58
guts-pokey though it is
NotFound cotto: yes, but isn't testing anything useful.
cotto for dukeleto it is 11:59
NotFound Try to do that and use a HLL that maps FileHandle, I doubt the result makes any sense.
mikehh cotto: the assertion appears 3 times in the function - what about the other 2 times 12:00
cotto I'd guess that they need to be more flexible if this is a behavior we want to support. 12:01
NotFound I don't want to support replacing core PMC with classes, unless classes and PMC get unified first. 12:02
cotto Such design decisions are best left to allison and far away from sleep-deprived me.
I was just bugged by the failing test and wanted to see what'd be needed to make it pass again. 12:03
dalek rrot: r46008 | fperrad++ | trunk/MANIFEST.generated:
[install] remove some dynext
NotFound My personal decision is: if someone has problems because of doing that, I can't help fixing. 12:04
cotto allison's post to parrot-dev seems to indicate that the asserts should be smarter, but that other changes are needed too.
mikehh cotto: me too - we need to establish if that asertion is valid or what is needed there
the test passes without the asertion 12:05
cotto yup 12:06
NotFound cotto: Again? That test passed at some time? 12:07
cotto Looks like the asserts go. From the architect: "e shouldn't be ASSERTing based on typenum there anyway, to allow for HLL mapping of FileHandle."
*we 12:08
mikehh NotFound: the test passes without the asertion and passed before it was put in
NotFound I fail to understand how you can HLL map a type that hasn't even be written. 12:09
cotto It looks like the other two asserts are appropriate. 12:10
NotFound Did we have some HLL that currently HLLmap FileHandle? 12:13
cotto nafaik 12:14
time for sleep 12:16
NotFound bacek: I think I found the problem, is related to the way nci calls to methods obtains self. 12:18
bacek NotFound, already fixed and committed :)
NotFound bacek++ 12:19
bacek r46010
dalek rrot: r46009 | cotto++ | trunk/src/io/api.c:
[io] remove an assert that prevented overriding the FileHandle PMC from PIR (closes TT #1592)
rrot: r46010 | bacek++ | trunk/lib/Parrot/Pmc2c (5 files):
Use C<_self> instead of C<pmc> as replacement for C<SELF>
mikehh cotto: the test passes the first assertion bu now fails the next asertion in the next test 12:31
dalek TT #1592 closed by cotto++: t/op/io.t fails in non optimized build
TT #1592: trac.parrot.org/parrot/ticket/1592
Whiteknight is rt.perl.org timing out for anybody else 12:43
?
NotFound Whiteknight: works for me 12:51
Whiteknight damnit. Fails for me every time 12:55
NotFound pdb_output_like needs some love. A test was passing even on segfault. 12:58
13:02 rurban_ joined
ttbot Parrot trunk/ r46011 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/281222.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) 13:04
13:08 kjeldahl_ joined
dalek rrot: r46011 | NotFound++ | trunk (2 files):
NULLOK pc in Parrot_debuuger_start, avoid an assertion failure. Required to handle reentering at runloop ends
13:10
izkost: de1f228 | sorear++ | perl5.pir:
Don't load all of PCT for PCT::HLLCompiler

issue. I'd still like to know what the underlying problem was.
13:37
izkost: 7be2f89 | sorear++ | .gitignore:
.gitignore for perl5.c
izkost: 2fa43d9 | sorear++ | build/Makefile.in:
Reduce make granularity slightly

dependency on transitive closure features.
13:43
14:05 hercynium joined 14:10 JimmyZ joined 14:29 lucian joined 15:02 tetragon joined 15:03 khairul_ joined 15:08 Mokurai1 joined
mikehh I am still getting t/op/io.t failing with the build without --optimize (it passes with) it just fails later (after the ok message) - src/ops/io.ops:161: failed assertion '! PMC_IS_NULL(PREG(1))' 15:17
if I extract test 1 the rest of the tests pass and that test on its own gives the same result - the assertion is the open op after the open 15:19
s/is/is in/
the ok shouldn't come until after the return from the open op 15:20
and furthermore if the open op is failing the asertion WTF are we getting back, which the test accepts 15:22
15:25 jan joined
mikehh if the PMC_IS_NULL on the filehandle there is NO way the test should pass 15:27
and why are we using 'P6_Object.pbc' in the test 15:29
dalek rrot: r46012 | fperrad++ | trunk/t/compilers/pge/perl6regex/01-regex.t:
[t] output a valid TAP comment
15:39
NotFound mikehh: I think open is intended to never give a null result. Either throw or returning a Handle in condition of error, eof, or something. 16:02
mikehh NotFound: that's what I thought - I re-opened the ticket 16:04
NotFound Given that it depend on platform dependant implementations difficult to maintain in sync, perhaps a runtime check in the op instead of an assertion verifying that the functions are right is the way to go. 16:05
At lease the way to go until the open op gets killed. 16:06
least
But... if I fix that I'll be the bad guy for making the test fail X-) 16:07
mikehh I am still not sure about the test - I thgink we should remove it until we can be sure that it is a valid test 16:08
think
dalek TT #1592 reopened by mikehh++: t/op/io.t fails in non optimized build 16:09
TT #1592: trac.parrot.org/parrot/ticket/1592
NotFound Parrot_io_open is declared CANNOT_RETURN_NULL, but we don't have and of course can't check CANNOT_RETURN_PMCNULL 16:10
dalek rrot: r46013 | fperrad++ | trunk/t/run/exit.t:
[t] redirect output (which are not valid TAP comment)
16:12
NotFound The current code is a mess. It checks new_filehandle->vtable->base_type == typenum to dispatch to PIO_OPEN and set attributes assuming is a FileHandle... but typenum is not granted to be a FileHandle or even isa FileHandle with that recent changes. 16:16
And we must have a test checking that this mess don't die too horribly?
16:17 TiMBuS joined 16:20 iblechbot joined 16:26 particle joined
Coke does docs.parrot.org still need updating? 16:39
(tk from nqp) that is cool. The TPF grant was cancelled, IIRC. 16:40
mikehh Coke: yes - Parrot 2.1.1
Coke ok, I'm on it. 16:43
NotFound BTW we were already able to use Tk, via TclLibrary. 16:47
mikehh wonders how many of our tests are checking the wrong things 16:49
Coke oh, there were no docs ever for 2.2.0, were there. 16:52
ok. docs.parrot.org/parrot/2.3.0/html/ exists... 16:56
ncftp++ 16:57
gerd++ for putting out a .bz2 file on the last release.
16:59 ZeroForce joined
Coke ok. docs.parrot.org/parrot/2.2.0/html/ exists... 17:00
all the aliases on docs.parrot updated (and pointing to 2.3.0) 17:01
ARIGH. 'make realclean' is removing PERL. 17:27
wtf.
evil evil evil
purl LIVE LIVE LIVE!
17:48 bakkdoor joined 17:54 tadzik joined
tadzik hey, has anyone encountered any problems installing parrot 2.3.0? 17:54
it's failing on make install here: wklej.org/id/322613/ 17:55
Coke that line looks borked: 17:57
cc -o installable_tapir tapir.o /tmp/parrot-2.3.0/src/install_config.o -Wl,-rpath=/usr/local/lib -L/tmp/parrot-2.3.0/blib/lib -lparrot -Wl,-E -Wl,-rpath,/usr/lib/perl5/5.10.1/linux/CORE -fstack-protector -Wl,-E -lnsl -ldl -lm -lcrypt -lutil -lpthread -lrt -lgmp -lreadline -Wl,-rpath,/usr/lib -lpthread -lm -L/usr/lib -licuuc -licudata -lpthread -lm
oh, wait, nevermind.
might be a dependency issue. 17:58
does /tmp/parrot-2.3.0/src/install_config.o exist yet?
tadzik oh well, looks like it worked with make -j1
thanks for the tip
Coke (deleting) ... must have had a borked Makefile. or something. cannot duplicate the deleting of perl now. (but it did so 3 or 4 times in a row. :| 17:59
sorry about that. we try to be good about keeping -jN working. :(
tadzik no problem, should have tried that 18:00
18:29 Mokurai joined
Coke purl: nobody cares if you upset a droid. 18:32
purl Coke: excuse me?
tadzik ho, he's on a plenty of channels 18:34
Coke purl, wookie? 18:39
purl I bent my Wookie!
18:40 joeri joined 18:55 ruoso joined
dukeleto will fix t/op/io.t soon 19:00
19:16 Mokurai joined 19:20 alexn_org joined
dukeleto is t/op/io.t failing for anybody now? 19:41
i did a build without optimize, and the tests still pass 19:42
re: trac.parrot.org/parrot/ticket/1592
NotFound dukeleto: mikehh said so. 19:43
dukeleto: Have you seen my last comment in the ticket? 19:44
mikehh dukeleto - testing now with g++ without --opt on amd64 19:55
19:55 rblackwe joined
mikehh passes at r46014 19:58
dukeleto yay! 20:01
the way I wrote the test originally was wonky
and i always used an optimized build, so I didn't notice it
dalek rrot: r46014 | dukeleto++ | trunk/t/op/io.t:
[TT# 1592][t] Improve test for open opcode delegation. All tests in the file pass in both optimized/unoptimized builds on darwin/x86
20:02
dukeleto i will start testing on both optimized/unoptimized now, when there are changes in C
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33455), fulltest) at r46014 - Ubuntu 10.04 RC amd64 (g++) 20:41
nopaste "NotFound" at 192.168.1.3 pasted "parrot puts an invalid value in a register when vtable override does not return as expected" (19 lines) at nopaste.snit.ch/20367 20:46
NotFound Looks like the io test was manifesting a more general problem. 20:47
Someone can reproduce? 20:49
20:50 lucian joined
NotFound I can. Fails in i386 and in x64 20:52
That's funny it doesn't segfault in non optiized build. 20:58
21:02 rurban_ joined 21:08 plobsing joined 21:09 kid51 joined
kid51 Linux/i386: r46014: Not Found's override.pir: I get the seg fault with --optimize 21:10
But without --optimize, I get:
Foo overrides
in main
P
i.e., the last thing printed is 'P', without a newline 21:11
NotFound Looks like i gets an arbitrary value from somewhere. It prints Foo for me. 21:12
Crated TT #1593 about it 21:20
dalek TT #1593 created by NotFound++: parrot puts an invalid value in a register when vtable override does not ... 21:22
TT #1593: trac.parrot.org/parrot/ticket/1593
21:25 joeri left
kid51 Added my results to TT #1593 21:27
afk
21:43 Mokurai joined 21:44 iblechbot joined 21:52 hercynium joined 22:10 jsut_ joined
bacek ~~ 22:23
Good morning, humans.
GeJ G'Day bacek 22:33
good morning everyone.
bacek G'Day GeJ
Whiteknight hello bacek 22:43
bacek Aloha Whiteknight 22:44
22:45 preflex joined 22:52 patspam joined 22:56 Mokurai left 23:09 patspam1 joined 23:33 patspam joined
Whiteknight I want to stop getting emails from RT. Anybody know how I can do that? 23:49
I can't find a setting anywhere that looks like it controls receiving emails
sorear Whiteknight: Your tickets, or other people's tickets? 23:54
Whiteknight sorear: other people's. I don't have any tickets of my own 23:55
sorear unsubscribe from perl6-compiler then
Whiteknight ah, okay
I didn't realize that was the list
sorear Have the accepted GSoC proposals been announced yet? I'm curious to see the list 23:56
23:56 Coke joined
Whiteknight sorear: where do I go to unsubscribe from it? I can't find a URL anywhere 23:57
sorear perl6-compiler-unsubscribe@perl.org, I hope 23:58
yes 23:59