Parrot 2.9.1 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | merge gsoc_nci |
Set by moderator on 2 November 2010.
00:00 dmalcolm left 00:07 kid51 is now known as kid51_at_dinner 00:19 lucian left 00:35 lidden joined 00:52 mikehh left, mikehh joined 00:57 kid51_at_dinner is now known as kid51 01:07 plobsing joined 01:23 dngor joined 01:58 jsut_ joined 02:03 jsut left 02:12 kid51_ joined 02:13 whiteknight left 02:15 kid51 left 02:27 lidden left
kid51_ msg chromatic In psketch you asked for benchmarking on gc_ms2_sf branch. What kind of program would give you meaningful data? 02:40
aloha OK. I'll deliver the message.
02:40 kid51_ left
chromatic msg kid51 anything Rakudo related. 02:41
aloha OK. I'll deliver the message.
03:09 Limbic_Region left
dalek rrot: r49774 | plobsing++ | branches/gsoc_nci/src/nci/libffi.c:
add assert_args
03:09
rrot: r49775 | plobsing++ | branches/gsoc_nci (7 files):
add --without-core-nci-thunks configure option to build without core nci thunks (depends entirely on framebuilder)
cotto ~~ 03:16
dukeleto, how goes the git import? 03:46
04:29 particle1 joined 04:32 particle left
dalek rrot: r49776 | plobsing++ | branches/gsoc_nci/src/nci/libffi.c:
implement nci thunk cloning
04:32
05:24 chromatic left 05:46 silug left
cotto sleep 06:02
s
06:08 dalek left 07:14 fperrad joined 07:55 PacoLinux left 08:36 bacek left 08:39 lucian joined 09:14 bacek joined 09:20 lucian left 09:54 muixirt joined
nopaste "muixirt" at 192.168.1.3 pasted "error msg ecmascript compiler" (64 lines) at nopaste.snit.ch/25180 10:10
muixirt Any advice?
10:11 rurban joined 10:12 rurban left
sorear that message generally indicated that you're trying to load P6object in an excessively dynamic way 10:12
muixirt sorear: ??
sorear exactly 10:13
moritz it could be that the call involves a parent class that doesn't exist, or isn't a class (but a role), or so 10:14
moritz just vaguely guessing
muixirt sorear: your advice?
sorear muixirt: find the problem
hundreds of man-hours have been spent debugging that to no avail 10:15
we need fresh eyes
once you fix it, you'll be hailed as the hero who made load_language "perl6" work
muixirt disclaimer: I have really limited knowledge of C, Parrot internals, pir, javascript, git ...
moritz muixirt: if it worked once, you could bisect
muixirt seen tewk
aloha Sorry, I haven't seen tewk.
muixirt so P6object is known to be buggy? 10:16
sorear yes 10:19
or maybe it's Parrot?
jnthn On the upside, P6object won't be used by Rakudo in a couple of month's time... 10:20
Of course, that may just mean we get a *new* problem to find.
moritz as is the case with every change. 10:22
muixirt unreliable line numbers in error msgs don't help much either
sorear line numbers in error msgs are reliable now
muixirt not in this case I suspect 10:23
called from Sub '' pc 75784 (src/gen_grammar.pir:4882)
line 4882 is only a label 10:24
sorear line 4882 is the beginning of a statement
statement ::= label statement | ...
muixirt I wonder what that means: nullclass = get_hll_global ['parrot'], 'Null' 10:48
could someone explain it in simple terms?
moritz find the global symbol 'Null' in the 'parrot' HLL 10:49
bind the result to nullclass
sorear that's wrong anyway 10:50
muixirt where does that 'Null' come from and why is 'parrot' a HLL?
sorear parrot::Null is the built-in NULL pmc
moritz muixirt: that's the default HLL if none is declared
sorear however, that line accesses $current-hll::parrot::Null
I suspect get_root_global was intended
moritz oh 10:51
then I explained wrongly
muixirt sorear: that seems right
nopaste "muixirt" at 192.168.1.3 pasted "what's wrong with that test script?" (15 lines) at nopaste.snit.ch/25182 10:52
muixirt replacing get_hll_global with get_root_global changes the picture (see paste) 10:53
get_hll_global --> 'nullclass is null' get_root_global --> 'OK' 10:54
sorear well, if the variable doesn't exist, Null will be returned 10:56
in your example, nullclass is the Null class 10:57
it is not a Null value
muixirt well in that test case the output 'nullclass is null' relates to the 'if null nullclass' construct 10:59
the symbol null is somewhat overloaded :-)
the file src/classes/String.pir mentions a src/pmc/jsstr.pmc 11:19
I wonder where that has gone
was it sometime ago part of parrot (parrot/src/pmc/jsstr.pmc instead of parrot/languages/ecmascript/src/pmc/jsstr.pmc) 11:25
moritz doesn't seem like 11:27
muixirt is confused about those JSStr, jsstr.pmc, Str, JS6Str and String in src/classes/String.pir 11:33
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#922) fulltest) at r49777 - Ubuntu 10.10 i386 (g++-4.5 with --optimize) 11:39
muixirt OT: do all of you master touch typing? 11:57
11:59 patspam joined, patspam left
moritz I can't speak for all of us, but I do 12:24
12:27 particle1 left 12:34 particle joined 12:50 whiteknight joined
whiteknight good morning, #parrot 12:54
12:54 Khisanth left
moritz good morning whiteknight 12:57
13:00 Khisanth joined
whiteknight hello moritz, how are you today? 13:10
moritz first work day after vacations. Otherwise quite OK :-)
whiteknight last vacation I had, I didn't mind coming back 13:11
but I had a young and very fussy child, and was ready to send him back to daycare 13:12
moritz :-) 13:13
well, it was my last vacation without small child until the child is grown not to count as "small" anymore :-) 13:14
muixirt moritz: probably at the age of 30 ;-) 13:18
moritz :-)
13:26 muixirt left 13:29 darbelo joined 13:37 bluescreen joined
whiteknight yay! My new blog is 100% operational 13:47
all I need to do now is update the feed address in planet Parrot, and I'm set
msg dukeleto how goes the git migration? Anything I can do to help at this point? 13:54
aloha OK. I'll deliver the message.
14:42 Andy joined 14:56 PacoLinux joined 15:00 plobsing left
nopaste "mikehh" at 192.168.1.3 pasted "some rakudo timings with trunk vs gc_ms2_sf" (15 lines) at nopaste.snit.ch/25186 15:20
mikehh msg chromatic see nopaste.snit.ch/25186 15:21
aloha OK. I'll deliver the message.
moritz mikehh: note that 'make stresstest' is still in large parts a startup benchmark 15:22
darbelo And we've always sucked at starting up :) 15:23
moritz mikehh: did you also monitor memory usage?
mikehh moritz: 'k, have you any other benchmarks I can run now I have built both 15:24
moritz darbelo: much of it is insufficiently robust serialization, which means we have to rebuild much at run time which could be created at compile time
mikehh: ./perl6 t/spec/integration/advent2009-day17.t 15:25
15:25 fperrad left
moritz that includes a mandelbrot fractal 15:25
mikehh moritz: how do you do that, I had system monitor running but not specifically
moritz mikehh: I don't know of any good tool; I usually look at 'htop' (like system monitor for unix) while compiling core.pm, and manually look for the highest value 15:26
15:36 stilgar joined 15:42 bluescreen left, bluescreen joined
mikehh moritz: BTW I got two TODO's passing in both stresstest runs - t/spec/S16-filehandles/io.rakudo - TODO passed: 90 and t/spec/S32-io/file-tests.rakudo - TODO passed: 15 15:43
moritz: All tests successful.
moritz mikehh: I got those too, thanks for the confirmation 15:44
whiteknight there are a hell of a lot of improvements that could be made to startup times 15:45
lazily creating method PMCs for all built-in types would probably be a start
jnthn No 15:46
Creating them at compile time is the answer
Then serializing them.
Same for signatures, meta-objects, constants... 15:47
Lazy creation is mostly a workaround for lack of that.
mikehh that's moving towards static typing 15:48
cotto ~~ 15:49
jnthn mikehh: Well, enables.
mikehh: Which is also a goal.
whiteknight jnthn: that's fine too, I suppose. We do have a hell of a lot of methods in built-in types, most of which are rarely used 15:50
jnthn whiteknight: Oh, you meant Parrot's built-in PMCs?
whiteknight jnthn: yes
jnthn whiteknight: Oh, OK. I was talking about all the stuff Rakudo does at startup. 15:51
whiteknight oh yes, in that case mass-serialization is definitely the answer
jnthn Parrot's own startup time is a tiny fraction of Rakudo's overall startup time today (mostly thanks to previous efforts on Parrot.)
whiteknight jnthn: I can't control Rakudo performance, but I can sure as hell do things about Parrot performance
I can, and I fully intend to
moritz whiteknight: I'm sure performance boosting rakudo patches won't be rejected :-) 15:52
16:01 theory joined
whiteknight moritz: the place where I can do the most good is in Parrot. I don't have mad Rakudo skillz 16:10
moritz there are 2 people whom I'd attribute mad Rakudo skillz. I hope that number will increase in future 16:12
16:18 theory left 16:29 fperrad joined 16:34 abraham joined 16:49 plobsing joined 17:05 PerlJam left 17:08 plobsing left 17:14 dmalcolm joined 17:16 abraham left
atrodo Been using blekko, and they have a perl slashtag but not one for parrot, so I made one. blekko.com/ws/+/view+/atrodo/parrotvm 17:32
mikehh where's dalek? 17:46
cotto ~~ 17:52
whiteknight atrodo++ 18:08
sorear dalek is broken 18:10
18:10 stilgar left
sorear diakopter's last report was "Odd." 18:10
18:14 darbelo left
dukeleto the git svn clone command is still running. It is like a sick joke. 18:22
cotto put it out of its misery 18:24
sorear I asked #monodev how long their git migration took 18:25
cotto sorear, punchline?
dukeleto my machine has been loading the tomato genome into a local postgres db for a few days as well, so it is slower than usual. But still, this is insane. 18:26
sorear Why use a db?
dukeleto sorear: why use the internet? 18:27
sorear because there is no simpler alternative for the things I have to do
Themeruta Can't you just by some tomatoes in a mall?
18:28 Themeruta is now known as NotFound
sorear what features do you use that a db can provide but a dozen 2-GB quaternary data files can't? 18:28
is this some kind of full-text-search db?
dukeleto sorear: much more complicated than that 18:29
sorear: solgenomics.net
sorear: imagine splitting a genome into millions of subunits and then tracking how they are related. That is what we use postgres for. 18:30
sorear 2010.11.03.03.52.53 <@lupus> sorear: it was just a few hours: the conversion program was extensively hacked by gonzalo and harinath
dukeleto sorear: yeah, i need to use git filter-branch 18:31
cotto We must have some kind of nasty pathological case. 18:37
dukeleto vtable_morph_change keeps coming back, like a demon from the abyss. 18:39
dukeleto starts to hack on a proper git filter-branch command 18:47
cotto dukeleto++ 18:48
18:51 lidden joined
whiteknight dukeleto: still running? that is insane. what commit is it at? 18:53
I mean, is it worth waiting it out at this point, or do we try to start over 18:54
18:54 particle1 joined, Andy left 18:58 particle left 19:06 particle1 is now known as particle
whiteknight dukeleto: and is it a matter of processing power? I might be able to lend some spare cycles if necessary 19:06
19:16 plobsing joined
dukeleto whiteknight: it is mostly a case of ENOFREETIME 19:33
19:42 patspam joined 19:43 patspam left
plobsing do we have any ETA on the git migration? I'm trying to justify avoiding svn merging gsoc_nci because of how much svn has messed it up. 19:47
whiteknight dukeleto: we don't want you to get burned out or anything. Maybe you need some rest? 19:48
put off the migration till this weekend and don't stress over it
or, tell somebody else how to do it and go on vacation
dukeleto i haven't actually been spending a lot of time on the migration, but i haven't had free time to work on it as much as I would like 19:51
the dumb git-svn clone is slower than molasses going uphill 19:52
so i need to write a git filter-branch command to do it. I have a skeleton of what it should be, but I need to write a one-liner to generate the filter-branch command, since it has a case statement for every username in the old repo and how to transform it in the new repo
that is where i am. 19:53
19:53 plobsing left
dukeleto if anyone wants to look on the GitMigration page and do anything that is not blocked by the repo migration, go for it. 19:53
aloha, msg plobsing i will have a better ETA on conversion once i see the speed of the filter-branch command 19:54
aloha dukeleto: OK. I'll deliver the message.
19:57 patspam joined, patspam left 20:03 patspam joined 20:06 brianwisti joined 20:18 theory joined 20:29 whiteknight left
dukeleto we are at r48342 20:30
dukeleto is going to hack on code.google.com/p/android-scriptin...ail?id=296 to get his mind of the git migration, once it is done. 20:31
mikehh dukeleto: only 1436 to go:-} 20:33
atrodo dukeleto> Is that possible? I though android used jvm-like. Are there tools to compile C? 20:36
Interesting. Wikipedia says it can, so it must be true 20:38
dukeleto atrodo: yes, it is possible, but there are many sharp edges 20:41
atrodo: people have done it for ruby, lua, python, perl5, javabeans and a few other languages
atrodo: they seem to be in various states of disrepair 20:42
atrodo neato. Android cooler than I thought
dukeleto atrodo: it requires cross-compiling to linux-arm
atrodo: a lot of the RTEMS improvements that parrot is getting will help with parrot on android
atrodo: android has a Dalvik Virtual Machine that is very similar to parrot 20:43
atrodo: it is register based, but basically has an optimized bytecode for mobile phones
atrodo: i think parrot has a lot to learn from dalvik, and dalvik <--> parrot interop could be very interesting 20:44
atrodo That I knew. I looked at it a couple times before, but I could never find a lot of good detail information about it
dukeleto atrodo: the fun part about android is they use bionic libc, which breaks anything nontrivial, so most things have to statically link their own libc 20:46
20:47 patspam left
dukeleto atrodo: they wanted a cripled libc on purpose, to make it harder to run arbitrary code by "apps". But it is still possible. 20:47
sorear Can you elaborate on that last sentence?
dukeleto sorear: in what way? 20:48
atrodo: www.dalvikvm.com/
sorear the phrase, 'to run arbitrary code by "apps"', is not clear to me.
dukeleto atrodo: android.git.kernel.org/ <-- read the source of dalvik, if the link above is not detailed enough ;) 20:49
sorear: there are things called "android apps" which are sold or given away for free in the "android marketplace"
sorear Why is there "not sure, string related" stuff in OSS documentation? Or did they drop the OSS thing? 20:50
dukeleto sorear: these are programs "mere mortals" can run on their phones. If you have a developer phone, or "jailbreak/root" the phone, you can run any code you want on it.
sorear: what do you mean? 20:51
sorear dukeleto: dalvikvm.com reads like a reverse engineering note file, not like documentation for a supposedly open-source VM
dukeleto sorear: and your point? 20:52
atrodo dukeleto> It's been a few years since I looked. I suspected that the code was available by this point 20:53
dukeleto sorear: the code of dalvik can be read by anybody: android.git.kernel.org/?p=platform/...;a=summary
atrodo: ^^
sorear dukeleto: exactly, so why did it need reverse engineering? I don't have a point, I'm confused
dukeleto sorear: dalvik source code was not open sourced until recently. people were probably reverse engineering it 20:54
it is under the apache2 license, seemingly.
sorear ok 20:55
back to 'to run arbitrary code'. You mean, people trying to jailbreak phones using app vulnerabilities? 20:56
dukeleto sorear: that exists as well, but that is not what i meant ;)
sorear: many iphone jailbreaks are actually exploiting iOS to install something that can install arbitrary code 20:57
sorear: but that is a horse of a different color
sorear: basically, you need to install the developer boot loader into an android phone to be able to do any of this
sorear: developer phones already have the boot loader necessary 20:58
21:02 patspam joined
sorear dukeleto: so... how does a crippled libc fit into this? 21:03
21:26 dngor left 21:28 dngor joined 21:32 theory left
dukeleto r48517 21:41
sorear: codingrelic.geekhold.com/2008/11/si...-libc.html 21:53
sorear: also duckduckgo.com/?q=bionic+libc+android ;) 21:54
sorear: they wrap the GPL kernel in a BSD libc, so that userspace apps don't get "infected" by the GPL 21:55
sorear dukeleto: Not once does that codingrelic link mention "running arbitrary code in apps" 21:58
dukeleto sorear: what is your point? 22:01
sorear You have not yet provided an explanation of 15:47 <@dukeleto> atrodo: they wanted a cripled libc on purpose, to make it harder to run arbitrary code by "apps". But it is still possible. 22:02
dukeleto sorear: is this a court of law? Am I being interviewed? If you don't believe me, then don't. Go read about it and learn for yourself. 22:04
sorear I would have accepted "STFW" a while ago 22:09
sorry
dukeleto sorear: no worries. The Git Migration has me on edge :)
sorear: every time you see a new version of iPhone OS or Android, they fix a few vulnerabilities that allow priveledge escalation or code execution. I was just stating what I thought was a commonly known fact. 22:10
sorear: the recent android 2.2.1 fixed a bunch of security bugs, and so did every recent version of iOS 22:11
sorear: android seems to be a bit better about security that iOS. Probably because they "borrowed" a bunch of code from OpenBSD ;)
dukeleto just update the github mirror. Forgot about it for a bit. 22:14
sorear 1st page of google for "android crippled libc" doesn't turn up anything that makes strategic sense 22:18
plenty of technical crippling (or as I like to say, size optimization)
eh it doesn't matter, if you don't have a ref and I can't find one I'll drop it 22:19
22:20 brianwisti left
dukeleto sorear: "crippled libc" are my words. That is what I call it. 22:21
sorear: they don't want people to be able to do exec() and friends in "apps". I call that "crippled"
22:21 dngor left
dukeleto sorear: you can call it "banana" if you want ;) 22:22
22:38 kid51 joined 22:40 whiteknight joined
whiteknight bacek: ping 22:48
dukeleto: ping 22:49
dukeleto whiteknight: pong
dukeleto mumbles "the witch is dead..."
whiteknight dukeleto: I saw some pushes... the migration is done?
or, the process you were working on anyway?
dukeleto whiteknight: can i have some of what you are having? 22:50
whiteknight soup and grilled cheese?
dukeleto whiteknight: no, that was just a normal mirror push of the old repo.
22:50 bluescreen left
dukeleto whiteknight: that was milder than what i imagined ;) 22:50
whiteknight oh, damnit
dukeleto whiteknight: nice blog post, by the way
whiteknight thanks!
cotto ~~ 22:51
whiteknight The trick is getting all that fantastic stuff done without our core devs getting burnt out
cotto suspects good news and backscrolls
dukeleto poops on cotto's parade 22:53
cotto fortunately it was an umbrella parade
whiteknight extremely fortunate 22:54
cotto so, what's happening?
dukeleto we still have ~1000 revs left on the clone.
cotto on the broken one or using filter-branch?
dukeleto the broken one. 22:55
cotto You're not killing it with fire and burning sulfur?
did it get unstuck
?
22:56 patspam left
dukeleto cotto: until i have something written to replace it, i am just letting it run. The output of it may be useful. 22:58
cotto ok. Are you planning on using it or filter-branch to create the final version? 22:59
dukeleto sorear: this might answer some of your libc on android questions: wiki.gnashdev.org/Building_for_Android
cotto: i am planning on running filter-branch on the output of this, unless it is unusable.
I imagine it will be closer to what we want, but not perfect.
cotto: i could run filter-branch on parrot.git on github too. I might be 6's 23:00
s/I might/It might/
cotto "6's"? 23:01
bacek_at_work whiteknight, pong 23:03
whiteknight bacek: can you decipher those emails that went to parrot-dev? 23:04
bacek_at_work whiteknight, spam
whiteknight I can't read any cyrillic
jnthn It's an empty email really, just a signature. 23:05
bacek_at_work jnthn, it was few with spam links also
jnthn oh
bacek_at_work akf # meeting
jnthn yeah, I missed teh link.
dukeleto cotto: "It is 6's" == "It is the difference between 6 and a half dozen" 23:06
cotto now I know
dukeleto sorear: gist.github.com/663362 <-- Details about bionic
and knowing is half the battle!
23:09 luben left 23:10 fperrad left
dukeleto i think i have code that generates the code needed by filter-branch 23:18
whiteknight bacek_at_work: thanks, that's what I thought. BLocked 23:20
I assumed it was spam because of the links, but I wanted somebody who could actually read it to confirm
23:30 theory joined 23:49 dmalcolm left 23:51 theory left
cotto seen chromatic 23:58
aloha chromatic was last seen in #parrot 21 hours 16 mins ago saying "msg kid51 anything Rakudo related.".
kid51 bacek_at_work: On trac.parrot.org/parrot/wiki/LoritoRoadmap, there is a link to this page about PIRATE: github.com/bacek/pir ... 23:59
... but I'm getting "That page doesn't exist!" there.