Parrot 1.0 Released | parrot.org | 361 RTs left!
Set by moderator on 17 April 2009.
he Infiniod: indications are that OpenBSD/ppc needs it as well, ref. trac 502. 00:02
So "if so", please add a test for __OpenBSD__ as well.
Infinoid he: does openbsd also need the patch-ab stuff? 00:07
or is that a netbsd-specific enum? 00:08
00:09 ruoso joined, AndyA joined
dalek rrot: r38186 | Infinoid++ | trunk/src (2 files):
Apply "patch-ab" and part of "ppc-diffs" from heidnes++ in TT #512.
00:13
00:18 samlh joined 00:33 Limbic_Region joined 00:41 Eevee joined
Infinoid he++ # fixing 5 tickets with 1 patch 00:44
he Infinoid: thanks! :) 01:01
Coke_afk msg bsdz yes, that looks like a bug.
purl Message for bsdz stored.
Coke msg bsdz yes, that looks like a bug.
purl Message for bsdz stored.
he Infinoid: according to trac 502, OpenBSD needs something in that direction. 01:03
Infinoid: unfortunately, my raid where my OpenBSD sources live is having issues. 01:04
Infinoid: 502 says it needs redefines for all three symbols. Let's see their cvsweb...
Infinoid: According to www.openbsd.org/cgi-bin/cvsweb/src/...web-markup OpenBSD/powerpc is similar to NetBSD 3.1 in that it has the same enums. 01:07
shorten he's url is at xrl.us/bepewr
he Now checking if parrot will go on NetBSD/arm :) 01:09
Infinoid he: Ok, I'll extend the enum check to work for openbsd too. The define is __OpenBSD__, right? 01:10
he Yep, __OpenBSD__ should be it. 01:11
hmm... "auto::jit - Determine JIT capability.............................no."
Need to look into why it decided that tomorrow. (that's NetBSD/shark, one of our arm ports)
Infinoid it seems the farther away from linux/x86 you get, the less supported parrot's jit is 01:14
that said, I'm a big fan of arm, and am rather interested in seeing jit work there. 01:15
he Yah, understood. As said, I'll take a closer look tomorrow, especially since parrot is supposed to have working jit support for arm. 01:16
01:16 davidfetter joined
Infinoid he: trac.parrot.org/parrot/changeset/38187/ 01:16
he Infinoid: ok, looks good 01:17
dalek rrot: r38187 | Infinoid++ | trunk/src/exec_save.c:
TT #512 followup: OpenBSD may have the same constant-enum issue NetBSD3 had. Enable that code for OpenBSD too.
purl O_O
Infinoid dalek: beatcha to it!
great, hopefully everything will work 01:18
movie time &
he Overdue sleeptime here. Later.
Infinoid thanks again, sleep well.
GeJ How many tests does `make test` run in Parrot? I'm at 11771. I thought it was more than that. 01:31
Infinoid I think it varies a bit depending on platform, but that sounds about right 01:37
the most recent smolder reports are reporting between 11600 and 11800 tests
GeJ Ok then. Well, forget about the noise :)
Infinoid 11756 tests here 01:39
01:46 Theory joined
dalek rrot: r38188 | whiteknight++ | trunk/docs/book/ch09_pasm.pod:
Rewrite about the first 1/10th of ch09. Remove information that isn't false. Add a few code examples that have actually been tested. Add some much-needed clarifications. Warn people to really seriously use PIR instead
01:50
cotto remove information that isn't false? 01:54
Infinoid was wondering about that too 01:56
cotto We can't have documentation with too much true information. 02:00
Infinoid job security, eh? :) 02:02
dalek rrot: r38189 | Infinoid++ | trunk/docs/book/ch09_pasm.pod:
[book] Fix a few minor spelling/grammar things I noticed while proofreading r38188.
02:04
cotto Yeah. That way nobody else can not be paid for doing what we're not being paid for. 02:06
Infinoid gives cotto a 10% raise 02:07
02:13 kid51 joined
moderator Parrot 1.0 Released | parrot.org | 351 RTs left! 02:14
02:20 eternaleye joined 02:35 janus joined
bacek purl: smolder? 02:38
purl hmmm... smolder is sourceforge.net/projects/smolder or web-based smoke test aggregator used by developers and testers to upload (automated or manually) and view smoke/regression tests using the Test Anything Protocol (TAP). or smolder.plusthree.com/app/public_pr..._reports/8
cotto earns raise by fixing an imcc bug 02:56
bacek 350 tickets left. 02:58
cotto not for long 02:59
bacek Who owns languages/pir? I want to overtake it.
cotto backe++ for that, btw
bacek cotto: RT tickets. Not TT tickets.
cotto right 03:00
bacek++ #not sure who that backe guy is 03:06
bacek cotto: someone else :) 03:07
cotto karma backe 03:09
purl backe has karma of 1
03:09 Infinoid joined 03:14 particle1 joined
kid51 bacek: I associate PIR tickets/issues with 'kjs' or 'kj' 03:18
cotto mmmm. particle collision
kid51 but Klaus hasn't been around much in recent weeks. 03:19
I vaguely recall seeing him post that he was very busy with $job and RL.
So I don't think PIR is getting much attention now.
or, more specifically, languages/pir 03:20
cotto istr something similar
bacek Ok. Better to ask for regrets. I'm going to resurrect languages/pir.
kid51 Hmm. Where did it go to? 03:21
bacek ../
svn.parrot.org/languages/pir
nopaste "kid51" at 68.237.5.81 pasted "Build failure on Darwin/PPC at r38189" (358 lines) at nopaste.snit.ch/16303 03:24
kid51 That's my first build failure on Darwin in a long time. The same rev built and tested successfully on Linux. 03:25
bacek: Since that failure was at src/packfile/pf_items.c, could it have been caused by your r38172 merge? 03:27
bacek kid51: It can. But unlikely. I didn't touch C API.
kid51 (or perhaps it happened just after pf_items.c)
Infinoid oh goodie, I must have broken ppc 03:28
bacek what is "src/asmfun.s"?
Infinoid kid51: Thanks, I'll fix that in just a moment 03:29
kid51 r38186 perhaps?
bacek scratches head in searching way to fix a memory leak in Namespace.pmc. 03:30
Namespace.init invokes Hash.init. Both of them allocates attributes.
Infinoid Apparently netbsd/openbsd assemblers require "%f14" syntax for registers, and darwin's barfs on those. 03:31
I was afraid that might happen
and yes, r38186
bacek OTOH, Namespace.destroy doesn't call Hash.destroy which leaks internal "ATTR hash"...
Infinoid kid51: Does r38190 work better for you? 03:39
dalek rrot: r38190 | Infinoid++ | trunk/src/jit/ppc/asm.s:
[jit] More TT #512 followup: Darwin's assembler can't handle registers with the % prefix. Make it conditional based on the platform.
03:40
moderator Parrot 1.0 Released | parrot.org | 349 RTs left! 03:43
Infinoid bacek: hash is the internals, Hash is the PMC. If attrs are a Hash, they should get GCed separately. if it's a hash, you're right, it will have to destroy it manually 03:46
Infinoid remembers staring at that stuff for a while, but doesn't remember the details 03:47
bacek Infinoid: commit following. r38191 03:49
dalek rrot: r38191 | bacek++ | trunk/src/pmc/namespace.pmc:
[cage] Fix memory leak in Namespace PMC.
03:50
Infinoid hmm, wait. the hash attr is a Hash PMC... so as long as Namespace.mark() doesn't call Hash.mark() it should get cleaned up by the GC, no problem 03:51
Or am I missing something? (wouldn't be the first time.) 03:52
kid51 Infinoid: My Darwin build has gotten past the failure point, though there's some interesting 'make' output I haven't seen before. 03:53
kid51 must sleep now, but I will paste output tomorrow. 03:54
Infinoid Thanks, sorry for breaking your build
kid51 np
I'll pay you back by nudging you on old RTs ;-)
Infinoid heh, good deal 03:55
bacek Infinoid: both of them uses mem_sys_allocate for _attributes.
So, Namespace.init leaks memory from Hash.init. 03:56
Infinoid are you talking about the attr structure itself? 03:59
from Hash.init: 04:00
Parrot_Hash_attributes *attr =
mem_allocate_zeroed_typed(Parrot_Hash_attributes);
PMC_data(SELF) = attr;
from Namespace.destroy:
mem_sys_free(PARROT_NAMESPACE(SELF));
doesn't that free what the other allocated?
I'm not saying you're wrong, I'm just not understanding the problem 04:01
oh, I see now. It's just being allocated twice 04:03
You're right :)
bacek++
bacek valgrind++ :)
120 (104 direct, 16 indirect) bytes in 1 blocks are definitely lost 04:04
And this is much-much better than year ago. 04:05
Contexts leaks as sieve... 04:08
Infinoid contexts are a mess 04:11
one todo item is to refactor them into PMCs so they can be GCed normally... I believe there's a ctxpmc branch for that 04:12
bacek But it will slowdown parrot, isn't it??? 04:16
Infinoid maybe, maybe not. It will clean up a *lot* of very twisted code 04:27
did you notice we're doing refcounting for those contexts to determine when to free them?
... sometimes
other times, we just free them directly
pmichaud purl message bsdz your subclassing bug in nopaste 16302 looks a lot like RT #59630. 04:28
purl Message for bsdz stored.
pmichaud are there still cases where they're freed directly?
Infinoid it looks like that's what Parrot_pop_context does, every time, which seems a bit counterintuitive 04:31
if Parrot_free_context is called with a non-true "deref" arg, it's freed directly, right?
pmichaud Oh yes, that.
purl i think yes, that is what a capability _is_, a combination of designation and authority
Infinoid that's what Parrot_pop_context is doing, and quite a lot of things appear to call that 04:32
anyway, still other times, it sounds like we simply leak the contexts
pmichaud No, a non-true deref arg doesn't free it directly.
But Parrot_pop_context does force the refcount to zero.
I don't know why it's that way -- it was that way when I found it. 04:33
Infinoid I tried and failed to wrap my head around that stuff, once
pmichaud most of the calls to Parrot_push_context and Parrot_pop_context seem to come from the PCCMETHOD generation stuff.
Since that is (hopefully) being cleaned up soon, perhaps we'll be able to wrap our heads around it again. 04:34
Infinoid we presume those functions know what they're doing :)
dalek kudo: f2c5829 | (Cory Spencer)++ | src/ (4 files):
Move chr and ord methods to the setting.
04:37
shorten dalek's url is at xrl.us/bepffo
04:43 TiMBuS joined 04:58 flh joined 05:06 pyrimidine joined
pyrimidine rakudobug? 05:06
purl hmmm... rakudobug is mailto:rakudobug@perl.org
05:06 szabgab joined 05:42 pyrimidine_ joined 05:43 pyrimidine_ left 06:10 Xrblackw1 joined
mikehh I just did a make realclean, svn up and svn status on parrot and got a bunch of files with ext .gcda/.gcno 07:17
cotto sounds like leftovers from make cover 07:21
make clean/realclean isn't very good about cleaning those up
you can safely delete anything ending in .gcda or .gcno 07:22
mikehh ah - well I removed them and am building
talking about make cover - I found that after running it for the first time on this platform I did not have debel::cover installed 07:27
so spent an hour running it to have the whole thing fail - shouldn't we have a check to make sure it is available 07:28
07:28 iblechbot joined
mikehh before running through all thos tests? 07:28
cotto That's a good idea. Feel free to file a tt. 07:29
mikehh s/debel/deve/
cotto I'm chasing something else or I'd take a stab at it now.
mikehh cotto: are you the release manager for the next release? 07:31
cotto mikehh, nope. next week's release is fperrad's. 07:34
see the bottom of docs/project/release_manager_guide.pod
mikehh I knew I had seen your name on the list somewhere -> 1.4 07:39
cotto It'll be interesting doing that and having a gsoc student. 07:48
07:48 szabgab joined 07:58 eternaleye joined
cotto NotFound, ping 08:15
mikehh Infinoid: codetest - # incorrect indenting in preprocessor directive found 11 occurrences in 1 files: src/exec_save.c: 08:17
he mikehh: what's the correct style according to parrot conventions? 08:21
mikehh t/codingstd/c_indent.t gives found and expected 08:23
he ok, thanks, I'll have a look (I fed Infiniod the patch, so I might as well also feed him the correction)
mikehh I had nothing to do with it - just running the tests :-}
he: that file also fails t/codingstd/tabs.t - tabs in leading whitespace lines 35 and 44 08:32
08:33 krunen_ joined 08:34 projector2 left
dalek rrot: r38192 | cotto++ | trunk/src/multidispatch.c:
[MMD] remove unused static function Parrot_mmd_search_classes
08:40
08:48 cotto joined
dalek kudo: afd8ff1 | pmichaud++ | build/gen_parrot.pl:
Avoid problems with newlines in build/PARROT_REVISION on windows (RT #64816)
08:57
shorten dalek's url is at xrl.us/bepfsy
he OK, I now have a diff which fixes the indent/tab thing, and which also has a small correction for the benefit of OpenBSD. 08:58
Anyone around with commit privileges?
moritz raises hand 08:59
but I don't have much time 09:00
bacek he: I am. But I can't test it.
moritz: hi there :)
moritz hi bacek
cotto he, I can test and commit 09:01
he cotto: thanks. Where should I put the diff?
bacek nopaste?
purl nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/ or paste.scsys.co.uk (for #catalyst, #dbix-class, #moose and others)
clunker3 pasta.test-smoke.org/ or paste.husk.org/ or nopaste.snit.ch:8001/ or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/
09:02 krunen joined
cotto he, you can use tools/dev/nopaste.pl 09:02
that's probably the easiest
he cotto: thanks. 09:03
nopaste "he" at 158.38.152.119 pasted "Fix preprocessor indentation and one small OpenBSD problem in src/exec_save.c" (45 lines) at nopaste.snit.ch/16304 09:05
dalek rrot: r38193 | cotto++ | trunk/src/pmc/hash.pmc:
[PMC] remove references to a useless RT
09:06
cotto he, is that just a whitespace fix?
he Yes, and one (... || defined(__OpenBSD__)) addition. 09:07
...for the R_PPC_REL24 case at the end of the diff.
...and of course the comment was also tweaked to reflect the latter. 09:08
So I guess that should have been a "No" :) 09:09
cotto well, mostly. ;) 09:10
it's committed
09:10 PacoLinux joined
cotto there's no going back now 09:10
he Thanks! 09:11
dalek kudo: 8a3a9a9 | pmichaud++ | build/gen_parrot.pl:
Oops. *This* commit fixes RT #64816.
shorten dalek's url is at xrl.us/bepfti
dalek rrot: r38194 | cotto++ | trunk/src/exec_save.c:
[exec] whitespace and OpenBSD fix, patch courtesy of he++
09:13
rrot: r38195 | pmichaud++ | trunk/tools/dev/create_language.pl:
[pct]: Fix possible newline issues for Windows systems (RT #64816)
cotto has had enough of old, vague rt tickets for the night 09:15
he Could I interest anyone in giving hints on trac.parrot.org/parrot/ticket/464 ? 09:16
09:26 flh joined
wayland76 ...or reviews of trac.parrot.org/parrot/ticket/560 ? 09:26
:)
09:27 claes joined
dalek kudo: 91d6204 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 371 files, 10414 passing, 0 failing
09:29
shorten dalek's url is at xrl.us/bepftv
dalek kudo: 2e3a51a | pmichaud++ | :
Merge branch 'master' of git@github.com:rakudo/rakudo
shorten dalek's url is at xrl.us/bepftx
09:46 klapperl joined 09:47 barney joined 09:52 TiMBuS joined 09:55 PacoLinux joined 10:21 uniejo joined 10:33 bsdz joined
bsdz bsdz? 10:35
purl you are creating your own multidimensional array using your own :inline past::op in your vivibase. thing is it stumbles before it gets there.
bsdz bsdz is Blair Sutton <blairuk@gmail.com>
me?
purl you are creating your own multidimensional array using your own :inline past::op in your vivibase. thing is it stumbles before it gets there.
bsdz bsdz?
purl you are creating your own multidimensional array using your own :inline past::op in your vivibase. thing is it stumbles before it gets there.
bsdz no purl, bsdz is Blair Sutton <blairuk@gmail.com> and is working on Matrixy and Pynie 10:38
purl okay, bsdz.
bsdz me?
purl you are, like, Blair Sutton <mailto:blairuk@gmail.com> and is working on Matrixy and Pynie
10:57 Whiteknight joined
NotFound cotto: pong 11:19
dalek kudo: 11bc88f | unknown++ | :
Merge branch 'master' of git://github.com/rakudo/rakudo
11:29
shorten dalek's url is at xrl.us/bepfw6
dalek kudo: 341f449 | unknown++ | src/classes/ClassHOW.pir:
Need to not pun calls to .WHATon a role (this can go away when .WHAT really becomes a macro).
shorten dalek's url is at xrl.us/bepfw8
claes if I want to output stuff to stdout when my PGE action is called is there a way. I tried with say($var) but it doesn't seem to work 11:35
bsdz claes: you need to call your own builtin that does the same thing. you can use namespaces too i.e. MyNamspace::print($var) 11:41
claes bsdz: there was a default 'say' PIR provided but I found the problem 11:45
was running --target=parse instead of --target=past
ooops
I think I'll go hide in the closet 11:46
bsdz i guess i didn't quite understand what you were doing. still, you got it sorted :) 11:47
11:51 bsdz joined 11:57 uniejo joined 12:00 rblasch joined 12:25 cognominal joined
Infinoid good morning 12:38
12:39 kid51 joined
nopaste "kid51" at 68.237.5.81 pasted "Darwin/PPC: Some 'make' warnings" (27 lines) at nopaste.snit.ch/16305 12:40
Infinoid morning kid51, perfect timing
kid51 Did you stay up all night? Or just get up early? 12:41
Infinoid I just got up, like, 2 minutes ago.
kid51 You in MT or PT? 12:42
Infinoid PT
kid51 Early there!
Infinoid yeah, I'm weird like that. 12:43
kid51 It turned out that those "interesting" warnings I saw in my Darwin/PPC build were present even before what you were doing was committed.
Infinoid that warning on line 582 looks related to the comment on line 581
/* XXX This is an infinite loop. When i = 0, i-- goes to very large. */
kid51 line 582 of what? 12:44
Infinoid src/exec_save.c
kid51 Oh, yeah, ic.
he It looks a little strange to have 'i' be a size_t, but maybe that's just me... 12:45
As far as I can see, it's used as a counter, not to measure the size of anything in that function. 12:46
dalek rrot: r38196 | Infinoid++ | trunk/tools/dev/create_language.pl:
[cage] Remove trailing whitespace.
12:47
he My guess it could just as well be an int. 12:48
12:48 Whiteknight joined
Whiteknight smolder? 12:48
purl somebody said smolder was sourceforge.net/projects/smolder or web-based smoke test aggregator used by developers and testers to upload (automated or manually) and view smoke/regression tests using the Test Anything Protocol (TAP). or smolder.plusthree.com/app/public_pr..._reports/8
Infinoid It used to be int. It changed to size_t in r32748 12:49
"no functional changes", he said. Heh.
he "Cleaned up several warnings", no less! :)
Infinoid Yeah. My guess would be a warning related to a _LARGEFILE_SOURCE 32-bit vs 64-bit mismatch 12:50
he: are you still looking for help with TT #464? 12:51
he Infinoid: yes, I sure am.
Although I don't have a lot of time to spend on it right now. 12:52
Infinoid Ok. Are you able to reproduce the crash with ./parrot -t t/op/calling_11.pir ?
he Yep.
Infinoid well then, briefly, it's a failing namespace lookup, that code probably backends to the generic hash stuff in src/hash.c. My first guess would be a faulty strcmp, I'd start by making sure your charset/encoding plugins are equivalent on the good and bad platforms. 12:53
those are in src/string/ and subdirs, you should be able to place breakpoints on (for instance) ascii_compare 12:55
let me know when you have some more time
Whiteknight the hash system doesn't use strcmp for it's indexing, does it?
he What plugins are those? The icu package? It's at 4.0.1 on both platforms.
Infinoid he: they're in src/string/charset/ and src/string/encoding/ 12:57
Whiteknight: for cstring hashes, it does. (see cstring_compare().) it depends on how the hash was set up, I guess
Whiteknight wow, that seems terribly inefficient 12:58
moderator Parrot 1.0 Released | parrot.org | 340 RTs left! 13:00
he Infinoid: on both platforms it's unmodified parrot 1.0.0 in those dirs. 13:00
Infinoid he: anyway, Parrot_find_name_op() is a good starting point for a breakpoint (though it might be called internally a bunch of times too)
he Anyway, got to go for a while, later. 13:01
Infinoid cool, it went straight there on my machine.
bye
NotFound i is size_t, that is unsigned, then always >= 0 13:07
Uh, I don't readed the last lines, sorry 13:08
Infinoid wayland76: Your TT #560 patch includes a TODO comment, but I'm not really sure it's something we can resolve. config/inter/libparrot.pm, for example, decides on the $ENV{PATH} separator in more or less the same way... I don't think there's an entry in the config hash for that 13:15
wayland76 Hmm. 13:16
Should there be?
Infinoid wonders if p5 has one 13:17
wayland76 I'd say yes :)
(that's yes to there should be; no idea what P5 does, unless you count File::Spec) 13:18
Infinoid P5 does have one, Config{path_sep}
NotFound The separator is not related to the filesystem, is just a convention used with lots of tools, 13:19
Infinoid yeah. everyone except win32 uses ":", right?
NotFound ms-dos also ;) 13:20
Infinoid win\\d+ then
:)
NotFound Somemone has tried to build with Dos 5.0 13:21
wayland76 ...and DR-DOS :)
NotFound ?
Infinoid I'm not sure it matters for this particular patch. 13:25
P5 uses ';' for $ENV{PATH} but still uses ":" for all of its own stuff (like PERL_OTHERLIBDIRS)
We can just specify that ":" is used for PARROT_LIB_PATH_DYNEXT, PARROT_LIB_PATH_INCLUDE, etc... problem solved. 13:26
wait, what? those aren't environment variables. nevermind, I'm not doing a very good job of reading code today 13:28
NotFound Use ';' only for env vars shared with operating system tools
Infinoid Yeah, that's my preferred solution. Where do these strings come from, though? It looks like something we're generating internally. 13:30
wayland76 Just so I understand; does that mean that I should resubmit the patch with just using ":" ?
The DYNEXT one comes from LD_LIBRARY_PATH on Unix 13:31
dalek kudo: cdd84c6 | jnthn++ | src/classes/Role.pir:
When you pun a role, instances of the class should have a .WHAT that stringifies to the class name. This patch also attaches the parameters a role was instantiated with to the role.
13:32
shorten dalek's url is at xrl.us/bepf5z
Infinoid wayland76: it's probably fine as-is. I'm just not a huge fan of adding TODOs, so I was wondering if there was a better solution 13:34
wayland76 Infinoid: What do you prefer to adding TODOs? 13:35
Infinoid if you can create another ticket for the deferred search path separator issue, I can update the comment to point to it 13:37
hmm, the patch should probably get some HLL eyeballs on it. Have you run rakudo's testsuite on it? 13:39
dalek kudo: a245b4d | (Cory Spencer)++ | (2 files):
Add samecase method to the Any class in the setting.
shorten dalek's url is at xrl.us/bepf6f 13:40
dalek kudo: 6739243 | (Cory Spencer)++ | :
Merge branch 'master' of git@github.com:rakudo/rakudo
shorten dalek's url is at xrl.us/bepf6h
wayland76 No. I'm still trying to get a working Rakudo RPM :) 13:42
Infinoid I'll give it a try here
Whiteknight who uses LLVM to build Parrot? 13:50
PLATFORMS says it's supported, but I've been trying all morning without success
well, PLATFORMS says it's supported on i386, I'm trying to do it on x86_64 13:51
Infinoid git blame points to moritz
Whiteknight smolder? 13:53
purl it has been said that smolder is sourceforge.net/projects/smolder or web-based smoke test aggregator used by developers and testers to upload (automated or manually) and view smoke/regression tests using the Test Anything Protocol (TAP). or smolder.plusthree.com/app/public_pr..._reports/8
Infinoid wayland76: your #560 patch causes a failure for me in (parrot's) t/pmc/nci.t. It is intentionally trying to load a nonexistent library, I think the expected output needs to be updated
wayland76 Infinoid: expected output? 13:54
purl expected output is very long, so i scrolls for screens and screens
Infinoid wayland76: I'll nopaste it 13:55
nopaste "Infinoid" at 75.5.243.250 pasted "t/pmc/nci.t failures with TT #560 patch" (34 lines) at nopaste.snit.ch/16306
wayland76 Ah, I see 13:57
Infinoid You can ignore the "stg serie" part, that was me impatiently typing in the next command before the previous one had finished.
Infinoid starts a rakudo spectest_regression and wanders off 13:58
wayland76 Infinoid: Unfortunately, I don't speak PIR 13:59
Oh, wait, it's not in PIR. Don't mind me :) 14:01
dalek kudo: 27b0b76 | pmichaud++ | :
Merge branch 'master' of git@github.com:rakudo/rakudo
shorten dalek's url is at xrl.us/bepf8h
Infinoid is grepping around to see whether the current loadlib behavior is documented anywhere 14:03
Lots of hits for "loadlib" in docs/, but so far no indication of what it does when it fails.
wayland76 Infinoid++ 14:05
Infinoid hmm. Is throwing EXCEPTION_LIBRARY_ERROR even the right approach? 14:06
I mean, this code doesn't exactly fail silently, it returns PMCNULL. If loading a library fails silently, it's because the caller didn't check the return value, right? 14:07
wayland76 Well, I think code like this needs to go *somewhere* in Parrot. The "failing silently" bit was happening to me 14:08
I think I tried to put the code elsewhere first, but then I didn't have access to the path to say what the problem was, or something 14:09
Maybe it could be fixed differently by someone more expert :)
Infinoid Yeah, failing silently is a problem indeed 14:10
wayland76 Here's something educational 14:11
Run "ack Parrot_load_lib" in your parrot directory 14:12
(or "grep -R Parrot_load_lib ." if you don't have ack)
Note how many of the return values are actually placed in a variable called "ignored" 14:13
So, there's a problem somewhere, and this is the fix that I thought was the most obvious. 14:14
Infinoid That's to work around the PARROT_WARN_UNUSED_RESULT flag on the function
I dunno, maybe throwing an exception is better. The XXX comment in Parrot_load_lib seems to indicate some unsureness. This sounds like a good question for parrot-dev 14:15
wayland76: Exactly what were you failing to load which continued silently? I'm posting to list, and I'd like a test case I can point to. 14:21
wayland76 Rakudo, but it was a month ago that I was getting this. 14:22
Infinoid It wasn't finding rakudo, or rakudo wasn't finding some library your p6 script was trying to load?
wayland76 So I've forgotten, unfortunately
No, I was trying to build Rakudo 14:23
14:23 tetragon joined
Infinoid ok, thanks. If you can reproduce that sometime and post a log or test case to the ticket, that would help. 14:24
(understanding the motivation will help to figure out the right solution)
wayland76 Actually, I think I know how to reproduce, if you have an RPM-type system 14:26
1. Build Parrot RPM
2. Try to build Rakudo without the --gen-parrot option
3. Solve other bugs in Rakudo's build process that I currently am working on patches for :) 14:27
Infinoid I don't, sorry, running gentoo here
14:27 Limbic_Region joined
wayland76 ok 14:27
Ok, I'll keep that in mind
Infinoid and I suspect most of the people in here just run parrot out of an svn checkout, rather than installing it... that may be part of the problem 14:28
dalek kudo: 669fb45 | (Cory Spencer)++ | src/ (2 files):
Moved join method from builtins to setting.
14:29
shorten dalek's url is at xrl.us/bepf9x
dalek kudo: a58fce6 | (Cory Spencer)++ | :
Merge branch 'master' of git@github.com:rakudo/rakudo
shorten dalek's url is at xrl.us/bepf9z
wayland76 Infinoid: Well, I'm trying to build a Rakudo RPM that works on a Parrot RPM, so that's why I'm running into these particular things 14:33
Infinoid wayland76++
I'm out of time here. back later! 14:34
wayland76 That last ticket isn't essential, though, it just helps with the problem solving, and may help someone else in the future
bye
14:38 uniejo joined
NotFound I think we had a discussion about returnning error or throwing in this and some related functions, without conclussions. 14:44
Maybe we must open a RFC ticket about that, and discussing it at #ps 14:45
dalek rrot: r38197 | fperrad++ | trunk/tools/install/smoke_languages.pl:
[install] fix Pynie test
14:47
NotFound The problem with returning a NULL PMC is that later that value can be taken as meaning "current process". The one is never sure about how the function is linked. 14:48
dalek a: b414588 | (Francois Perrad)++ | config/makefiles/pmc.in:
link with installed libparrot
14:49
shorten dalek's url is at xrl.us/bepgbg
dalek lscript: 73c9b13 | (Francois Perrad)++ | config/makefiles/ (2 files):
linki with installed libparrot
shorten dalek's url is at xrl.us/bepgbi
Infinoid I posted a followup to the ticket. +1 to throwing an exception at this level, because this code has better knowledge of the search path and can generate a better error message 14:50
But I'm hoping allison or chromatic or pmichaud or someone can weigh in too 14:51
really gone this time & 14:52
NotFound It will be a godd thing to also define clearly how to look at the current prcoess for symbols.
dalek kudo: 2562758 | (Cory Spencer)++ | src/setting/Any-str.pm:
Add () signature to methods that were missing it.
14:54
shorten dalek's url is at xrl.us/bepgbn
15:02 Theory joined
Coke if we're working around the seatbelts (ignored = non_ignorable_result), that seems... odd. 15:10
NotFound Coke: I'm almost sure people will ignore your comments about that ;) 15:11
claes when creating a PAST::Var with :scope('attribute') I get this: The opcode 'getattribute_p_ic_sc' (getattribute<3>) was not found. 15:12
dalek kudo: bbd14b2 | (Carl Masak)++ | src/classes/Associative.pir:
fixed bitrot in namespace in Associative.pir
15:15
shorten dalek's url is at xrl.us/bepgcj
15:34 flh joined
Tene claes: can you show me the entire PAST node? 15:41
claes: perhaps with --target=past in your compiler?
nopaste "claes" at 87.238.45.47 pasted "The opcode 'getattribute_p_ic_sc'...." (15 lines) at nopaste.snit.ch/16307 15:43
Tene claes: with :scope('attribute'), you need to specify what it's an attribute *of*. 15:45
claes: if you give it a child, it's an attribute of that child
claes Tene: ah, I see.. thanks
Tene claes: if not, it looks in the current invocant, indicated by the special variable "self" 15:46
so it's trying to look up 'self', but it's not currently executing a method
np
you can see the doc for that in docs/pdds/pdd26_ast.pod
claes so I could use say a PAST::Val that would represent the global object? 15:47
Tene claes: "the global object"? i don't understand what you're trying to do here.
claes javascript
purl Write once, bloody snowflakes everywhere.
Tene Can you give me an example of the code you're trying to represent?
claes in Javascript if you declare a variable outside the scope of a function it's actually a member of a global object (normally a hash:ish thing) 15:48
Tene claes: can you explain to me how this is different from it just being a global variable? 15:49
I'm not very familiar with javascript. :) 15:50
claes if someone embeds the JS engine you can specify your own global object and add handlers to how it deals with get and set
Tene ah 15:51
claes JS is a bit special
Tene claes: then you probably want to create a global object in your cockatoo.pir and pass it as a child to your attribute var
claes ok
I'll try that 15:52
bsdz Tene: hi, are you familiar with the Parrot_mmd_multi_dispatch_from_c_args semantics in default.pmc. Specifically the format of sig argument?
Tene something like $P0 = new 'Hash'; .lex $P0, 'OMGSPECIALSUPERGLOBALOBJECT'
claes I'll try that, thanks 15:53
Tene bsdz: bsdz can you be more specific? 15:54
bsdz: it looks like it's the same sig format used elsewhere, like...
"PP->I" for "accepts two pmcs and returns one int"
bsdz: is that what you were asking about?
bsdz oh sure. if you look at the add_int vtable in default.pmc it looks for a sig liek PIP->P but i suspect it should be more like PIP 15:55
at least no four params but three?
Tene Hmm... not sure. That's outside my experience. 15:59
I think you'd want to ask allison, whiteknight, maybe a few others might now.
bsdz: are you seeing unusual behavior there, or just confused by how it works? 16:00
bsdz okay no probs. will ask later. i'm hunting down the cause of my recent trac trac.parrot.org/parrot/ticket/562 i think those sigs are wrong in default.pmc and breaking inheritance.
Tene bsdz: have you tried changing the sig and the args passed? 16:01
bsdz not yet. just found the call now. hopefully have a chance in the next 24hrs 16:02
Tene :) 16:07
16:08 rdice joined 16:09 rblasch1 joined 16:16 iblechbot joined 16:32 wayland76 joined 16:37 Theory joined, rg joined
dalek parrot: r38198 | pmichaud++ | trunk/compilers/pge/PGE (2 files): 16:52
parrot: [pge]: Add initial greedy-only version of ** <exp> quantifier (RT #64186, RT #53100)
16:53 dalek joined
rg hmm did dalek just choke on the ellipses character? 17:08
Tene heh
dalek kudo: 512df4a | jnthn++ | src/parser/grammar.pg:
Parse --> in a signature.
17:35
shorten dalek's url is at xrl.us/bepgp2
dalek kudo: e453f45 | jnthn++ | :
Merge branch 'master' of git@github.com:/rakudo/rakudo
shorten dalek's url is at xrl.us/bepgp4
cotto NotFound, sorry. I forgot what I was pinging you about. 18:00
Tene jonathan: can you confirm that lexical class augmentation is still NYI. I just posted about it in a reddit comment. 18:16
jonathan: www.reddit.com/r/programming/commen...gs/c08xp5q
shorten Tene's url is at xrl.us/bepgvj
18:26 elmex joined 19:18 iblechbot joined 19:53 helozjisky joined 20:23 diakopter left 20:27 Whiteknight joined
dalek pp: 932b932 | (Bernhard Schmalhofer)++ | build/PARROT_REVISION:
set PARROT_REVISION to revision before PMC_pmc_val removal
20:43
shorten dalek's url is at xrl.us/bepg9f
20:58 rblasch joined
mikehh make codetest r38198 is still failing - Duplicate copyright statement found in 4 files 21:02
all with * Copyright (C) 2002 Melvin Smith <melvin.smith@mindspring.com>
before * Copyright (C) 2003-2009, Parrot Foundation. 21:03
21:10 rblasch1 joined 21:32 kid51 joined
kid51 mikehh: Those 4 files should fail. We have a legal issue there with the Melvin Smith copyright. IIRC Allison is looking into it. 21:33
cotto Whiteknight, ping 21:43
Whiteknight cotto: pong!
cotto Whiteknight, could you take a quick look at trac.parrot.org/parrot/ticket/551#comment:8 ?
Whiteknight good work on cleaning out old RT tickets, by the way
cotto I'd like an independent sanity check. 21:44
Thanks.
Whiteknight okay, I'll take a look at that
rg would like to know, too :) 21:49
cotto I'm looking forward to that patch being "applie". It sounds tasty. 21:51
rg i'm not too happy with the new semantics of the pointer pmc 21:55
Infinoid mmm, apples 21:56
cotto rg, you don't like what the patch would do, or you don't like how it works now? 21:58
21:58 contingencyplan joined
rg i don't like what the patch would do 22:00
it looks like get_pointer won't get you back what you stored with set_pointer 22:01
Whiteknight I'm not happy with with what the Pointer PMC was doing before either
the whole thing needs to be revamped, but this is an interesting temporary fix 22:02
rg is right though, we definitely do need to align the get_pointer/set_pointer semantics properly
of course, the whole damn JIT system is currently built out of hacks and garbage, so this is no different 22:03
cotto set_pointer is only used in the NCI thunk generation, so changes to its semantics wouldn't mess anything else up
moritz Whiteknight: re parrot on llvm, it stopped working at some point iirc
rg my initial suggestion would have been to add a void **get_pointerref() function, but that results in a bigger change to even allow void ** returns
(well not in changed lines, but place touched) 22:04
Whiteknight moritz: thanks for the info. I was trying it earlier and was running into weird linker errors. I don't know enough about LLVM to debug them
rg so if all you're looking for is a workaround, maybe not handling it (like the 2, 3, 4 signatures) would be the better alternative? 22:05
Whiteknight rg: that would require ripping out a bunch of tests that currently work, and all the stuff that relies on that
I think we're stuck with the garbage for now
rg whitenight: i don't think it would 22:06
the failure is that the jitted caller stub is wrong
the only drawback is that you can't use arbitrary nci functions that have a V in their signature anymore (just as on any non-jitted platform) 22:07
Whiteknight I'm not against letting JIT break now, since we're hoping to replace the current system with bigger and better things in the near future 22:14
mikehh rg: ref TT530 - as of r33198 the test failed - I applied your patch, did a make and it passed - make testj PASSes 22:19
Whiteknight In fact, the sooner we get rid of the current system, the faster we lose the illusion that we have a working system now
rg in that case maybe we should scrap our whole jit 22:20
Whiteknight cotto: I can't test the patch for a while, I'm not on an i386 system today
rg: that's my thought exactly. Our current JIT only works on i386, so most of our target systems don't have it anyway
rg whiteknight: but who's going to replace it? 22:21
mikehh BTW that should be r38198 22:22
Whiteknight rg: We had a GSOC project application to write a new LLVM-based JIT backend
cotto I'm excited about that one. 22:23
mikehh is that going forward?
Whiteknight I've also been looking into libJIT for it, I don't think it would be too too hard to write a libJIT backend if we had some dedicated time to do it
mikehh isn't libJIT very .NET oriented? 22:24
cotto mikehh, only if tewk doesn't get hit by a bus. ;)
rg how do i install perl packages on ubuntu? (in this case WWW:Mechanize)?
Whiteknight mikehh: That's the same question I asked, although apparently it's not true.
libJIT is used by one of the .NET distros, but it's not specific to that
mikehh rg: I use cpanp - but be carefull Ubuntu had some very weird locations - you may have to delete some of the old files 22:26
rg hmm using the gui helped. 22:28
nopaste "rg" at 91.13.139.203 pasted "TT 551 workaround" (28 lines) at nopaste.snit.ch/16308 22:29
rg cotto/whiteknight: how about this for "just make it work"?
mikehh If you want to use synaptic you can get the Ubuntu libraries but they are not necessarily up io date
rg i don't care, i just wanted to just nopaste.pl ;) 22:30
Whiteknight rg: I'm fine with that too, but I can forsee a number of objections to that that other people will raise
rg *use
whiteknight: which people?
purl which people are less likely to name their columns
Whiteknight removing a feature and TODOing associated tests isn't a "fix"
chromatic and allison, I'm sure, will have something to say about it 22:31
rg well removing the whole jit is the same thing
mikehh rg: Synaptic - Sections - Perl Programming Language (universe) - libwww-mechanize-perl 22:34
cotto I'd be happy to see the current jit code go, given that there's no way it's a long-term maintainable solution.
jonathan Tene: NYI 22:35
rg so that makes 3 of us. maybe one of you should suggest that at the next #ps ;) 22:40
22:44 mikehh_ joined
bacek good morning 22:47
mikehh bacek: not quite morning for me about 10 minutes - but good morning 22:48
bacek mikehh: :) 22:49
jonathan: I want to kill PackfileAnnotationKeys. It's low-level thingy which requires a lot of external management. It's better to extend PackfileAnnotation to hold own name and construct Keys during pack. 22:50
Tene jonathan: thanks for confirmation 22:52
bacek afk # will backlog later 22:56
Whiteknight rg: I'll be happy to raise the question, if nobody else beats me to it first 23:01
dalek rrot: r38199 | pmichaud++ | trunk/compilers/pge/PGE (2 files):
[pge]: Updated version of ** <expr> quantifier (RT #64186, RT #53100)
23:19
23:24 dduncan joined 23:25 dduncan left
rg hmm interesting. seems like config/auto/jit.pm thinks that ppc jit is working? is that correct? 23:33
Whiteknight I havent heard that, no 23:55