Parrot 3.3.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today
Set by moderator on 9 May 2011.
00:08 darbelo left
plobsing looks like bochs fits the bill, at least with emulated cpu speed, but could be a little slow 00:09
cotto_work how scriptable is ut? 00:10
it
dukeleto ~~ 00:11
cotto_work hio dukeleto
plobsing I don't think it has the convenience tools of more common virtualization solutions, but I'm not sure the more common solutions fit the task
cotto_work dukeleto: do you want all gsoc-related blogs to be mirrored on parrot.org or is it enough to make sure that anyone following p.o gets a link to any gsoc posts? 00:12
dukeleto cotto_work: i would like to have them mirrored on parrot.org, if possilbe 00:16
cotto_work dukeleto: ok 00:18
soh_cah_toa has a separate blog partially set up that looks like it'll be much less annoying to read. Something about parrot.org 00:19
bacek_at_work aloha, 15.16/14.73*100
aloha bacek_at_work: 102.919212491514
cotto_work 's blog layout makes it hard to read.
bacek_at_work msg pmichaud Test.pm from 04 is about 3% slower on "sin.t" test. 15.16 vs 14.73 on same build with just replaced Test.pm with 01's version. 00:20
aloha OK. I'll deliver the message.
cotto_work heads out 00:21
00:34 benabik joined 00:55 davidfetter left
cotto ~~ 01:03
01:16 woosley joined
benabik ~~ 01:32
01:43 whiteknight left 01:50 rurban_ joined 01:52 rurban left, rurban_ is now known as rurban 02:22 kid51 joined
kid51 , sitting in airport, has 45 min of free wireless access. Tell me what's new. 02:22
bacek_at_work kid51, you don't have your ppc box around, aren't you? :) 02:23
kid51 AAMOF, I do!
Will try to build master 02:24
bacek_at_work kid51, hooray! Thanks a lot. 02:25
kid51 bacek_at_work++ 02:47
I just got past make on master on darwin/ppc 02:48
bacek_at_work kid51, yay! Thanks for testing it.
kid51++
kid51 That's configuring with --cc=gcc --link=g++ --ld=g++ (i.e., my usual on this box)
I suspect smolder is still down, so I'll report any test failures tomorrow manually 02:49
02:49 atrodo is now known as atrodo_ 02:51 atrodo_ is now known as atrodo 02:52 jrtayloriv joined
kid51 linux/i386: master: a5aa34070: make test PASS with all g++ build 02:53
Ouch, on darwin I have test failures in t/compilers/pge/p5regex/p5rx.t 03:01
nopaste "kid51" at 192.168.1.3 pasted "t/compilers/pge/p5regex/p5rx.t: new failures on Darwin/PPC" (1098 lines) at nopaste.snit.ch/44428 03:03
03:04 bubaflub left
kid51 And this is one of those things where the results of make test differ from prove 03:05
The test file exits successfully when run with either prove or perl t/harness; it's only under make test (here, make smolder_test) that it doesn't exit cleanly. 03:06
03:06 contingencyplan left 03:07 contingencyplan joined
kid51 hates false negatives caused by the test apparatus itself 03:09
I think my time has run out
or is soon to.
03:10 theory left
kid51 Hey, free renewals! SFO++ 03:10
just got past t/compilers/opsc/*.t 03:12
perl t/harness --gc-debug t/compilers/pge/p5regex/p5rx.t also completes with successful exit 03:15
So why does 'make test' gag on that file, when that command is what 'make test' is doing at that moment ? 03:16
Well, apart from that problem, 'make test' now passes on darwin/ppc, master, a5aa34070f8 03:17
Beer
03:17 kid51 left 03:26 Andy joined 03:27 Andy left, Andy joined 03:29 hudnix left
dalek rrot: bb54311 | petdance++ | src/gc/gc_gms.c:
const a local var
03:31
rrot: 718c7ec | petdance++ | / (2 files):
Annotating some static functions, and consted a pointer
04:17 jrtayloriv left 04:40 fperrad joined 04:46 Andy left
pmichaud latest test results for kiwi: github.com/pmichaud/rakbench/blob/...100013.txt 04:50
I'm having to re-do plum because of an error in rakudo-bleed. And orange is cranking away on the numbers but still a couple of hours from finishing.
bacek_at_work++ # nice catch on Test.pm. I'm guessing it's the !~~ NaN test that is slowing things down 04:57
23:43 <plobsing> you could trigger alerts about degrading performance AS THEY HAPPEN, in stead of 4 months later when someone notices 04:58
it shouldn't be "4 months later" any more. Now that I have a decent framework set up, I expect to be running these tests at least monthly, and likely more often 04:59
05:05 baest left
pmichaud bacek_at_work: I can confirm what you're seeing -- the Test.pm change accounts for about 4% difference in sin test 05:13
gist.github.com/963931 05:20
05:23 birdwindupbird joined 05:42 fperrad left 06:17 SHODAN joined 06:42 mj41 joined
pmichaud msg bacek_at_work I've updated rakudo master to have a faster Test.pm again... results are in gist.github.com/964026. If we can get the is_ptr.patch (or its equivalent) applied to the Parrot master branch then we might see bigger improvement in sin test 07:00
aloha OK. I'll deliver the message.
bacek_at_work ~~ 07:05
pmichaud, is_ptr is already applied to master. Plus few other tune-up patches.
pmichaud hmmmm
I wonder why rakudo-bleed is slower than 3.3.0-p2 then 07:06
bacek_at_work mm... May be there is other slowdowns in parrot between 3.3 and HEAD.
but it's without whiteknight's patch. 07:07
pmichaud well, earlier benchmarks showed little difference from whiteknight's patch
and I say "whiteknight's patch", but it's really the updated version you sent me 07:08
(the one that would apply on top of 3.3.0-p1
07:08 ShaneC joined
bacek_at_work what is parrot's version in rakudo-bleed? 07:09
pmichaud it's at the bottom of the report now :-)
RELEASE_3_3_0-186-g718c7ec
bacek_at_work hmm... 07:10
pmichaud it really is "bleed" -- i.e., rakudo master head and parrot master head :)
bacek_at_work it's really-really bleed :)
pmichaud I also have a rakudo-master build that tests rakudo master head (against its desired PARROT_REVISION) 07:11
anyway, the logs + reports now provide the version information :)
so yes, something must've slowed down parrot again. Maybe I'll bisect a bit 07:12
bacek_at_work can you test "core.pm" and "rx.t" on 2011.01, 2011.04* and -bleed? Same as sin.t from gist.github.com/964026 07:13
pmichaud sure
bacek_at_work thanks! 07:14
pmichaud all of the .04's?
yeah, guess we want them all
testing
results of first trial: gist.github.com/964042 07:32
bacek_at_work Yay! Same speed as 3.0! 07:34
Sigh...
I have to come with some tuning strategy for GMS for bigmem boxes.
pmichaud I'm not sure it's the memory size 07:35
because orange (with 4MB) doesn't show as big an improvment as plum (with 3MB)
although I guess that could be because orange has bigger memory than plum
but I don't tend to think of 4MB as being all that "bigmem" anymore :) 07:36
bacek_at_work it's actually GB, not MB :)
pmichaud okay, GB
bacek_at_work are they both amd64?
pmichaud well, both 64-bit, yes.
bacek_at_work oookey
pmichaud everything I'm running is 64-bit
bacek_at_work looks like easiest solution for me is to buy 4 gigs upgrade for my laptop. 07:40
because on 32bits, 2GB gms is always faster than ms2. By at least 30%... 07:41
pmichaud itym 2011.01 07:42
instead of ms2
bacek_at_work ms2-2011.01 vs gms-master
not ms2-master 07:43
pmichaud right
I could try a set of marks on kiwi with memory limited to 2GB
bacek_at_work pmichaud, you can use parrot's master with "--gc-nursery-threshold 0.5" 07:44
which should get same results as limiting to 2G. 07:45
I suspect that nursery generation is too large on 8G. 07:46
pmichaud well, except we'd be comparing 2011.01 8G with bleed 2G
but yes, I can try that if you wish.
pmichaud@kiwi:/zip/perl/rakudo-bleed-nursery/parrot$ perl Configure.pl --optimize --gc=gms --gc-nursery-threshold=0.5 --prefix=/zip/perl/rakudo-bleed-nursery/parrot_install 07:50
Invalid option "gc-nursery-threshold". See "perl Configure.pl --help" for valid options
...did I misspell it?
bacek_at_work Yes, sorry.
It's --gc-nursery-size. And it's runtime config only.
pmichaud oh, ouch.
so, maybe I try the limit to 2GB option. 07:51
bacek_at_work something like "/usr/bin/time ./parrot_install/bin/parrot perl6.pbc --target-pir src/gen/core.pm > src/gen/core.pir" will give good indication
I think it should be something like 60s on kiwi 07:52
pmichaud well, I also have to get the correct perl6.pbc 07:56
ah, src/gen/perl6.pbc should be okay
w/o --gc-nursery-size: 65.9 sec 08:02
w/ --gc-nursery-size: 74.6 sec
gist.github.com/964072
bacek_at_work Sigh. I was wrong with my assumption. 08:05
nopaste "tadzik" at 192.168.1.3 pasted "build fail" (13 lines) at nopaste.snit.ch/44459 08:06
tadzik ideas?
pmichaud make realclean
tadzik did that
pmichaud I had that error earlier, also 08:07
tadzik now trying make -j1
moritz git clean -xdf # attention, cleans all files not under version control
pmichaud either "make realclean" or re-cloning a new repo fixed it for me
tadzik aw
bacek_at_work tadzik, "make reconfig"?
tadzik bacek_at_work: does a fresh 'perl Configure.pl' count?
pmichaud try what moritz++ said
bacek_at_work tadzik, nope without make realclean :)
tadzik will try 08:08
pmichaud anyway, I _did_ see that same error about an hour ago and was able to resolve it by doing some cleaning operation
tadzik bacek_at_work: realclean, then Configure, then make, that's my workflow in situations like this
Ok, I'll try with -fdx after -j1
pmichaud sometimes realclean isn't
08:08 utsl left
tadzik isn't real-y-cleaning everything? :) 08:09
08:09 utsl joined
pmichaud Correct. 08:09
tadzik Warning: Building a shared parrot library may conflict with your previously-installed /home/tadzik/src/rakudo/parrot_install/lib/libparrot.so
......yes.
maybe removing parrot_install too?
moritz aye
pmichaud yes, I did that too.
time for sleep here 08:10
tadzik it's quite similar to 'turn it off and on again' in some sense
pmichaud omgitz3am
tadzik omgitz10am 08:11
pmichaud didn't realize it was so ... early
tadzik I would be waking up now if it wasn't for this Java exam :)
nah, git clean -fdx and removing parrot_install didn't help either 08:12
crap
moritz that is unusual
pmichaud afk # sleep
tadzik sleep tight
I wonder how many patches-I-forgot-about are now lost :) 08:13
mikehh All tests PASS (pre/post-config, make corevm/make coretest, make world/make test, fulltest) at 3_3_0-186-g718c7ec 08:15
Ubuntu 11.04 amd64 (g++)
and smoke is still not available 08:17
it needs to be re-started 08:18
tadzik bah, I can't possibly build parrot 08:27
mikehh tadzik: did you make sure your installed files were removed, sometimes it picks up the wrong stuff if something is installed 08:41
that is when you build 08:42
tadzik I'm pretty sure I cleaned up everything. But I must be wrong somewhere it seems 08:43
08:45 nopaste left
mikehh tadzik: I tend to work with an install directory under $HOME and delete its contents before doing a build (when I use --prefix in the build) 08:45
and don't do an install to /usr/local
tadzik: what platform are you on 08:46
tadzik linux, amd64 08:47
mikehh: prefix here too
perl Configure.pl --prefix=/home/tadzik/src/rakudo/parrot_install --optimize --gc=gms
08:48 nopaste joined
bacek ~~ 08:48
mikehh tadzik: is there anything in /home/tadzik/src/rakudo/parrot_install 08:49
hi bacek
bacek aloha, mikehh.
tadzik mikehh: nope, removed that too
mikehh tadzik: hmmn - looking at your nopaste it seems it could not find libpcre 08:51
moritz is that a requirement?
tadzik mikehh: 8.12 is installed I think 08:52
yes it is
and I don't think I updated it before
moritz which OS? 08:53
you probably need the development/header files too, not just the library itself 08:54
mikehh tadzik: dunno, I tend to build and test perrot, and then test rakudo using that prefix on the rakudo config
tadzik: did it build before? otherwise check your libpcre-dev is there 08:56
tadzik: with a new install (as in Ubuntu 11.04) parrot needs a bunch of -dev libraries 08:58
tadzik no -dev packages on gentoo 09:01
I get this strange feeling that a reboot will help
mikehh I install libicu-dev, libpcre-dev, libpq-dev, libgmp-dev, libgdbm-dev, freeglut, etc. 09:02
tadzik: haven't used gentoo for a while 09:03
tadzik mikehh: I never had problems with missing dependencies of parrot 09:04
damnit! 09:07
mikehh tadzik: maybe your env has got messed up 09:08
tadzik hmm
mikehh dammit - some $work issues - bbl 09:11
09:11 mikehh left
tadzik 3.3.0 built from the repo 09:13
09:17 ambs joined 09:44 contingencyplan left 09:45 perlite left, perlite_ joined 09:46 bacek_at_work left, perlite_ is now known as perlite, bacek_at_work joined 09:50 ShaneC left 09:51 rurban_ joined 09:52 ShaneC joined, rurban left, rurban_ is now known as rurban
bacek moritz, ping 09:55
moritz bacek: pong
bacek moritz, how much memory do you have on your box? 09:56
moritz bacek: the one where I did my performance tests has 6 gig, IIRC
it's currently switched off and 6 km away, so I can't look it up 09:57
bacek moritz, sigh...
moritz but it's > 4G for sure
bacek Do you have any other 64bits, 4G+ boxes around?
moritz one, but it's virtual, and has changing load 09:58
dalek rrot/gc_tuning: af9f158 | bacek++ | src/gc/gc_gms.c:
Rename gc_threshold to nursery_size to reflect semantics closely.
rrot/gc_tuning: 9b5bc46 | bacek++ | src/gc/gc_gms.c:
Factor out gc_gms_calculate_thresholds for calculating per-generation thresolds.
rrot/gc_tuning: 7b1c833 | bacek++ | src/gc/gc_gms.c:
Change logic of triggering of old generation collecting based on allocated memory.
bacek moritz, ookey. Unping then :) 09:59
moritz feels the ICMP fade away
... must ... resist 10:00
bacek Quick! Someone! Send moritz few ICMP packets! They are burning in his firewall! 10:01
Or, actually, someone on 64 bits linux with 4G+ of memory test performance of gc_tuning branch :) 10:02
tadzik yeah, I'd love to, shame my parrot cannot build 10:04
10:04 ShaneC left
bacek tadzik, still problem with pcre? 10:06
tadzik aye
it's driving me nuts
bacek tadzik, did you try to Configure.pl --without-pcre? 10:07
You probably have way too different pcre version of your box which can such problems. 10:08
tadzik different than what? 10:10
I have 8.12
bacek oh ho.
tadzik oh, gentoo ebuild uses --without-pcre
there we are. Too new? 10:11
bacek No. I have same version here.
tadzik and it builds? 10:12
bacek yes
tadzik madness
bacek but it's on Debian
10:12 bacek_at_work left
bacek Maybe gentoo builds pcre in very strange way? 10:12
tadzik I've updated pcre on 1301815929
whatever time it is :) 10:13
moritz perl -wE 'say scalar localtime 1301815929'
Sun Apr 3 09:32:09 2011
bacek just out of curiosity: 10:14
rakudo: say scalar localtime 1301815929
10:14 bacek_at_work joined
p6eval rakudo 065788: OUTPUT«Could not find sub &localtime␤ in main program body at line 22:/tmp/EqpwWNl4BL␤» 10:14
moritz rakudo: say DateTime.from-posix(1301815929) 10:15
p6eval rakudo 065788: OUTPUT«Method 'from-posix' not found for invocant of class ''␤ in main program body at line 22:/tmp/qxEvnZHCz7␤»
moritz rakudo: say Instant.from-posix(1301815929) 10:16
p6eval rakudo 065788: OUTPUT«Instant:2011-04-03T07:32:09.000000Z␤»
tadzik yay, parrot built!
bacek moritz, looks like LTA bug :) 10:17
moritz bacek: the class ''? yes, known 10:18
fixed in 6model!!!!
bacek moritz, yes, this one.
tadzik :)
moritz erm, I hope :-)
tadzik is it>? :)
I think I remember complaining about this :)
yay, rakudo building is Fast now 10:21
or faster
10:22 woosley left
bacek aloha, (40_974_071_721 / 4_882_147_998) 10:24
aloha, (40974071721 / 4882147998)
aloha bacek: 8.39263204183594
bacek aloha, (4882147998/40974071721) / 40974071721 * 100
aloha bacek: 2.90798856181343e-10
bacek aloha, (4882147/40974071) / 40974071 10:25
aloha bacek: 2.90798806970837e-09
bacek aloha, (4882147998/40974071721) / * 100
aloha, (4882147998/40974071721) * 100
aloha bacek: 11.9152131895591
bacek ookey.
msg pmichaud sin.t test isn't dominated by gc. Less 12% spent in gc_gms_mark_and_sweep. 10:26
aloha OK. I'll deliver the message.
tadzik bacek: gc_tuning makes the bunny cry. At least when I did git co && make, without make clean 10:28
bacek tadzik, how bad is it? 10:29
tadzik I'll paste it in a second
bacek ok 10:30
tadzik basically, I'm killing the core.pm compiling because it takes too long already 10:34
bacek nice...
tadzik plus it's now 30% of my 2 GB memory
bacek I'm doing something wrong.
tadzik and counting, like 1.5 MBs per second
bacek interesting. It build in same time on my box (master vs gc_tuning) 10:35
afk # time to make some dinner. 10:36
tadzik either nopaste is dead or I pasted on a wrong channel
bacek: nopaste.snit.ch/44460
10:45 UltraDM joined 11:02 Psyche^ joined 11:07 Patterner left, Psyche^ is now known as Patterner 11:13 atrodo is now known as atrodo_ 11:27 woosley joined 11:28 woosley left 11:49 mikehh joined 11:50 woosley joined
mikehh All tests PASS (pre/post-config, make corevm/make coretest, make world/make test, fulltest) at 3_3_0-186-g718c7ec 11:51
Kubuntu 11.04 amd64 (g++ --optimize)
11:54 darbelo joined
bacek tadzik, ookey. I have to look at it more. 12:01
12:14 mtk joined
mikehh bacek: ping 12:27
bacek mikehh, pong 12:29
mikehh just built parrot on Kubuntu amd64 using g++ --optimize --buildframes and it seems to build rakudo quite a bit faster 12:30
bacek on master? 12:31
mikehh yes
bacek how much memory on your box?
mikehh 8GB 12:32
bacek iiiinteresting
can you compare "core.pm" build time between 3.3 and master?
may be using pmichaud++ rakbench 12:33
mikehh ok, will give it a go, take a while though 12:34
bacek mikehh, thanks a lot! I'll fell asleep soon. Just msg me. I'll backlog anyway :) 12:35
12:44 whiteknight joined 12:49 bubaflub joined 12:50 bluescreen joined
whiteknight good morning, #parrot 13:02
13:02 woosley left 13:05 woosley joined
coke_ hopes that jnthn++'s nqp updates will obviate some of the pain in compiling the core. 13:05
jnthn__ coke_: Should already be saving a couple of gc-ables per cursor and maybe 3 per match object. 13:08
That's gotta help some. :) 13:09
moritz ... except that the pain now is that the compilation fails :-) 13:10
bacek finally built "core.pm" with valgrind
jnthn__ moritz: :P
bacek aloha, 23124/191599*100 13:11
aloha bacek: 12.0689565185622
bacek looks about allright. Only about 12% of time spent in GC. Everything else is elsewhere 13:12
Including "GC pressure"
jnthn__ bacek: Any obvious hotties?
bacek: Does find_lex stuff show up pretty high?
bacek jnthn__, 75M gcable
jnthn__ bacek: We *create* 75 million gcables? 13:13
bacek Yes
jnthn__ Whoa.
moritz and how many are GCed?
bacek PCC suck big time
jnthn__ moritz: I hope, the majority ;)
bacek "fill_params" consume about same as GC
jnthn__ bacek: whoa! 13:14
moritz cries 'PCC refactor' and waves his arms frantically
bacek 22713M vs 24162M on fill_params vs gs_maybe_mark_and_sweep
moritz gets odd looks from his cow-orkers
bacek Screenshot of kcachegrind picasaweb.google.com/1138058490199...3114370930 13:31
I can upload original callgrind.out somewhere if someone what to look at it.
jnthn__ bacek: What's the runops'2 right at the top? The actual ops that are called? 13:35
bacek jnthn__, number of ops executed. Just simple "while(op) { DO_OP() }" 13:36
13:36 woosley left
jnthn__ ok 13:36
bacek and we actually spent most of the time executing ops :) 13:37
jnthn__ What's the Parrot_object_get... that's truncated?
bacek _attr_str.
About 5% of time spent in Parrot_Object_get_foo 13:38
jnthn__ Wow.
bacek Parrot_Object_get_bool actually.
jnthn__ ah, OK...that's less surprising. 13:39
bacek Which redispatch to ext_call
jnthn__ Yeah
I know which one that is.
I've got that path more optimal in new nqp.
bacek anyway. Bed time 13:52
g'night humans
13:55 Coke left
coke_ I realllly do not understand the "module deps are bad" CPAN camp. 14:04
14:04 soh_cah_toa left 14:07 bluescreen left
whiteknight I've been kicking around some PCC refactor ideas to help alleviate some of these performance problems 14:18
Maybe we need to turn that into a priority
I'm convinced that the way we do calls from end-to-end, with signature arrays and big loops is a huge problem
the numbers would seem to suggest that this might not be far from the truth 14:22
14:23 ambs left, bluescreen joined
pmichaud good morning, #parrot 14:28
14:31 redicaps joined, redicaps left
whiteknight good morning, pmichaud 14:36
14:36 UltraDM left 14:38 whiteknight left
dalek nxed: r995 | NotFound++ | trunk/winxedst1.winxed:
function calls by qualified name
14:38
14:38 whiteknight joined 14:40 hercynium joined
pmichaud msg bacek results of rakbench on kiwi with 2GB memory: github.com/pmichaud/rakbench/blob/...100844.txt 14:44
aloha OK. I'll deliver the message.
pmichaud summary: gms wins for core.pm and rx tests; ms2 (both 2011.01 and 2011.04-p3-ms2) wins all others 14:45
oh, 2011.01 (ms2) didn't win pickwords.p6. but patched 2011.04 (ms2) did. same for atan2. 14:50
14:53 bluescreen left 14:58 simcop2387_ joined 15:00 simcop2387 left, simcop2387_ is now known as simcop2387 15:02 mj41 left
pmichaud is the "standard procedure" that a git pull should always be followed by "make reconfig"? 15:05
(or some other invocation of Configure.pl?)
cotto depends on which files have changed
that's the safe approacj
approach
pmichaud I just noticed that git_describe doesn't get updated unless Configure.pl is re-run 15:06
moritz me too. That's inconvenient
cotto quite
pmichaud can I file that as a tracbug?
moritz sure 15:07
cotto +1
15:07 bluescreen joined
cotto unfortunately config_lib.pir is generate at configure-time, so a compile-time addition is bound to be a bit hacky 15:10
moritz how did we do it with svn version numbers? 15:11
cotto good question. probably the same way
pmichaud rakudo solves the problem by generating the value at make time 15:12
it's then simply done as a .include into rakudo's source
i.e., rakudo's source has .include 'src/gen/version.pir' 15:13
and version.pir is generated with .macro_const RAKUDO_VERSION "..."
atrodo_ whiteknight++
cotto I like that.
thanks
atrodo_ whiteknight> Wow, vtable is THAT expensive?
whiteknight atrodo_: yessir 15:17
atrodo_: and even though method dispatch is not nearly so bad, it's still way worse that it should be 15:18
so methods are bad. vtable overrides are worse
15:18 atrodo_ is now known as atrodo
pmichaud TT #2106 15:18
moritz pmichaud++
benabik Trac is working again? 15:21
dalek TT #2106 created by pmichaud++: git_describe configuration value not correct 15:25
TT #2106: trac.parrot.org/parrot/ticket/2106
15:31 RobertLJ joined 15:32 darbelo_ joined, darbelo left 15:33 darbelo joined, darbelo_ left 15:38 contingencyplan joined 15:41 theory joined
atrodo whiteknight> I remember chromatic commenting about exactly that about a year ago 15:44
benabik whiteknight: Your "6model post from a few days ago" link in your latest bloginess is broken. 15:49
15:51 dod left
coke_ pmichaud: see TT#1884. 16:06
pmichaud maybe I should add a pair of "see also" links to those 16:07
16:10 hudnix joined
jnthn__ whiteknight: fwiw, see how 6model implements Parrot v-table overrides. 16:12
whiteknight: Highlight: it's all pointer following.
cotto msg kid51 tt #2106 (calculating git_describe and sha1 at compiletime) seems right up your alley. If you're interested, great. If not, let me know and I'll take it. 16:18
aloha OK. I'll deliver the message.
cotto I also seem to remember chromatic mentioning that.
dalek nxed: r996 | NotFound++ | trunk/winxedst1.winxed:
look for non qualified subs in surrounding namespaces
16:23
16:25 dukeleto left, dukeleto joined
pmichaud where do I find the current list of deprecations? 16:26
cotto api.yaml
tadzik yay it's useful
16:28 theory left
whiteknight I'm happy that people are reading my blog! I just wish they would find fewer problems with it 16:29
:)
cotto whiteknight, don't make mistakes 16:30
easy peasy
;)
plobsing any word from OSU about when Trac is going to be fixed? 16:31
pmichaud parrot no longer randomizes at startup :-( 16:33
benabik It was initializeed by the string hashing code, removed in 31ca512cd16606923626a59f9b29de6e43a3f768 16:35
pmichaud shouldn't this need a deprecation notice or something?
I mean, it's a significant change to HLLs 16:36
this is almost exactly the sort of thing that will cause major failures for downstream users
cotto It needed more discussion than I gave it.
jnthn__ s/will cause/caused/, if "caused a user to file a regression" counts 16:37
pmichaud if the rand dynop suddenly starts producing the same sequence on every run (where it didn't before).... that's a pretty serious change.
I thought the point was to not surprise the users. 16:38
cotto I'll fix it.
pmichaud although, on the other hand, as long as it's fixed by 3.6.0, I guess it's not a violation yet. :-)
having read the discussion from 05-05-11, I'd like to point out that there are intermediate positions between "always produce the same sequence of numbers" and "I need a really good source of entropy" 16:41
cotto done
dalek rrot: 1a926ea | cotto++ | src/interp/inter_create.c:
seed the prng from the system clock during interp initialization
16:42
pmichaud cotto++ # thanks
cotto pmichaud, how did that cause test failures? 16:43
pmichaud it didn't cause test failures 16:44
it caused a regression bug to be reported
cotto ok
pmichaud i.e., Perl 6's .pick() method no longer functioned the same as in previous releases
(because it always produce the same results from one run to the next)
*produced
I should also note that integer time can be a very poor choice of hash seed. I know you know this already, but there's a story behind it 16:51
in the early 1990s, I was called as an expert witness for several cases
the county had installed a new jury selection system a couple of years previous 16:52
and then they noticed that the same people were being called to serve together on juries
i.e., people who had been together on a jury panel in 1991 were finding themselves on another panel a year later
(finding themselves together on a new panel, that is) 16:53
so I got called in to analyze the jury selection code
and they created a "random number generator" based on clock time
but they failed to recognize that since they were processing several hundred records per second, that all of those records would be calculating a "random number" based on the same clock time 16:54
tadzik that won't be a problem if they were using Rakudo :P
pmichaud it would be with the parrot change that cotto just fixed :) :) 16:55
jnthn__ pmichaud: No, it coudln't process several hundred per second. :P
pmichaud heh
there were tons of other problems as well
for example, the programmers assumed that hash keys were good sources of entropy/randomness 16:56
(i.e., the hash value that is used to take a key, such as a voter registration number, and put it into a hash bucket)
16:57 birdwindupbird left
cotto pmichaud, that sounds like quite a mess 16:58
pmichaud it was
PerlJam pmichaud: you left out the "best" part
pmichaud PerlJam: feel free to add it :)
cotto I have a ticket open for a proper source of entropy, but it hasn't been magically fixed.
PerlJam and it was all written in COBOL! :)
pmichaud yes, it was written in COBOL
the programmers' defenses were... amusing. 16:59
tadzik defenses?
pmichaud they were trying to prove that their program was sufficiently random
but after my first day of testimony, they basically threw out the jury selection program they had and started an "emergency procurement" for a new one
17:00 fedov joined
pmichaud the lawyers had a field day after that... everyone who had lost a case during the previous two years wanted to appeal based on improper jury selection 17:00
tadzik d'oh 17:01
jnthn__ ouch!
pmichaud especially since the selection program tended to choose jurors from the same "sections" of the database
cotto that'd hurt almost as much as writing the system in the first place
pmichaud i.e., there was locality in the sets of jurors that were being created
so, you might get a set of jurors who had all registered to vote in the same month
or you could get a set of jurors whose last names all came from the first half of the alphabet 17:02
tadzik ow
that's quite serious 17:03
pmichaud and since the county was 50% hispanic... and they tended to have very common surnames.... there would be some panels that would be completely hispanic or completely non-hispanic (more often than a true random selection would admit)
anyway, my reward was (1) a nice set of expert witness fees 17:04
(2) I started being picked for jury duty. Apparently a flaw in the previous system prevented my record from ever being chosen for jury duty service. :-) 17:05
tadzik :D
I'm waiting for (3) I had a pleasure to write the system in Perl :)
pmichaud noway 17:06
the computer staff at the county did not like me much after that.
tadzik (:
plobsing (re: (2)) no good deed goes unpunished 17:07
whiteknight pmichaud: you should write up that story and send it to the Daily WTF 17:08
that makes for good reading
pmichaud what was *really* funny was that I had <24 hrs to analyze the program and prepare my testimony :-) 17:09
I went on vacation for a weekend, and when I got back home (on sunday) there was a deputy waiting at my house to serve me a subpoena to testify in court the next day
a friend of mine worked for a law firm and they needed an expert, so he suggested that I do it and they got the subpoena on friday so I could testify on monday. but they didn't realize I was out of town and so the messages they left on my ans machine were unanswered 17:10
whiteknight why did they pick you?
oh, okay
pmichaud so when I came in on sunday, I had a subpoena and said "Huh? What in the world is this...?" 17:11
when I called, they said "we're sorry to have put you in this position, we needed something quickly, we'll pay you extra, etc."
and yes, I did do all of the analysis and simulations in Perl :-)
PerlJam pm: did you put together a graph of the distribution of the "random" numbers from their software? 17:12
pmichaud yes, I did
that was pretty amazing too. since I had so little time, I just put together a basic histogram showing the distribution of "random" numbers being produced by their system 17:13
PerlJam I seem to recall that you made a graph of random numbers from perl's rand function. I couldn't remember about the other.
pmichaud it was on a 8.5 x 11 sheet of paper
I met with the legal team monday morning (the day I'm supposed to testify) to explain what I had discovered.
by 10am, when the trial started, they had already blown it up into a full-size poster with labels and descriptions so it could be entered into evidence :-) 17:14
17:14 RobertLJ1 joined
pmichaud (yes, this was a big law firm) 17:14
17:15 RobertLJ1 left 17:16 darbelo_ joined, darbelo left 17:18 RobertLJ left
pmichaud cotto: any chance we could use a sub-second time for the seed? or maybe do like Perl does and use time, process id, memory allocation, etc.? patches welcome? 17:18
gist.github.com/964938 # result of rand on 2011.04 17:19
cotto pmichaud, I'm all for a better source of entropy, as long as we do it portably.
cotto has to go to dayjob 17:20
pmichaud well, anything I do would probably be only slightly better than intval, not really a solution to the entropy ticket 17:21
I'll see if I can come up with a patch, other can revert if it's not good enough :)
plobsing don't most OSes maintain an entropy pool? 17:22
can't we tap into that in a system-specific way?
17:22 fedov left 17:33 jsut_ joined 17:38 jsut left
cotto_work ~~ 17:41
17:45 darbelo_ left
pmichaud effect of memory on rakudo benchmarks: 17:45
github.com/pmichaud/rakbench/blob/...101435.txt # kiwi, 8GB
github.com/pmichaud/rakbench/blob/...100844.txt # kiwi, 2GB
it might be more useful here to compare absolute times instead of the percentages 17:46
benabik pmichaud: Looks like we're narrowing the gap... But some of it is that the 8GB case got slower. :-/ 17:47
cotto_work pmichaud: how did you limit ram? 17:48
pmichaud mem=2gb to kernel
er, "mem=2g" to kernel 17:49
17:49 rurban_ joined 17:51 rurban left 17:52 rurban_ is now known as rurban 17:53 benabik left 17:55 lucian joined
lucian interesting lambda-the-ultimate.org/node/4268 17:55
cotto_work looks like I need to re-educate myself about our our platform-specific code works
coke_ (trac fixed) I just used it. what's the problem? 18:06
(just == today) 18:07
(jury system) I suspect a similar flaw out here, as I am never called for jury duty. 18:08
(not in the 13 years I have lived in this county.) 18:09
cotto_work coke_: do you have an admin bit on trac? 18:14
I need my password reset and apparently didn't set an email address for password recovery. 18:15
coke_ cotto_work: yes. 18:17
momentito.
urk? 18:18
cotto_work no, "cotto"
coke_ manage user accounts. There are 4 accounts. bacek, coke, jkeenan, pmichaud
cotto_work urk indeed
wtf trac
trac-- 18:19
coke_ I can add you, but that seems... suboptimal.
cotto_work trac--
I'll sign up.
coke_ (esp. if it conflicts with your previous account ID.)
cotto_work when I try to register "cotto", it says I already exist. 18:20
coke_ checking the logs... 18:21
TimeoutError: Unable to get database connection within 20 seconds
cotto_work I'm glad you somehow kept your account.
whiteknight We do have plenty of platform-specific code in the IO system for instance. We could add a similar mechanism for miscellanea and add a Parrot_misc_get_entropy_source() function there
cotto_work whiteknight: that's my plan 18:22
whiteknight okay, awesome
coke_ ... nevermind. that error is from 2009
if I go to "permissions", I see lots of usres. 18:24
just not in Users.
cotto_work wonky
coke_ I have privs to the box - someone who knows trac could step me through something. 18:25
whiteknight coke_: I've worked a little bit with it. What do you need?
cotto_work I don't know trac well enough that I could do it blind, but I can ususally figure it out.
18:27 jeffreykegler_ joined
whiteknight we sure inspire confidence 18:29
18:29 jeffreykegler_ left
coke_ whiteknight: I have no idea. trac is working fine for me. 18:29
cotto needs a password change. but his account doesn't seem to exist in the admin screen 18:30
cotto_work coke_: what happens if you change my permissions? 18:31
18:32 hercynium left 18:34 theory joined, theory left 18:35 theory joined
coke_ The user cotto has been granted the permission REPORT_SQL_VIEW. 18:36
The selected permissions have been revoked.
cotto_work I miss chromatic's sarcasm. I'm glad he blogs.
coke_ I can try to change your password, even if I cannot see your account... 18:37
cotto_work sure
make it something temporary and I'll change it when I can log in
and we're back 18:39
now to figure out how to deal with this for every other user 18:40
whiteknight yes, we need to get some burlap sacks, and some bars of soap in old tube socks, and bring chromatic back 18:44
18:47 particle left 18:54 particle joined
wagle i appear not to have the privs to edit trac.parrot.org/parrot/wiki/LoritoRoadmap to include a pointer to trac.parrot.org/parrot/wiki/Lorito for a description of what lorito is 18:58
dukeleto ~~
cotto_work wagle: the majority of trac's accounts are fubar'd
dukeleto wagle: trac is messed up right now 18:59
wagle i just logged in.. i assumed it was fixed now
ok.. no problem
cotto_work wagle: try now
It's a little surprising you could log in. 19:00
19:00 mtk left
cotto_work pmichaud: the ticket for an entropy source is trac.parrot.org/parrot/ticket/64 19:01
wagle cotto_work: it worked..
thanks.. one less minor pet peeve for me..
cotto_work wagle: I updated your permissions
one down, 50-some to go 19:02
wagle yeh, i figured
19:02 darbelo joined
coke_ cotto_work: you are now showing up on the user list. 19:02
with no name or email. 19:03
cotto_work I fixed that 19:04
dalek tracwiki: v26 | wagle++ | LoritoRoadmap 19:05
tracwiki: trac.parrot.org/parrot/wiki/LoritoR...ction=diff
cotto_work wagle: sorry for the inconvenience 19:06
wagle meh, no problem 19:07
19:07 mtk joined
wagle just trying to help, starting tiny 19:07
cotto_work that's the way to do it
19:08 bubaflub left
dukeleto wagle++ 19:09
whiteknight wagle: start big! break things. light fires 19:11
KaeseEs /sanick whiteknight advicedog 19:12
wagle heh
19:13 ShaneC joined, atrodo is now known as atrodo_, ambs joined 19:14 atrodo_ is now known as atrodo, lucian_ joined
coke_ I suspect that somehow the accounts are 'stealth', and if you have the password you can login. 19:15
(but until you login, I am not seeing them.)
which is crazy, but fits the facts-so-far.
19:18 lucian left
coke_ m0? 19:18
whiteknight my trac username is still not working 19:19
not that I'm planning to do anything with it today
19:21 theory left
cotto_work coke_: M0 is the VM that Lorito will run on top of. 19:25
19:27 bubaflub joined, bubaflub left 19:28 bubaflub joined
moderator Parrot 3.3.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today | trac accounts are wonky; talk to cotto, coke or whiteknight if you have trouble 19:29
coke_ cotto_work: don't tell ME, tell aloha. 19:31
whiteknight: I can reset your password if you like
cotto_work coke_: already took care of it 19:32
coke_ aloha, M0?
whiteknight coke_: thanks, cotto already got to me
aloha coke_: M0 is a poor format for transmitting ops
whiteknight I would love to know why this happened
coke_ aloha, no, M0 is the VM that Lorito will run on top of.
aloha coke_: Okay.
whiteknight smolder eating up a bunch of memory doesn't seem like it should corrupt trac internal data
or reset user passwords, or disable user accounts, or whatever else wonky crap happened
wagle could be running out of memory and not checking for that 19:33
malloc error! stay on target! 19:34
19:36 kid51 joined
KaeseEs while(malloc(i++)){} /* firefox 2.x source snippet? */ 19:39
coke_ ACHOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
KaeseEs bless you
coke_ That's about 10 in a row. ow.
KaeseEs don't die
19:40 ShaneC left
atrodo coke_> allergies? 19:43
cotto_work It's definitely cold season at $dayjob. 19:47
Lack of communicable diseases is a nice side-effect of irc. 19:48
kid51: ping (when you're done with the #ps report) 19:49
19:50 kid51 left
cotto_work or not 19:50
whiteknight Lack of communicable diseases is a nice side-effect of not having children 19:53
I'm thinking about renaming my kid "Snotbag", for accuracy
19:54 benabik joined
whiteknight my wife keeps telling me I'm not allowed to refactor the little guy 19:56
19:56 theory joined
whiteknight but there are so many improvements I could make if I were just allowed to break the interface a little bit 19:56
atrodo whiteknight> Reading only the last line, I thought you were talking about PCC 19:57
whiteknight heh
but there would be much less reason to call the police if that's what I was talking about :) 19:58
tcurtis whiteknight: but there are so many existing systems which expect him to support his current interface, and do you even have a formal deprecation policy. :)
atrodo whiteknight> much less
whiteknight tcurtis: the "my wife says no" policy
atrodo whiteknight> which is a very hard policy to ignore 20:01
whiteknight atrodo: In my next blog post, I propose several big changes to PCC which (I think) will help performance 20:02
I think we can cut out fill_params entirely, cut out signature array constants, AND give the user new features all in the same huge refactor
...all without abusing hallucinogens 20:03
plobsing but will it whiten my teeth?
whiteknight plobsing: only if they get in the way
I've kicked some of these ideas past plobsing before and he was hardly thrilled about them at the time 20:05
but, it's my blog and I'll post whatever nonsense I want there
20:06 ShaneC joined
benabik Is #ps now? 20:07
whiteknight 23minutes
benabik Ah. Got my timing messed up by having to be on campus on day without class.
whiteknight NotFound: What is winxedxx? 20:16
20:17 soh_cah_toa joined
NotFound github.com/NotFound/winxedxx 20:17
whiteknight NotFound: does it use Parrot at all? 20:18
NotFound whiteknight: no, it uses a bunch of classes that mimics parrot pmcs
whiteknight oh, okay
NotFound Is very limited, but amazingly fast. 20:20
20:22 jevin left
NotFound To be clear: it doesn't use parrot at runtime, the compiler is winxed on parrot. 20:22
whiteknight All my winxed code uses inline PIR, and Parrot object model features
so I can't use winxedxx
I mean, I could write new code for it :) 20:24
NotFound whiteknight: I'm trying to avoid the need for inline pir, adding new predefs if necesary. 20:25
20:25 Coke joined
NotFound The long-term goal is to be able to compile a winxed compiler, and replace the hand written stage 0 with it. 20:27
whiteknight ah, okay 20:28
NotFound: if you have a system where we can write our own predefs, I would be happy to start writing libraries of them
Rosella is going to add a library of string operations soon, which will do most of that 20:29
NotFound whiteknight: I still don't have a design for that feature.
whiteknight NotFound: yeah, I'm sure it's tricky 20:30
cotto_work #ps time
whiteknight has to go time 20:31
20:31 whiteknight left
NotFound But the recent changes in scope lookup will make it more feasible. Soon predefs will be searched like normal functions, and then will be easier to extend or override. 20:32
Next step can be c++ alike 'using namespace'. 20:33
cotto_work plobsing: ping 20:35
plobsing cotto_work: pong
20:38 ShaneC left
coke_ atrodo: I have never had allergies before. But I think it might be, yes. 20:42
tadzik I have allergies, for Spring, Summer and Autumn 20:43
20:47 ambs left
coke_ msg mj41 let me know when I can login to taptinder again, plz. 20:58
aloha OK. I'll deliver the message.
21:01 mj41 joined
coke_ hey, mj41. 21:03
mj41 coke_: ahoj, I know ... I recreate tt.taptinder.org DB from scratch ... will fix your login/passwd tomorrow. 21:05
coke_ looks like smolder is stuck running some kind of log xfer: 21:20
/usr/sbin/cronolog /var/log/apache2/smolder.parrot.org/transfer/%Y%m%d.log
I've tried to kill it but it respawns. 21:21
no actual smolder processes are running, though. 21:22
I can try to restart, but I assume this is part of a larger process.
OSUOSL?
aloha, OSUOSL?
aloha coke_: OSUOSL is an excellent resource. I'd like to make life minimally difficult for them.
21:23 coke_ is now known as Freenode_Coke
cotto_work aloha: no osuosl is the Oregon State University Open Source Lab, which provides hosting for *.parrot.org 21:23
aloha cotto_work: Okay.
21:23 Freenode_Coke left
dukeleto is of the opinion that smolder is broken by design 21:31
21:31 Coke_ joined
Coke_ smolder is currently in the process of being migrated. 21:32
dukeleto is aware of it.
and has been working with them for some time now, apparently, on an open OSU ticket.
dukeleto Coke_: which means "i haven't done anything towards that and don't plan to", so I would say "in the process of" is a bit of a lie.
Coke_: no.
Coke_ dukeleto: you might want to talk to Ram... someone on #osuosl on freenode, then. 21:33
dukeleto Coke_: the problem is known, and just yesterday OSUOSL told us to basically "have fun, read the nascent Supercell documentation and figure out how to migrate smolder yourselves"
Coke_: I am in that channel. I talk to them and hiim all the time.
him, rather
Coke_ ok. then you saw what he just said. I was just trying to repeat that.
dukeleto Coke_: i simply hate smolder and won't give precious minutes of my life to mess with it. Broken by design. 21:34
Coke_ in any case: I won't be helping fix smolder since stuff's going on that I wasn't aware of.
dukeleto Coke_: yes, no one wants to fix smolder, which is why this situation sucks a lot.
Coke_ dukeleto: No, i DID want to fix smolder. but just stepped in some other big mess going on.
(ok, just now I was going to workaround, not fix, exactly) 21:35
dukeleto Coke_: there is no other big mess other than smolder 21:36
21:37 lucian_ is now known as lucian
dukeleto Coke_: it needs to go on it's own vm 21:37
mikehh dukeleto: as I mentioned before, I tried to set up a local smolder server, but way too many dependencies. will try again later
dukeleto Coke_: we have a supercell vm with OSUOSL
mikehh: cpanm --installdeps .
mikehh: please don't install deps by yourself :)
mikehh: or perl Build.PL; ./Build installdeps
mikehh: cpanm is "App::cpanminus"
mikehh dukeleto: yeah, but not only perl dependencies :-} 21:39
I tend to use cpanp. but also need to get all the necessary dev libraries 21:40
dukeleto mikehh: i highly recommend cpanminus, is all I will say 21:42
mikehh: we are talking about perl dependencies (straw man goes down) ;)
mikehh dukeleto: I don't have any problems relating to perl dependencies, just recently installed various Ubuntu 11.04 versions and have not yet got all the server stuff set up yet 21:44
dukeleto mikehh: gotcha 21:52
bacek ~~ 21:54
mikehh hey bacek. how you doin' 21:56
bacek Just woke up. Nothing bad happened yet :)
mikehh bacek: I did some tests on rakudo, that build quicker with --buildframes was a couple of commits later and now seems to be much the same as without it 21:59
21:59 bluescreen left 22:00 bubaflub left
bacek mikehh, did you compare 3.3 vs master? 22:00
mikehh yes at least 20% improvement in make -j
22:00 bubaflub joined 22:01 bubaflub left
bacek mikehh, sounds about all right :) 22:12
dukeleto we lost all our trac credentials? wtf?
cotto_work dukeleto: kinda. They're in an inconsistent state that seems to be fairly easy to restore. 22:14
dukeleto: can you log in?
soh_cah_toa i can't 22:15
cotto_work soh_cah_toa: see privmsg 22:16
soh_cah_toa all better now 22:18
what happened w/ trac?
22:25 benabik left 22:32 kid51 joined
kid51 cotto_work: ping 22:32
22:38 bubaflub joined
cotto_work kid51: pong 22:38
kthakore kid51: hello I shall fill in for cotto_work today. How may I be of service?
cotto_work: sssssh
22:39 mj41 left
cotto_work ... 22:39
kthakore runs away, swinging
cotto_work kthakore: not sure how that'll work. How good's your PHP and Drupal hacking?
also, how good are you with the highly site-specific and moderately hacky codebase I have at $dayjob? 22:40
;)
kthakore cotto_work: it is ok 22:41
cotto_work: I have used drupal before need help?
you can pay me in ramen noodles or that paper thing that gets more ramen noodles 22:42
plobsing a paper cup? 22:44
cotto_work a paper gun? 22:45
bubaflub ramen noodle order form?
kthakore oooh no the paper with ppl on it
and big numbers on it
liek 5
and 10
aloha 10
kthakore and 20
aloha 20
kthakore and 30
aloha 30
kthakore aloha: FUUUUU
cotto_work 20 and 30 22:46
aloha 50
cotto_work 20 and 30 minus a cow
kthakore 30 and 100**20
aloha 1e+40
kthakore hehehehehe
c = 20;
c and 20
:(
plobsing has a dream to be on the $30 bill 22:47
cotto_work plobsing, if legality isn't an issue, I know a guy 22:48
plobsing it is only illegal if you get caught. but with your face on the bill, it might be challenging not to be caught 22:49
kthakore plobsing: done i.imgur.com/5SIVl.jpg 22:50
soh_cah_toa www.festisite.com/money/ 22:51
kthakore soh_cah_toa: my version is BETTAH!
plobsing: what do you think?
soh_cah_toa yeah, it definitely is 22:52
plobsing kthakore: I'm happier than I've ever been.
soh_cah_toa: It'll take me some time to get a rockin' beard like that. 22:53
soh_cah_toa you can upload your own photo
kthakore plobsing: get to it
22:54 lucian left
kthakore plobsing: will you be at YAPC::NA ? 22:54
Tene Man, plobsing has very little personal information online. :P
kthakore I will draw you a beard for your face
on your face
Tene No facebook profile full of photos that I can find.
kthakore with marker
tadzik with Perl SDL :) 22:55
kthakore YA!
tadzik App::yourownbanknote
kthakore and add physics with Box2D!
plobsing realistic beard physics ftw
tadzik woosh-woosh 22:56
kthakore tadzik: yapgh.blogspot.com :) box2D shamelessness
tadzik yeah, I read that :)
22:57 mtk left
kthakore yay! 22:58
22:58 mtk joined
kthakore well it was a video ... so how did you read a video? 22:58
tadzik I didn't I watched it :)
oh, I didn't see that one coming 22:59
I read the label then :)
kthakore T T
kthakore runs away dripping eye sweat
hmm looks like I killed the chan again 23:10
VICTORY!!!!!
23:11 whiteknight joined
dalek rrot: b8822cf | NotFound++ | src/packfile/api.c:
fix problems in failed PBC loading
23:12
23:24 kid51 left
NotFound No one never tried to load a packfile that doesn't existed? 23:27
whiteknight I have done it before, I don't remember the results 23:28
jnthn__ Surely.
Lots of times. It gives some error saying it doesn't exist, IIRC. :)
NotFound It segfaulted to me.
jnthn__ oh. 23:29
No, I remembered useful errors :)
NotFound Look that last commit to see why.
jnthn__ Cannot stat foo.pbc
yeah, I'm looking at it and wondering how it ever worked :)
yeah, even before that patch: 23:30
"load_bytecode" couldn't find file 'OhLol.setting.pbc'
for example.
But that looks like a different code path than the one you just fixed. 23:31
whiteknight jnthn__: how goes the rakudo -> 6model work 23:33
?
jnthn__ whiteknight: Well. I blug about it yesterday.
whiteknight: Nothing actually runs yet but re-working the primitives is going very smoothly.
NotFound BTW those Parrot_eprintf are an intrusive way of reporting the problem. 23:34
whiteknight what's your blog url? I don't seem to have it bookmarked
NotFound: yeah, we should get rid of Parrot_eprintf
jnthn__ whiteknight: 6guts.wordpress.com/
whiteknight NotFound: exceptions are beter
better
jnthn__++
23:35 atrodo is now known as atrodo_
cotto_work NotFound: +1 to more exceptions 23:35
23:35 atrodo_ is now known as atrodo
NotFound Someone will look for the opengl failure after nci changes? I can't run examples/fly anymore. 23:36
plobsing whiteknight: exceptions suck in startup where they are silent failures. this has happened to me a number of times.
whiteknight jnthn__: I'm putting together a large (and growing) list of questions about 6model. Eventually I'm going to have to corner you and start blasting away 23:37
plobsing: is that still the case after the embedding API changes? No exceptions should be unhandled and unreported
plobsing NotFound: I was not aware opengl was broken. I'll look at it shortly.
whiteknight plobsing: at least, none that I am aware of
jnthn__ whiteknight: OK :)
whiteknight jnthn__: I'm going to give you some more time with Rakudo first. I might get some questions answered by watching your commit logs 23:38
plobsing whiteknight: exceptions thrown from Parrot_nci_load_extra_thunks lead to silent failures
NotFound plobsing: will be nice, opengl provides our more visual appealing examples.
plobsing: They can't be caught and shown? 23:40
plobsing NotFound: I'm not sure if they can't. I'm just sure that they aren't.
NotFound plobsing: That function does some bytecode loading? 23:42
nopaste "plobsing" at 192.168.1.3 pasted "[PATCH] introduce silent startup failure" (13 lines) at nopaste.snit.ch/44500
cotto_work silent startup failures? committed and applied. 23:43
er, pushed
whiteknight plobsing: that's troubling 23:44
NotFound Silen normal exit, or silent abort?
cotto_work sounds like a bug
plobsing $? == 1 23:45
whiteknight we should never get to that point without passing through the embedding API, which should set a jump-out point and print out error messages
dalek rrot: 3f44869 | plobsing++ | / (9 files):
eliminate unused buildframes code (this is now handled by libffi)
whiteknight unless it is being caught and discarded somewhere
NotFound I guess that is executed before the IO channels initialization.
whiteknight plobsing: oh, does this happen during interp initialization? 23:46
plobsing whiteknight: yes
whiteknight ah, okay
the embedding API actually skips that particular case 23:47
maybe that's a place where exceptions should be avoided
plobsing whiteknight: what if we run out of memory during interp allocation? 23:48
silent fail?
whiteknight let me look
plobsing: do NCI thunks get initialized in allocate_interpreter or initialize_interpreter? 23:50
I assume the later?
plobsing I'm not entirely sure.
whiteknight initialize_interpreter doesn't have any mechanism for communicating an error condition
and depending on where that happens, the exceptions system might not be set up, the IO system might not be set up, etc 23:51
plobsing I understand that, during regular end user operation, that init code should be very unlikely to produce exceptions; but for parrot hackers, it becomes more likely, and it would be desirable to be able to easily identify this situation
and I doubt that, even during regular operation, exceptions are impossible 23:52
whiteknight Let me trace through that test case now, see what I can come up with
heh, I was trying to figure out why the build didn't complete for a moment 23:55
23:55 darbelo left
NotFound The function is called before initializing the initial context, so there is no framework for handling exceptions. 23:56
whiteknight I think I can fix that case 23:57
give me a minute
cotto_work plobsing: is libffi our only supported method of building dynamic call frames? 23:59
NotFound Someone deleted the fprintf's I added some time ago for the worse case secanarios.