Parrot 3.2.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Parrot is accepted for GSoC 2011! Student application deadline is Apr 8
Set by moderator on 27 March 2011.
plobsing whiteknight: pong 00:00
00:03 bbatha left
whiteknight plobsing: any objections to adding get_pointer to FixedFloatArray for use with NCI? 00:20
I mean, that's still the way we would pass a FLOATVAL* array? 00:21
cotto_work: I don't know. I invited the guy to come chat on IRC 00:23
00:26 fmiju left 00:29 tcurtis left 00:30 KaeseEs left
plobsing whiteknight: that would work. However, I'm not sure I like the idea of breaking encapsulation of a core type like that. 00:36
you are thinking of this in the context of PLA? 00:37
whiteknight github.com/parrot/parrot/commit/c5bf220541
not for PLA, for that guy I just mentioned who is porting R to Parrot 00:38
00:38 darbelo left
whiteknight If not the best way, what do you suggest? get_pointer returns a malloc'd copy? 00:38
plobsing no. if we want to have F*A accessible through pointers, that is probably the best way. What I'm questioning is whether we want core types doing that at all. 00:39
whiteknight they are useless in an NCI context if not 00:40
unless we provide a series of extension types which can be used that way, but that seems like overkill
plobsing I suppose I may be being a little cautious. It just feels a little convenient for my taste. 00:41
whiteknight So long as we put in a warning that the buffer cannot be resized or freed externally to the PMC, we should be fine 00:42
plobsing fair enough 00:43
but what good is an array of FLOATVALs? that isn't a type any C library is going to recognize.
whiteknight that's a good point.
so we're going to want to translate anyway. 00:44
plobsing or have a type that acts as an array of primitive types C understands
and do the translation at the [gs]et_numval_keyed level
whiteknight I'm really not wanting to put together a set of types just to do native type translations for NCI 00:46
plobsing the thing is, StructView sort of acts that way already. 00:50
so the C side of things is covered
all that's required is a thin layer of $HLL to create a wrapper type that acts like a float-array
whiteknight but then how do we get access to that FLOAT* array? 00:55
still through get_pointer?
and how do we translate that from FLOATVAL* to double*?
plobsing you do so whenever you move data in or out of the array 00:56
whiteknight like an iterator?
plobsing no. let me put together a skeleton to show you what I mean. 00:57
whiteknight okay 00:58
00:59 mtk left 01:01 woosley joined
nopaste "plobsing" at 192.168.1.3 pasted "FixedDoubleArray" (29 lines) at nopaste.snit.ch/40207 01:03
plobsing that's a rough draft of how I see it working. the overriden get_pointer doesn't work from HLLs right now, but I think it would be useful if it did. 01:05
01:05 KaeseEs joined, mtk joined
whiteknight StructView has an .alloc() and .array_offs() methods? 01:06
01:07 tcurtis joined 01:09 Mike_ joined 01:12 Mike_ left 01:13 JimmyZ left
plobsing yes. structview has all the information on how to deal with a type 01:15
whiteknight okay, that's interesting 01:16
but, I'm heading to bed now. I'll think about it more tomorrow 01:18
goodnight
01:18 whiteknight left 01:27 kaneplusplus joined
cotto ~ 01:29
01:48 benabik joined 02:00 kaneplusplus left 02:01 cosimo joined 02:10 hudnix left
dalek rrot/llvm_optin: 7173e48 | jkeenan++ | / (3 files):
Add documentation of '--with-llvm' option. Reactivate tests.
02:19
rrot: 2d1ffb3 | petdance++ | lib/Parrot/Vtable.pm:
add function annotations to vmethod arguments
02:21
rrot: f8696d0 | petdance++ | / (3 files):
parse_vtable() should just take an explicit file argument rather than defaulting. Hoisted up some repeated strings
02:26 petdance joined 02:33 benabik left
dalek rrot: 4cbdf8d | petdance++ | / (6 files):
STRINGNULL and PMCNULL are now always single globals. In the past, they could be NULL depending on a macro.
02:49
rrot: 880473e | petdance++ | / (2 files):
updating PARROT_CAN_RETURN_NULL based on the new PMCNULL/STRINGNULL settings
02:59
02:59 petdance left 03:15 petdance joined 03:18 theory joined 03:26 soh_cah_toa left
dalek rrot: a03f2f3 | petdance++ | src/pmc/stringbuilder.pmc:
localizing STR_VTABLE
03:37
04:03 arnsholt left 04:18 arnsholt joined
dalek rrot: 7f2ef6e | petdance++ | src/embed/api.c:
removed unused var
04:19
rrot: 6c64494 | petdance++ | include/parrot/string.h:
annotating function pointers
cotto ~ 04:32
04:50 petdance left 04:59 bubaflub left 05:01 JimmyZ joined 05:07 contingencyplan_ left
cotto anyone familiar with oscon's inner workings? 05:25
"and we moved to a subversion repository, which has been very nice for those of us working on it" - allison on parrot in '05 05:34
sorear_ what was parrot using before? p4? rcs? 05:36
05:38 mikehh left
cotto probably cvs 05:39
05:55 JimmyZ left 05:58 ShaneC left 05:59 ShaneC joined 06:02 theory left 06:03 theory joined 06:24 fmiju joined 06:27 UltraDM joined 06:30 simcop2387 left 06:35 theory left 06:36 simcop2387 joined, ShaneC1 joined 06:46 simcop2387 left 06:55 simcop2387 joined 06:57 fmiju left 06:58 cosimo left 07:05 ppant joined, fperrad joined 07:12 contingencyplan joined 07:13 S_Arms left 07:23 contingencyplan left 07:24 contingencyplan joined 07:58 ShaneC1 left 08:20 fperrad left 08:38 dod left 08:45 mtk left 08:50 dod joined 08:52 mtk joined 09:02 marc_ is now known as marc 09:13 S_arms joined
bacek ~~ 09:31
moritz .. 09:32
09:32 aloha left, aloha joined
tadzik \\/ 09:33
moritz sense a closing gap
bacek . 09:41
bacek closed it 09:42
seen cotto 09:43
aloha cotto was last seen in #parrot 4 hours 3 mins ago saying "probably cvs".
bacek cotto, wake up!
09:56 contingencyplan left 09:57 SHODAN joined 10:08 woosley left
dalek rrot/jit_prototype: 1f5c141 | bacek++ | compilers/opsc/src/Ops/Compiler/Grammar.pm:
Make vim's syntax highlighting more happy.
10:18
rrot/jit_prototype: 5ec3de4 | bacek++ | t/compilers/opsc/01-parse-macros.t:
Add skeleton for testing of C macros parsing.
rrot/jit_prototype: e68d919 | bacek++ | compilers/opsc/src/Ops/Compiler/Grammar.pm:
Add c_macros as independent module.
tadzik fwiw, Rakudo spectests pass on latest Parrot, --optimize 10:29
10:32 fperrad joined 10:33 ppant left 10:47 mikehh joined
bacek moritz, ping. 10:54
mikehh sorear_: CVS 11:05
CVS -> svn -> git
11:13 lucian joined 11:18 mtk left
dalek rrot/jit_prototype: 7ca4f34 | bacek++ | / (2 files):
First cut of parsing multiline defines
11:20
rrot/jit_prototype: ebe6771 | bacek++ | t/compilers/opsc/01-parse-macros.t:
Add test for multiline define with args.
moritz bacek: pong 11:36
11:36 aloha left, aloha joined, lucian_ joined
bacek moritz, too late. I already figured out how to parse multiline macros :) 11:37
moritz bacek: you're parsing macros? why don't you let a preprocessor expand them? 11:38
11:38 aloha left, aloha joined
bacek moritz, for 1000000 reasons. 11:38
Major one - JIT is independent on C preprocessor :) 11:39
11:39 lucian left
bacek moritz, o! Another question. Can I use HLLCompiler starting from rule other than TOP? 11:52
moritz bacek: if you override .parse in your subclass, yes 11:53
11:53 aloha left, aloha joined
bacek hmmm. .parse is big chunk of PIR code 11:53
11:54 hudnix joined
bacek moritz, I just want to re-parse parsed C macro starting from EXPR rule 11:54
moritz bacek: try :rule('EXPR') (works in Perl 6, not sure if it works in NQP-rx) 11:55
11:55 aloha left, aloha joined, SHODAN left
bacek
.oO( What the heck with aloha? )
11:56
11:56 Patterner left, Psyche^ joined, Psyche^ is now known as Patterner
bacek moritz, afaiu :rule isn't supported by PCT::HLLCompiler 11:57
moritz bacek: should be fairly easy to patch in 11:59
11:59 aloha left, aloha joined
bacek moritz, yes, looks like it's not a big deal. 12:00
12:08 lucian joined 12:11 lucian_ left 12:43 ambs joined
Coke slashdot.org/story/11/04/13/055219/...Client-Tcl 12:47
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#14645) fulltest) at 3_2_0-374-g6c64494
Ubuntu 11.04 beta amd64 (g++)
Coke (which sounds awesome, but it doesn't work in my chrome oOTB) 12:48
12:50 pjcj_ is now known as pjcj
atrodo Coke> Didn't the mozilla folks at one point want to use parrot in firefox for more scripting languages? 12:52
Coke atrodo: I thought it was parrot folk that wanted it. 12:55
atrodo Entirely possible. I just remember seeing something about mozilla and parrot 12:56
13:03 bubaflub joined
mikehh I am getting the following in my Configure -> auto::frames - Determine call frame building capability.............no. 13:15
I have libffi installed, I built perl 5.12.3 including -lffi, I set symlinks to the include files in /usr/local/include and it still gives me this 13:17
13:18 mtk joined
bubaflub mikehh: under config/auto/frames.pm on lines 52 - 55 it looks like it's disabled for some systems 13:19
mikehh so it look like I need to include --buildframes in the configure options I did NOT use --without-libffi 13:24
13:25 dngor_ joined
mikehh I wonder if perl Configure --help is up-to-date? 13:25
bubaflub mikehh: the comments in that step say "Temporary disable build frames automatically." and reference a TT #1132 13:27
mikehh bubaflub: yeah I got it open in my editor 13:28
13:28 dngor left 13:29 bacek_at_work left 13:30 bacek_at_work joined
mikehh anyway I am going to see what the options --buildframes and --inline do to my build 13:30
13:30 Khisanth left 13:34 Khisanth joined 13:36 UltraDM left
mikehh hmmnn - t/steps/auto/frames-01.t - Failed test: 16 -> not ok 16 - has_exec_protect undefined, as expected 13:40
13:42 whiteknight joined 13:46 mike_ joined
whiteknight good morning, #parrot 13:48
moritz \\o 13:50
13:50 aloha left, aloha joined
whiteknight hello moritz 13:50
13:54 woosley joined 14:00 ambs_ joined 14:01 ambs left, ambs_ is now known as ambs 14:07 whiteknight left 14:14 mike_ left 14:18 whiteknight joined 14:19 kaneplusplus joined
whiteknight (needing to restart your computer for even minor updates and installations)-- 14:20
atrodo (adobe reader)-- 14:21
moritz (adobe flash)-- 14:22
14:22 aloha left, aloha joined
lucian (adobe flash)-- 14:23
(adobe flash)--(adobe flash)--
(adobe flash)--
i really, really, really hate that pos
whiteknight i gather 14:29
14:33 darbelo joined
atrodo I think parrot would do well as a flash replacement. I also assume parrot would be magic just about everywhere 14:33
lucian atrodo: how so? 14:35
atrodo lucian> As in, what flash or silverlight does today, but with parrot as the bytecode backend 14:36
moritz would hate to see parrot as the "new flash"
flash should be replaced by something that's not defined by an implementation
14:36 aloha left
lucian atrodo: i think it has a loooong way until then 14:36
14:36 aloha joined
lucian moritz: it is, fret not :) 14:36
atrodo lucian> Oh ya, certainly. Doesn't stop a guy from dreaming 14:37
moritz lucian: it is? how so?
14:37 aloha left, aloha joined
mikehh except for date && time make world 2>&1 | tee make_world.3_2_0-374.g++.opt.64.log everything passes up to fulltest 14:37
lucian moritz: much of html5 is plenty to replace flash. just a few missing bits 14:38
whiteknight moritz: I haven't followed up in a day or two, but are you still seeing segfaults?
mikehh using --buildframes --inline --optimize --gc=gms with g++ options
moritz whiteknight: yes
14:38 aloha left 14:39 aloha joined
lucian atrodo: true. i try to beat my dreams into a bit of realism on a regular basis 14:39
moritz whiteknight: 9 spectest files segfaulting on RELEASE_3_2_0-374-g6c64494
14:39 aloha left
whiteknight damnit 14:39
atrodo lucian> I would, but then I'd have a lot less yaks
14:40 aloha joined
moritz lucian: no need to do that with dreams, just with hopes and plans :-) 14:40
14:40 aloha left, dngor_ is now known as dngor
atrodo lucian> not that I work on those dreams or yaks 14:40
14:40 aloha joined
atrodo ya, what moritz said 14:40
lucian i'm not convinved. it would make me downright optimistic 14:41
moritz dreams != expectations
14:41 aloha left, aloha joined 14:49 darbelo left
kaneplusplus Could someone verify that if I have I'm calling a C function declared as void vec_rnorm(double *pvec, double mean, double sd, long length), then the signature in pir is "vpddl"? I'm getting the error message: No NCI thunk available for signature '[ 0, 15, 4, 4, 9 ]' when I run the code: 15:09
Andy_ I'd be glad to help out Andrew Whitworth with his Rakudo bug sniffing if there was something I could sniff at.
kaneplusplus vals = new 'FixedFloatArray', 100
.local num mean, sd
mean=0
sd=1
pnorm_func(vals, mean, sd, vals)
whiteknight Andy_: what do you mean? 15:17
kaneplusplus: welcome!
kaneplusplus Thanks very much!
whiteknight kaneplusplus: Parrot has two NCI systems. The first one uses a series of built-in dispatch "thunk" functions to make NCI calls with existing signatures
kaneplusplus: the second version uses libffi to build new NCI thunks on the fly, to match what is needed 15:18
kaneplusplus: so to answer your question, right now your version of Parrot doesn not have the ability to call a function vpddl. You either need to add it to the list of built-in thunks, or install libffi
Andy_ See mail from this morning, "Segfaults building Rakudo" 15:19
whiteknight Andy_: okay, right. Are you able to build most recent Rakudo on most recent parrot? That's where the problems typically lie
kaneplusplus whiteknight: I see. Thanks. I'll install libffi. 15:20
whiteknight kaneplusplus: yeah, that's probably easiest. What OS are you on?
kaneplusplus I'm on Ubuntu
whiteknight kaneplusplus: once you install libffi, you need to reconfigure and rebuild Parrot, so it can find it and use it
kaneplusplus: apt-get install libff5 15:21
maybe also apt-get install libffi-dev
I can't remember what exactly is needed
libffi5*
Andy_ whiteknight: Haven't tried. I was looking for something more specific to start with. "Here's a piece of code that fails, go." 15:22
whiteknight Andy_: unfortunately, the failures are spurious. Some people (myself included) can't reproduce them at all 15:23
Andy_: moritz is the only person who has been able to faithfully reproduce it
at least, the only person I know of
moritz I'm happy to hand out accounts if anybody wants to try his luck on my machine 15:24
15:24 aloha left, aloha joined
nnunley moritz: Have you tried something like delta debugging? delta.tigris.org/ 15:26
whiteknight moritz: Actually, I may take you up on that offer today
mikehh postconfig test t/steps/auto/frames-01.t - Failed test: 16 -> not ok 16 - has_exec_protect undefined, as expected 15:28
all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#14655) fulltest) at 3_2_0-374-g6c64494
Ubuntu 11.04 beta amd64 (g++ --optimize --gc=gms --buildframes --inline)
moritz curious... I set up a test user, and under that test user I can't even compile rakudo with --gc=gms 15:29
15:29 aloha left
kaneplusplus whiteknight: that worked, thanks again 15:29
moritz /home/tester/rakudo/parrot_install/bin/parrot-nqp --output=src/gen/Attribute.pir --encoding=utf8 \\ --target=pir src/metamodel/Attribute.nqp
15:29 aloha joined
moritz PARROT VM: Could not load bytecodeCONSTANT_ext/nqp-rx/src/stage0/NQP-s0.pir: Size in directory 23658 doesn't match size 0 at offset 0x16946 15:29
15:29 aloha left, aloha joined
mikehh rakudo - t/spec/S03-operators/range.rakudo (Wstat: 139 Tests: 10 Failed: 0) 15:31
moritz whiteknight: please paste a public SSH key somewhere, and I'll give you an account 15:32
15:32 aloha left
whiteknight moritz: okay, let me get on that 15:33
15:33 aloha joined
atrodo poor aloha 15:33
whiteknight moritz: github.com/Whiteknight/whiteknight...ter/key.md 15:36
moritz whiteknight: please try ssh -l whiteknight moritzlenz.dyndyns.org 15:37
15:37 aloha left, aloha joined
moritz whiteknight: might be a good idea to set yourself an ulimit -v of about 1.5G or so 15:37
15:37 aloha left 15:38 aloha joined
whiteknight okay, I'm in 15:38
moritz++
mikehh moritz: rakudo smoke test #14656 - parrot smoke test #14655
moritz whiteknight: if you need any more software installed for your debugging, please let me know 15:39
15:39 aloha left, aloha joined
whiteknight sure thing 15:42
moritz installs valgrind, because that never hurts :-)
15:45 Coke left
whiteknight how do I build Rakudo from the parrot that's there without installing it? 15:46
moritz you install parrot. 15:47
15:47 aloha left, theory joined
moritz into some local location 15:47
15:47 aloha joined
moritz typically ~/rakudo/parrot_install 15:47
15:47 aloha left
moritz (that's where rakudo looks for a parrot_config binary) 15:47
15:47 aloha joined
moritz (rakudo has required an installed parrot for ages now) 15:48
15:48 aloha left, aloha joined
mikehh I used -> perl Configure.pl --test --cc=g++ --link=g++ --ld=g++ --buildframes --inline --optimize --gc=gms --configure_trace --prefix=/home/mhd/install/lib (for parrot) 15:49
whiteknight has to lookup what half those options are 15:50
mikehh and -> perl Configure.pl --parrot-config=/home/mhd/install/lib/bin/parrot_config (for rakudo)
moritz you don't need the --parrot-config if you install into the parrot_install subdir of rakudo 15:51
15:51 aloha left
moritz (which is why I do it that way :-) 15:51
15:51 aloha joined
Andy_ moritz: Do you have some test program? 15:51
Or is it just in building?
mikehh was just trying out --buildframes and --inline :-}
Andy_ oh wait, reading backscroll.
moritz Andy_: with --optimize, 'make spectest' had 9 segfaults. Without, rakudo doesn't build. 15:52
15:52 aloha left, aloha joined
Andy_ How are you getting parrot to install into ~/rakduo/parrot_install? 15:52
mikehh moritz: I test other things as well and don't want to rebuild every time
moritz Andy_: with --prefix= at parrot configure time 15:53
15:53 aloha left, aloha joined
Andy_ so just --prefix=~/rakudo/parrot_install and then rakudo magically finds it? 15:54
moritz yep (except that I don't know if the ~ is propery expanded)
15:54 aloha left
moritz might be dependent on shell 15:54
15:54 aloha joined
moritz Andy_: ... if rakudo's source is in ~/rakudo/, that is 15:55
15:55 aloha left
Andy_ of course 15:55
mikehh oh dear aloha is having a few problems
15:55 aloha joined
Andy_ aloha: IN OR OUT, YOU'RE LETTING OUT ALL THE HEAT 15:55
moritz just ignore joins and leaves 15:56
15:56 aloha left, aloha joined
Andy_ gist.github.com/919783 if you're interested 15:57
we'll see what I can make happen.
15:58 slavorg left
whiteknight yay, I've finally got Parrot installed to the correct place, and am able to start building Rakudo 15:59
15:59 slavorg joined 16:00 contingencyplan joined
Andy_ huh, it doesn't expand the tilde. Bah. 16:00
moritz then use $HOME 16:04
16:04 aloha left, aloha joined
Andy_ moritz: Already there. Now bulding Rakudo. 16:06
seems to be building for me. Chug chug chug. 16:08
moritz it does here too, with --optimize
16:08 aloha left 16:09 aloha joined
Andy_ I just did a bare perl Configure.pl 16:09
Linux uniqua.petdance.com 2.6.18-194.3.1.el5 #1 SMP Thu May 13 13:08:30 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
whiteknight okay, rakudo built for me without issue 16:11
just a "normal" build, no --optimize 16:14
Andy_ ok, build buoilds for me. 16:16
moritz whiteknight: what about spectests? 16:22
16:22 aloha left 16:23 SHODAN joined, aloha joined
whiteknight running them now. I've seen one test failure but no segfaults 16:23
16:29 benabik joined 16:33 dodathome joined, hercynium joined 16:39 JimmyZ joined
whiteknight I'm in S05 now, no segfaults 16:40
cotto_work ~ 16:41
whiteknight hello cotto_work
moritz huh.
16:41 aloha left 16:42 aloha joined
whiteknight moritz: what are the exact configure commandlines you use? Our answer might be found there 16:42
mikehh I've hit 2 I think - t/spec/S03-operators/range.rakudo .............................. Failed 98/113 subtests - (less 4 skipped subtests: 11 okay) and
whiteknight I did a very basic configure
moritz whiteknight: perl Configure.pl --prefix=/home/tester/rakudo/parrot_install --gc=gms --optimize
16:42 aloha left, aloha joined
whiteknight I'll try again with --gc=gms --optimize 16:42
mikehh t/spec/S04-declarations/my.rakudo .............................. Failed 5/68 subtests - (less 5 skipped subtests: 58 okay) 16:43
moritz whiteknight: in particular --gc=gms is required
16:43 aloha left
whiteknight ok 16:44
moritz whiteknight: leaving out --optimize changes the failure mode
16:44 aloha joined
whiteknight if --gc=gms is required, that may indicate that it's specific to that core at this point 16:44
mikehh moritz: useing more or less the same as you in this build
moritz commute & 16:45
16:45 aloha left 16:46 aloha joined
whiteknight if --gc=gms is the real trigger, that suggests we are missing a necessary write barrier somewhere 16:48
16:48 rohit_nsit08 joined
whiteknight of course, if anybody can reproduce the failures without that flag, then it's a different problem 16:49
we have simultaneously too much and too little data
atrodo is the tests that are failing apart of the rakudo repo or is it seperate?
whiteknight moritz was seeing failures in spectest
rohit_nsit08 whiteknight: hello
whiteknight when you make spectest in rakudo, it pulls in the suite from a different git repo
rohit_nsit08: good morning
atrodo whiteknight> so make spectest in rakudo will do it? 16:50
whiteknight yes
16:50 woosley left
atrodo perfect 16:50
rohit_nsit08 whiteknight: i was working on my javascript compiler's design and have done detailed analysis of bootstrapping process and steps involved in it , I will be happy if u can see and review the whole process. I have used T representation to represent compilers 16:51
whiteknight okay, sure 16:52
rohit_nsit08 whiteknight: rohitnsit08.blogspot.com/2011/04/bo...piler.html
i have tried to explain the whole detailed procedure with stages so that i can use it later to mark my progress 16:53
mikehh got two tests segfaulting - rakudo smoke #14660 - that's gcc --optimize --gc=gms - Ubuntu 11.04 beta amd64 16:54
16:55 lucian_ joined
rohit_nsit08 lucian: hello 16:55
mikehh whiteknight: should I run the build/smoke again without the --gc=gms to see what happens 16:57
whiteknight mikehh: it can't hurt. I guess we can't prove the negative that it *never* happens with the ms2 gc
but more data points will help
mikehh I don't think I was getting segfaults with the i386 build 16:58
will try that later
16:58 lucian left
whiteknight okay, rakudo builds for me no problems with --gc=gms and --optimize 17:00
mikehh whiteknight: haven't had any build problems - just in the tests 17:12
whiteknight I haven't seen any build problems yet either. I did see some tests abort during spectest, but I couldn't duplicate 17:13
benabik had build problems, but they've been solved.
jnthn__ whiteknight: quite tied up with teaching today/tomorrow, but will give a Rakudo build a go on tomorrow evening, or at the weekend. 17:14
whiteknight jnthn__: thanks, I appreciate it
jnthn__ whiteknight: Is there any consistency as to what part of the Rakudo build segfaults? 17:15
I mean, if it's only when compiling core.pm, that's kinda interesting to know
whiteknight jnthn__: none whatsoever
jnthn__ ah :/
That makes things harder.
whiteknight I don't think it's even happening in the build at all today. We've seen spectest failures, but I can't reproduce them one at a time 17:16
mikehh it looks fairly random - which suggests gc problems (with gms that is probably write barriers)
jnthn__ Well, if we could say "it nevers happens when we invoke parrot-nqp, but only when we invoke something using perl6.[pbc|exe]" then it'd be kinda easier to know what to suspect 17:17
if it happens there too, then it's probably just a case of "when we have a big workload the probability of hitting the issue is such that we hit it", which is much trickier
And yes, sounds gc-ish 17:18
What was the major change from a GC perspective in the compreg_pmc branch?
(if any known...)
Is the way that packfile constants are reached and get scanned by the GC different now? 17:19
dukeleto ~~ 17:20
17:20 Eduardow left
mikehh just had a spectest failure with gc=ms2 17:22
whiteknight okay, that's good. So it's not a failure with the gms core 17:23
mikehh different test
jnthn__ If we're seeing it with non-generational then I gues it's not a missing write barrier, which was gonna be my first guess...
whiteknight jnthn__: the biggest change in the imcc_compreg_pmc branch was that packfiles are coming out of IMCC as PMCs now, and are marked that way 17:24
of course, I'm registering all packfile PMCs permanently, so none of them should ever be floating
mikehh t/spec/S02-builtin_data_types/instants-and-durations.t ......... Failed 1/13 subtests 17:25
17:28 hudnix left, hudnix joined 17:30 preflex left
dukeleto whiteknight: just responded to you on parrot-dev 17:32
whiteknight: i am here to help. I don't want to see that branch get unmerged 17:33
whiteknight thanks
I don't want it unmerged either, but we could cut a release from a point before it
dukeleto whiteknight: if you give me a script, I can run it on any GCC compile farm you want
whiteknight: that is also (a nicer) option
17:34 preflex joined
whiteknight ahha! I've found a sweet-spot, and can replicate the segfault pretty faithfully 17:38
cotto_work awesome 17:39
whiteknight I built parrot with --gc=gms, but no --optimize
17:40 birdwindupbird joined
nopaste "whiteknight" at 192.168.1.3 pasted "backtrace" (66 lines) at nopaste.snit.ch/40234 17:40
whiteknight so this is weird as all hell. We're clearly marking the packfile, but the packfile has already been collected. 17:41
it's clearly anchored and protected from GC, but it's still getting collected
wtf
frame #9 is the mark_packfile_pmc routine I added to mark the packfile PMCs 17:42
and that pmc is in the AddrRegistry, which means it's protected
cotto_work What's the best way to reproduce this, and does it happen on x86? 17:43
whiteknight I'm on x64 right now. I don't know where else it happens 17:44
cotto_work That's nuts. The AddrRegistry is the root set.
whiteknight I configured Parrot with --gc=gms. Rakudo built fine for me, but every spectest fails
dukeleto re: "Dead object found!" : Maybe it is just sleeping?
whiteknight maybe :)
dukeleto pines for the fjords 17:45
atrodo I'm not dead yet
17:46 Eduardow joined 17:47 birdwindupbird left 17:48 dmalcolm joined
whiteknight okay, GC is not running during IMCC like I had thought 17:49
dukeleto if ResizablePMCArray's respond to the exists_keyed VTABLE, shouldn't they respond to the defined_keyed VTABLE? 17:53
# Exception is: type 36 severity 2 message 'defined_keyed() not implemented in class 'ResizablePMCArray''
cotto_work: bug or feature?
cotto_work dukeleto: probably a bug 17:54
dukeleto WOOT 17:55
writing all these darn extend_vtable tests has finally hit gold
cotto_work dukeleto: especially since exists_keyed_int exists
I smell a new naming convention: git.kernel.org/?p=linux/kernel/git/...a49ad43f7a 17:56
whiteknight heh, nice
mikehh whiteknight: the test failure I had does not look like a segfault however 17:57
17:58 nwellnhof joined
moritz there's one unreliable test for datetime 18:00
18:00 aloha left
moritz we expect all other tests to pass 18:00
18:00 aloha joined
whiteknight mikehh: test failures are not all segfaults. It's an issue with GC prematurely collecting PMCs, when references still exist to that PMC and might be used 18:02
mikehh: the most common manifestation should be a segfault or other weirdness, but a confess/abort assertion failure is also plausible
NotFound rohit_nsit08: Your T diagrams looks good to me, but my knowledge of that diagrams is limited. 18:03
whiteknight Actually, that's what I'm seeing now is assertion failures
what's maddening to me right now is that if I set a breakpoint on gc_gms_free_pmc_header to try and catch the point where it is collected, that changes the memory layout enough that I no longer fail an assertion 18:06
mikehh whiteknight: it seems to be a time related problem - see rakudo-smoke #14666 - not at all related to the problems we have been having 18:07
cotto_work whiteknight: are you using a fixed hash seed?
whiteknight no
mikehh not ok 13 - Instant A + (Instant B - Instant A) == Instant B 18:08
# got: 'Instant:2011-04-14T17:21:48.398455Z'
# expected: 'Instant:2011-04-14T17:21:48.398454Z'
cotto_work if you find one that causes the failure, you might want to hard-code it
whiteknight yeah, I'm not seeing anything like that
cotto_work: every spectest file aborts prematurely for me. I don't think it's hash seed related 18:09
cotto_work it's one more factor to eliminate
whiteknight cotto_work: if I run the test 10 times in the same gdb instance, it always has the same value. If I run it an 11th time with a breakpoint set at gc_gms_free_pmc_header, it's different 18:10
cotto_work ok
that does make hash seeds seem unlikely
moritz mikehh: that's a floating point error that is sometimes triggered, depending on current time 18:11
18:11 aloha left, aloha joined
mikehh moritz: yeah, but it was the only failure I got running with gc=ms2, which I thought might be related, but it is obviously not 18:12
whiteknight mikehh: okay, that was your only failure on ms2? 18:13
mikehh so AFAICS gc=ms2 does not have the problem that gc=gms has
whiteknight unfortunately we still can't rule it out. Maybe ms2 just runs less frequently, and doesn't run at some critical point where the pmcs are unprotected from GC 18:14
again, we can't prove the negative
rohit_nsit08 NotFound: hi, thanks for reviewing the post, T diagram are just to represent the compiler, the triangle the machine on which the compiler is running and a T with triangle is representing the executable compiler running on specified system 18:17
NotFound rohit_nsit08: I know it, but I'm not familiarized enough so you shouldn't trust much my judgement. 18:18
rohit_nsit08: The text explanation is good.
dalek rrot/tt2094: e254014 | dukeleto++ | t/src/extend_vtable.t:
[t][TT #2094] A test for Parrot_PMC_defined_keyed on a ResizablePMCArray that fails
18:19
rohit_nsit08 NotFount: thanks, I am writing another post to explain the terminologies used in present one :-)
dalek TT #2094 created by dukeleto++: ResizablePMCArray doesn't respond to the defined_keyed() VTABLE via the ...
TT #2094: trac.parrot.org/parrot/ticket/2094
NotFound rohit_nsit08: Have you seen my posts about winxed bootstrap? 18:20
rohit_nsit08 NotFound: ya i have read most of them. 18:21
NotFound Ok
rohit_nsit08 NotFound: I heard that i may face problem in implementing the prototype based object system for javascript on parrot. How does winxed solves this problem? 18:22
moritz doesn't think it will be a big problem 18:23
I think winxed just uses parrot objects, no?
18:23 aloha left
NotFound rohit_nsit08: winxed is not prototype based. I've used winxed to write experiments about that beasts, though. 18:23
18:23 aloha joined
NotFound Winxed borrows syntax from javascript, but not the object model. 18:24
rohit_nsit08 NotFound: My Idea is to use PMC subclasses to implement Object System, I have a vague idea of it rightnow. Would dig more into it in 2,3 days 18:25
lucian_ rohit_nsit08: did you look into rosella's prototype thing?
rohit_nsit08 lucian_ : yes. 18:26
mikehh just re-ran spectest-smolder with gc=ms2 #14668 - all PASS
NotFound rohit_nsit08: In my experiments I try to make conventional parrot method calls work with prototype based objects. I'll do that by overriding find_method, returning a closure that does the real search for something to call.
moritz mikehh: with or without --optimize? 18:27
18:27 aloha left
mikehh FWIW running with gc=ms2 takes over 30 minutes, while with gc=gms takes just over 20 minutes 18:27
moritz: with
18:27 aloha joined
nopaste "NotFound" at 192.168.1.3 pasted "Experiments with prototype based objects" (133 lines) at nopaste.snit.ch/40235 18:28
rohit_nsit08 NotFound: So u are planning javascript like object system for winxed. I read the Parrot design docs and Its conventional object system.
NotFound rohit_nsit08: No, that are experiments. Libraries based on that experiments, like some classes in rosella, may be used with winxed or any other parrot language. 18:30
mikehh I am going to rebuild and run with gc=gms again
NotFound I write them in winxed just because writing winxed is a lot more plesant than write pir. 18:31
rohit_nsit08 NotFound: ya winxed's syntax is much comfortable than PIR. 18:40
PerlJam Isn't that the point of a higher level language? 18:41
NotFound PerlJam: yes, but winxed tries to be close to pir at the same time. 18:42
mikehh it also builds more quickly gc=gms -> 5m38.452s, gc=ms2 -> 8m28.021s (make -j) 18:43
rohit_nsit08 NotFound: I'll give some more study on Parrot Object system and Javascript's object system for better insight into it. Btw what is the major difference between implementing conventional object system and Prototype based ones?
PerlJam rohit_nsit08: by "conventional" do you mean "class-based"? 18:44
rohit_nsit08 PerlJam: ya the "class-based", How parrot deals with the objects. What i read in design docs is that there are PMCs for classes and objects and opcodes etc 18:46
where standard classes are instances of class PMC and same holds for Objects also 18:47
NotFound rohit_nsit08: the main difference is that in parrot class/object model you can't add new methods to an object already created. 18:51
Unless you do some tricks, like in my expriment. 18:52
mikehh moritz 18:57
moritz: how do you run an individual test file - i forgot 18:58
moritz mikehh: make t/spec/foo/bar.t
18:58 aloha left 18:59 aloha joined
mikehh moritz: hmmn I seem to remember doing something else with ./perl6 18:59
19:00 rohit_nsit08 left, rohit_nsit08 joined 19:04 mtk left
mikehh moritz: I get exactly the same result with my g++ build as I got before - rakudo smoke test #14656 and now #14672 - parrot smoke test #14655 19:07
19:09 mtk joined 19:10 lucian_ left
mikehh moritz: I get a segfault in t/spec/S03-operators/range.rakudo after ok 10 19:11
i'll look at this more later - afk for a bit 19:13
dalek nxed: r963 | NotFound++ | trunk/winxedst1.winxed:
change several loops for shortness and clarity
19:18
19:27 Coke joined
dalek nxed: r964 | NotFound++ | trunk/winxedst1.winxed:
change arg emiting in predefs cry and print for shortness and clarity
19:28
whiteknight moritz: I've logged out of the server. There's no more debugging I can do on it until I go home 19:31
moritz whiteknight: ok, feel free to use it when you need it 19:33
19:33 aloha left
moritz (and that "server" is my laptop :-) 19:33
whiteknight moritz++
19:33 aloha joined
whiteknight oh, then I'll try not to suck up too much bandwidth 19:33
moritz no worry, I've got a flatrate 19:34
19:34 aloha left, aloha joined 19:41 SHODAN left 19:50 kaneplusplus left 19:53 ambs_ joined, ambs left, ambs_ is now known as ambs 19:54 davidfetter joined 19:57 rohit_nsit08 left 19:58 soh_cah_toa joined
cotto_work plobsing: ping 20:20
seen kid51 20:23
aloha kid51 was last seen in #parrot 2 days 19 hours ago saying "cool".
soh_cah_toa why do you guys tell each other to ping? i mean, ping what? 20:28
bubaflub soh_cah_toa: gets somebody's attention
soh_cah_toa: they might be in the channel but not around their computer
soh_cah_toa: so if i want to talk to somebody i say "ping blahblahblah" 20:29
soh_cah_toa: then when they finally get hte message they can "pong bubaflub"
soh_cah_toa: if they aren't in the channel you can say "msg blahblahblah" and aloha (our IRC bot) will record a message
cotto_work msg soh_cah_toa like this
aloha OK. I'll deliver the message.
bubaflub soh_cah_toa: the next time they enter the channel and say something aloha will direct message the person 20:30
soh_cah_toa okay, so it doesn't have anything to do w/ ip. just like saying "hey, i wanna tell you something" 20:31
20:31 aloha left, nwellnhof left, aloha joined, whiteknight left
soh_cah_toa bubaflub: what about when sometimes just types ~~ ? 20:32
20:32 aloha left
soh_cah_toa *someone 20:32
20:32 aloha joined
bubaflub soh_cah_toa: i take it to just be a non-intrusive way for people to say that they are here 20:32
cotto_work soh_cah_toa: that's just a really lazy way of saying hello and checking for messages
bubaflub soh_cah_toa: a lot of people idle in the channel aren't actually watching the channel
soh_cah_toa yeah 20:33
20:33 aloha left, aloha joined
soh_cah_toa bubaflub: so if i had something to say to you, i say... 20:35
20:35 aloha left
soh_cah_toa bubaflub: ping 20:35
20:36 aloha joined
bubaflub soh_cah_toa: pong 20:36
soh_cah_toa tada!
20:36 aloha left
bubaflub soh_cah_toa: obviously if i wasn't here i wouldn't pong you 20:36
20:36 aloha joined
soh_cah_toa okay 20:36
20:36 aloha left, aloha joined
soh_cah_toa looks like aloha can't make up her mind today 20:37
20:37 aloha left, aloha joined
benabik soh_cah_toa: I'd rather an indecisive aloha than a missing one. 20:37
20:38 bbatha joined
soh_cah_toa benabik: true 20:38
20:38 aloha left, aloha joined
cotto_work aloha: seen aloha 20:40
aloha cotto_work: aloha was last seen in #parrot 1 mins 24 seconds ago joining the channel.
plobsing oh no. self-awareness. 20:42
soh_cah_toa uh oh. neuromancer part 2 20:43
20:43 aloha left, fperrad left, aloha joined 20:45 dodathome left 20:49 bbatha left
soh_cah_toa when i submit a patch to trac, does somebody get automatically notified or do i have to let somebody know? 21:02
21:02 aloha left, aloha joined
soh_cah_toa test 21:03
21:03 aloha left
soh_cah_toa i got it! 21:03
21:03 aloha joined
soh_cah_toa aloha quits everytime i post something 21:03
21:03 aloha left, aloha joined
soh_cah_toa watch... 21:04
21:04 aloha left, aloha joined
soh_cah_toa that's so weird. why is that happening? 21:05
21:05 aloha left, aloha joined
Coke Is it just you? 21:08
soh_cah_toa looks like it is
21:08 aloha left, aloha joined
soh_cah_toa maybe it has something to do w/ the msg bubaflub sent me. i still haven't gotten it 21:09
21:09 aloha left, aloha joined
Coke ah! 21:10
make sense.
21:11 hudnix left
soh_cah_toa is someone able to reset aloha? 21:17
21:17 aloha left 21:18 aloha joined 21:21 hudnix joined
dalek nxed: r965 | NotFound++ | trunk/winxedst1.winxed:
replace several specialized parsings of comma separated lists with calls to a
21:23
nxed: r966 | NotFound++ | trunk/pir/winxed_compiler.pir:
update installable compiler
21:26 ambs left
cotto_work that's pretty great 21:33
msg cotto_work test?
aloha OK. I'll deliver the message.
cotto_work ~
tcurtis ~ 21:35
21:39 wagle_ is now known as wagle 21:49 bubaflub left 21:50 whiteknight joined
soh_cah_toa let's see if aloha is still bothering me... 22:00
22:00 aloha left, bacek left
soh_cah_toa agh! 22:00
22:01 aloha joined
soh_cah_toa hmm...maybe if i leave and sign back in... 22:01
22:01 aloha left, soh_cah_toa left, aloha joined 22:02 soh_cah_toa joined, soh_cah_toa left, soh_cah_toa joined
soh_cah_toa and the verdict is... 22:02
22:02 aloha left
soh_cah_toa still broken 22:03
22:03 aloha joined
cotto_work soh_cah_toa: awesome 22:09
soh_cah_toa i know, it's ridiculous 22:10
22:10 aloha left, aloha joined 22:17 pranq left 22:18 pranq joined 22:32 Andy_ left 22:38 KaeseEs left, KaeseEs joined 22:42 bbatha joined 22:54 S_arms left 23:00 bbatha left 23:02 bubaflub joined 23:05 bbatha joined 23:10 S_Arms joined 23:14 fmiju joined 23:23 soh_cah_toa left
dalek TT #2095 created by jkeenan++: t/op/spawn.t: failure due to Perl 5 problem 23:32
TT #2095: trac.parrot.org/parrot/ticket/2095
23:39 hercynium left 23:45 fmiju left
whiteknight seriously, is that happening? 23:55
aloha signs out every time soh_cah_toa tals?
talks
23:56 bbatha left
bacek_at_work whiteknight, aloha segfaulting time to time... 23:58
cotto_work it's almost as great as purl
bacek_at_work not sure why
aloha, msg whiteknight test 23:59
aloha bacek_at_work: OK. I'll deliver the message.
whiteknight ?
23:59 aloha left
whiteknight i got that 23:59
bacek_at_work Attempt to free unreferenced scalar: SV 0xaf51188, Perl interpreter: 0x9ae2008 at lib/Bot/BasicBot/Pluggable/Module/Msg.pm line 53.