Camelia, the Perl 6 bug

IRC log for #parrot, 2009-04-06

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:07 TiMBuS joined #parrot
00:08 acajou joined #parrot
00:09 AndyA joined #parrot
00:13 contingencyplan joined #parrot
00:54 GeJ_ Good morning everyone
00:54 Infinoid morning GeJ_
01:14 amoc joined #parrot
02:00 Theory joined #parrot
02:05 jan joined #parrot
02:26 rdice joined #parrot
02:41 janus joined #parrot
02:43 bacek_ joined #parrot
03:13 TiMBuS joined #parrot
03:16 tetragon joined #parrot
03:34 Tene joined #parrot
03:35 dalek parrot: r37918 | petdance++ | trunk/compilers/imcc/pbc.c:
03:35 dalek parrot: random consting
03:35 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37918/
03:42 dalek parrot: r37919 | petdance++ | trunk/compilers/imcc/pbc.c:
03:42 dalek parrot: removed some extraneous code for dealing with nam->color
03:42 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37919/
03:55 dalek parrot: r37920 | petdance++ | trunk/compilers/imcc/pbc.c:
03:55 dalek parrot: more consting
03:55 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37920/
04:04 cotto What's the advantage of the consting that petdance is doing?
04:05 tuxdna joined #parrot
04:06 cotto Is it just to prevent possible typos and misuses of variables, or is there more to it?
04:09 GeJ optimization? by consting a variable that you know won't change, you can instruct the compiler to do some optimization?
04:09 GeJ but that's just an uninformed guess.
05:15 amoc joined #parrot
05:20 dalek parrot: r37921 | petdance++ | trunk/compilers/imcc/pbc.c:
05:20 dalek parrot: hoisted some convoluted dereferences
05:20 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37921/
05:41 Theory joined #parrot
07:03 masak joined #parrot
07:19 iblechbot joined #parrot
07:48 baest joined #parrot
07:56 jan joined #parrot
08:01 TiMBuS joined #parrot
08:34 tuxdna joined #parrot
08:37 cognominal joined #parrot
09:05 cognominal joined #parrot
10:03 Fayland_logger joined #parrot
10:32 gaz joined #parrot
11:46 dalek rakudo: a04f610 | (Moritz Lenz)++ | build/Makefile.in:
11:46 dalek rakudo: insert newline in Makefile.in, as suggested on p6c
11:46 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​04f610fb3f6f77429bb7a35ed1613eda8900951
11:46 shorten dalek's url is at http://xrl.us/benzq7
12:26 iblechbot joined #parrot
12:35 gryphon joined #parrot
13:06 * Coke skips review.
13:13 donaldh joined #parrot
13:21 * Coke wonders why the make codetest smoke is failing.
13:22 Util joined #parrot
13:27 Tene_ joined #parrot
13:38 iblechbot_ joined #parrot
13:45 riffraff joined #parrot
14:00 acajou left #parrot
14:13 davidfetter joined #parrot
14:14 Andy joined #parrot
14:19 Infinoid Coke: (skip review) Does that mean you missed http://nopaste.snit.ch/16115?
14:26 Coke Yes.
14:27 Coke I talked to kjs - he's not going to have tuits soon; if you want to go ahead and apply that, that would be great. =-)
14:27 Coke I had just gotten myself to the point where I was going to have to deal with all the 'make headerizer' warnings, which are beyond my level of C.
14:30 pjcj joined #parrot
14:33 Coke so if you add that in, awesome. =-)
14:33 Coke I /might/ be able to use the changes you made there to update the pirc fils
14:34 Infinoid Can do.  I made some minor changes since then, headerizer is *really* picky about having functions' opening curly braces on their own lines, and I missed a few
14:35 Infinoid (I don't particularly like that coding standard, but consistency is more important than appealing to my tastes.)
14:36 Coke ditto. (I don't agree with all the coding std policies)
14:36 * Infinoid uploads AI::Evolve::Befunge 0.03 to CPAN and comes back to parroty things
14:38 * davidfetter wonders whether Infinoid is 5 days late
14:41 Coke I just checked, an earlier version is alreday there.
14:41 davidfetter eek
14:43 dalek rakudo: e83b2b8 | (Carl Masak)++ | src/ (2 files):
14:43 dalek rakudo: implemented IO.ins
14:43 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​83b2b8196eb091fde20ecd06c3b859bf2dfb85a
14:44 shorten dalek's url is at http://xrl.us/benz4p
14:46 Infinoid 5 days late to what?
14:46 davidfetter well, it's april 6 here
14:51 Infinoid Ah.  Well, this is a serious project :)
14:51 * Infinoid makes sure pirc still builds
14:54 Infinoid Still fails tests, but doesn't fail any new ones.
14:54 dalek parrot: r37922 | Infinoid++ | trunk (3 files):
14:54 dalek parrot: [cage] Headerize compilers/pirc/src/bcgen.c.
14:54 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37922/
15:04 dalek parrot: r37923 | coke++ | trunk/compilers/pirc/src/bcgen.c:
15:04 dalek parrot: [t/docs] fix pod-o, add doc stub, rerun through headerizer.
15:04 dalek parrot: Infinoid++
15:04 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37923/
15:08 Coke Infinoid: best we can hope for. =-)
15:09 Coke hopefully once we headerizer everything, we can turn it on to build all the time.
15:09 Theory joined #parrot
15:09 Infinoid And then we can start seriously thinking about *using* it :)
15:12 Coke Infinoid: did you find docs for what, say, ARGMOD means?
15:12 Infinoid Yeah, those are in c_functions.pod in docs/dev/ iirc
15:13 Coke Infinoid++
15:13 Infinoid however, pirc is *very* well consted, so it was fairly trivial to figure out which ones were ARGIN vs. ARGMOD
15:14 Coke const implies IN ?
15:14 Infinoid yes.
15:15 Infinoid I had to add a few NULLOKs after the fact to get tests passing, and I don't know how many of those are left... but better test coverage would reassure me of that
15:16 Coke ah, so you added those like I would have. =-)
15:16 Coke rather than by analyzing the code to see.
15:17 Infinoid well, I gave the functions a quick once-over, but all of that is best-effort unless I took the time to fully understand PIRC (which I haven't)
15:17 Santtu joined #parrot
15:17 Infinoid I had the same issue when adding the ASSERT_ARGS stuff to Parrot.
15:18 Infinoid Good test coverage is the only way to be sure we've gotten that right :)
15:19 cognominal joined #parrot
15:20 Infinoid A quick rule of thumb is, if you see the argument being tested with an if() statement, it's NULLOK.  If you see it being deferenced without a check, it's definitely not NULLOK
15:20 donaldh joined #parrot
15:22 dalek rakudo: 8f4dc52 | pmichaud++ | docs/spectest-progress.csv:
15:22 dalek rakudo: spectest-progress.csv update: 349 files, 8436 passing, 0 failing
15:22 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​f4dc52a68fdc38dbd2ca675de00943f8a789998
15:22 shorten dalek's url is at http://xrl.us/benz96
15:43 * Coke tries to figure out how to add UNUSED() to something. it seems to want ARGIN /too/
15:43 Infinoid You might want SHIM().  I think UNUSED() goes in the function body, not the arguments list
15:44 Coke SHIM means never used. UNUSED means not used yet.
15:44 Tene joined #parrot
15:44 Coke since I don't know pirc, I figured I'd assume the latter.
15:44 Coke (function just returns NULL right now)
15:45 Infinoid ok.  looking at other parrot sources, it looks like UNUSED is mainly used for local variables, not args
15:45 Coke ah, right.
15:46 Infinoid even though the example in c_functions.pod is clearly using it for an argument
15:46 Infinoid So don't listen to me.
15:51 particle i wonder if that example is wrong
15:52 Infinoid I imagine it's useful for arguments too.  I'm just not sure how the distinction of "never used" vs "not used yet" helps
15:53 Infinoid I mean, should I feel guilty when I change SHIM_INTERP to PARROT_INTERP?  (I've done that before.)
15:58 Psyche^ joined #parrot
15:58 particle no, you shouldn't
15:59 particle the idea with SHIM_INTERP was that all macros should take an interp param
15:59 particle s/macros/functions/
15:59 particle macros, too.
15:59 * particle still has weekend-itis
16:05 Whiteknight joined #parrot
16:08 cognominal joined #parrot
16:14 Infinoid Weekends need to be longer.  I wonder if someone's already opened a TT# for that
16:17 shucho joined #parrot
16:33 * Coke sees http://www.h-online.com/open/What-hap​pens-at-a-hackathon--/features/112997 from perlbuzz++
16:36 Coke Infinoid: ok. I am now failing ASSERT_ARGS on one of the functions I'm trying to headerize.
16:39 Coke also, headerizer isn't catching all my functions. hurm.
16:49 Infinoid (headerizer not catching all functions) Make sure the opening curly brace is on it's own line, it (sometimes) ignores functions otherwise
16:50 Infinoid (failing ASSERT_ARGS) nopaste your current patch?
16:50 Infinoid s/it's/its/
16:51 Coke Infinoid: moment.
16:51 particle does anyone else remember reading something about 5.8 not getting any new features?
16:52 moritz I did
16:52 moritz in the release announcement for 5.8.9
16:52 particle fab.
16:53 darbelo joined #parrot
16:55 Coke particle: rejecting a SOC proposal?
16:55 particle adding weight to moritz++'s comments on one
16:55 moritz particle++
16:55 Coke Infinoid: first I fixed the rest of the functions to get headerized, then fixed the warnings there... now no test failures.
16:56 Coke Infinoid++
16:56 moritz I had a chat with Nicholas about that proposal
16:56 particle and he's not interested, i imagine
16:56 Infinoid Coke: cool.
16:57 moritz particle: "not interested" is too strong, but he's not convinved of the usefulness, and would have no time to mentor it anyway
16:57 particle does devel::declare allow you to create new ops?
16:57 particle ~~ seems like a no-go in 5.8
16:58 Coke I imagine chromatic might have a thing to say about making the 5.8 line shinier.
16:58 Coke Infinoid: whoops, need to rerun codetest, fix a few things up, but looks promising.
16:58 particle UPGRADE OR DIE</chromatic>
16:59 particle and i agree.
16:59 Coke you need a semicolon there. =-)
16:59 moritz I'd also like to know hoe accessible Devel::Declare is
17:00 moritz for somebody who knows perl, but not all the gory details of the core
17:00 moritz the student doesn't seem to have any experience with it
17:03 particle yeah, and somebody forgot to document it
17:04 moritz my first impression of this proposal was "wow, this is a cool idea". But I don't think it's useful
17:07 particle my first impression was "hasn't perl 6 been backported far enough already?"
17:09 Coke without an anti-chromatic to support it internally, I don't think it'd last past the summer.
17:10 donaldh left #parrot
17:11 gryphon joined #parrot
17:13 dalek parrot: r37924 | coke++ | trunk (3 files):
17:13 dalek parrot: [cage] headerize compilers/pirc/src/pircapi
17:13 dalek parrot: Infinoid++
17:13 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37924/
17:24 rdice joined #parrot
17:24 darbelo joined #parrot
17:30 acajou joined #parrot
17:59 barney joined #parrot
18:03 dalek parrot: r37925 | coke++ | trunk (6 files):
18:03 dalek parrot: [cage] headerize compilers/pirc/src/pirop compilers/pirc/src/pirerr
18:03 dalek parrot: (pass an additional test in t/codingstd/c_function_docs.t)
18:03 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37925/
18:03 dalek parrot: r37926 | coke++ | trunk/docs/dev/c_functions.pod:
18:03 dalek parrot: [docs] its vs it's
18:03 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37926/
18:10 dalek parrot: r37927 | coke++ | trunk/config/gen/makefiles/pirc.in:
18:10 dalek parrot: [t] These files are already pod-checked via 'make codetest'
18:10 dalek parrot: remove duplicate check here.
18:10 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37927/
18:12 cotto coke++ #apostrophe policing
18:17 cognominal joined #parrot
18:24 Whiteknight particle: are the proposals posted anywhere?
18:28 Coke if you're a mentor, yes.
18:29 Coke http://socghop.appspot.com/org/list​_proposals/google/gsoc2009/dukeleto
18:29 shorten Coke's url is at http://xrl.us/ben2xx
18:29 Whiteknight I'd be happy to be a mentor if an extra one was needed. I'm sure I've missed whatever signup was needed though
18:30 Whiteknight I've been very far out of the loop lately
18:33 Coke who "owns" 5.8?
18:33 Coke rafael?
18:33 purl rafael is probably known as rgs
18:33 particle nick
18:34 particle iirc
18:34 particle yep, he did the 5.8.9 release
18:34 Coke danke.
18:36 Whiteknight particle: Does gsoc need any help this year?
18:37 Whiteknight I've got a large tuit debt that I need to start paying down
18:37 particle always!  if you're interested in mentoring, i'll get you set up.
18:38 Coke particle: <STAGE WHISPER>you should make him merge the GC GSOC branch to trunk first. </>
18:38 * Coke whistles innocently.
18:40 * particle finds a student proposal that has that as a prereq ;)
18:40 Whiteknight Coke, that branch is nowhere near ready to merge, and trunk has developed so much since last summer that any attempt would be a disaster
18:40 Whiteknight we learned a lot from it though, and that's the important thing
18:41 Coke OOC, did that knowledge get written up?
18:42 Coke (i don't really know anything about GC, so that's not a snarky question, I promise.)
18:42 particle snark factor five, mister cola.
18:44 Coke ok, it's not /intended/ as snarky.
18:45 Coke I realize that given my history it's hard to tell. =-)
18:48 Whiteknight Coke, It's an issue that hasn't been forgotten, I assure you
18:48 Coke I just figure if the lessons are written down, then someone else can pick up the task if it's shiny for them.
18:48 Coke I am fairly certain that person won't be me.
18:50 Whiteknight I keep hoping that person will be me
18:50 Whiteknight But last time I tried, I wasn't a good enough programmer to make it work, so we will see
18:50 Coke low bus number bad.
18:54 Whiteknight a lot of the lessons learned were similar to Edison's "twenty thousand ways how not to make a lightbulb" lessons
18:55 Whiteknight although I doubt we've made 20,000 attempts at a damn GC
18:55 Whiteknight plus I think chromatic would have a stroke if I coded so aimlessly
18:57 particle that sounds like a fun challenge.
18:59 Whiteknight When Google starts a "lifetime of code" program, we'll put that in as a suggestion
19:00 cotto So instead of using a fuzzer to find bugs, we should be using it to write a GC?
19:01 particle i'm curious about fuzzing with ulimit
19:02 cotto The library (fusil) does a good job of running Parrot in a limited environment so it can't do much damage.
19:03 particle but can you control that environment, to limit the data segment size, or number of procs/threads
19:04 particle i guess that there's limited application for fuzzing and constrained operating environments
19:04 particle these are usually tested separately
19:05 cotto I haven't looked into how configurable it is.
19:06 particle 's great to have fuzzing, anyway.  i don't think i've expressed that in karma until now: cotto++
19:23 Infinoid fuzzing?
19:23 purl fuzzing is probably supplying intentionally malformed data into an application to detect vulnerabilities in the application's parsing of said data.
19:23 Infinoid ah.
19:37 cotto In that sense I'm not really fuzzing.  tools/dev/parrot-fuzzer basically uses a rng to write short snippets of PIR, hoping to find something that explodes.
19:37 cotto There usually isn't anything malformed about it.
19:39 Infinoid in this case, there's probably a lot more space to look for semantic bugs than syntactic ones
19:39 Infinoid Sounds awesome.
19:39 cotto Feel free to play along at home.
19:40 cotto BTW Infinoid, I'm checking what you could do to help with TT #519.
19:40 * Infinoid is spending all his free cpu cycles generating random befunge code, hoping to evolve skynet
19:42 luca joined #parrot
19:42 luca I can't build parrot on xubuntu
19:42 Infinoid What's the error?
19:42 purl Infinoid: .lib section in a.out corrupted
19:43 cotto Figuring out TT #365 (which is related) would be really nice.  I've looked several times but haven't figured out what code is looking at PMC_struct_val.
19:43 cotto What's the error?
19:43 purl cotto: Disk quota exceeded
19:43 cotto What's the error?
19:43 purl cotto: Structure needs cleaning
19:43 luca compilation failed with cc
19:43 Infinoid cotto: How do you detect it?  Got a test case?
19:44 Infinoid luca, can you copypaste the whole error onto http://nopaste.snit.ch for us?
19:44 luca yes
19:44 luca one moment
19:44 Infinoid everything leading up to that, please
19:44 Infinoid thanks
19:44 Infinoid cotto: do you know if it's trying to write to PMC_struct_val, or just read from it?  if it's being rewritten, a gdb watchpoint might work
19:44 cotto luca, you can also use tools/dev/nopaste.pl
19:45 cotto Infinoid, I don't think it's writing, but it's definitely reading.
19:45 Infinoid Unfortunately I'm on x86-64, so I don't normally see much jit in action
19:45 Infinoid I've got some other boxes I can appropriate for the purposes of tracking this down tho
19:46 * Infinoid updates his parrot
19:46 Infinoid Coke++ # you've been busy today!
19:49 nopaste "luca" at 78.12.64.248 pasted "configure error on XUBUNTU" (14 lines) at http://nopaste.snit.ch/16146
19:49 Infinoid Have you installed the "build-essential" package?
19:50 luca well
19:50 luca i have gcc
19:50 luca i have make
19:50 luca i have yacc
19:50 luca i have perl
19:50 luca what else do i need?
19:50 luca ah obviously make
19:50 Infinoid you have make, you just said :)
19:51 Infinoid you'd probably need -dev packages installed for any libraries you want to link with, like gcc
19:51 Infinoid I think build-essential should cover all of that, though.
19:51 Infinoid uh, s/gcc/glibc/
19:51 luca i am going with build-essential
19:51 Infinoid Does a simple "hello world" c program compile successfully?  I think that's all the failing configure step is doing
19:52 particle isn't there a guide for ...oh, it's packaging... on ubuntu
19:52 particle i bet that has the required packages, though
19:52 luca no
19:52 luca it was because of that package missing
19:52 luca configure now it's going
19:52 luca thanks infinoid
19:52 Infinoid np, let us know how the build goes :)
19:53 * acajou was prompted to try to build Rakudo (& Parrot) for the first time by luca...  build ongoing (Kubuntu 8.04.2).
19:53 luca left #parrot
19:54 particle pmichaud uses kubuntu to run parrot, and develop rakudo
19:56 acajou Ah, so I shouldn't expect hiccups...  Indeed.  make test reports all tests successful.
19:59 particle yay
19:59 acajou Is "./perl6 -V" *supposed* to work?
19:59 particle i don't think that's been implemented yet
20:00 * acajou nods.
20:00 particle ./perl6 --help
20:00 particle or did i put a longname on that option?  maybe it's just -h
20:00 * acajou can't believe he has Perl6 on his machine!
20:00 particle :)
20:01 particle now you should play with it!
20:01 acajou I remember reading the first few apocalypses and being all excited...
20:01 acajou --help works
20:01 particle http://perlgeek.de/blog-en/perl-5-to-6/
20:02 particle http://rakudo.org has some good content, too
20:06 acajou I imagine/hope there'll be a "Programming Perl6" book...
20:06 particle i expect there will be more than one :)
20:06 Infinoid Hopefully not one per implementation of perl6
20:07 acajou Is Rakudo going to be the "official" Perl or not?
20:07 * acajou is still getting used to the idea of multiple implementations...
20:07 Infinoid The "official" perl is defined as "any implementation that passes The Enormous Perl6 Test Suite"
20:07 acajou :)
20:07 Infinoid I think
20:08 pmichaud There's no such thing as an "official Perl 6"
20:09 Infinoid how relatively complete are the various implementations, pm?
20:09 particle see http://perlcabal.org/syn/S01.html#Project_Plan
20:09 pmichaud From Synopsis 1:  "What we can say here is that, unlike how it was with
20:09 pmichaud Perl 5, none of these projects is designed to be the Official Perl.
20:09 pmichaud Perl 6 is anything that passes the official test suite."
20:10 * acajou wodners if that might create a PR "issue" - when do you tell the world "Perl 6 goes 1.0!"?
20:10 pmichaud it's hard to judge relative completion.  Arguably Rakudo is the most complete and up-to-date of the available implementations.
20:10 Infinoid Rakudo has been making great and very consistent progress, too
20:10 Coke acajou: i suspect it's going to be "perl 6.0 rakudo 1.0"
20:11 Coke changes in perl6 version mean changes to the spec, IIUI.
20:11 Coke er, AIUI.
20:11 Infinoid acajou: I guess you'd say that when one implementation passes 100% of the test suite
20:11 nopaste "pmichaud" at 72.181.176.220 pasted "Current rakudo spectest progress, 2009-04-06" (17 lines) at http://nopaste.snit.ch/16149
20:12 pmichaud The "pass" column says how many tests we pass.  The "spec" column indicates how many tests are in the suite.
20:12 pmichaud (the others indicate the various ways in which we fail or skip tests)
20:12 particle not enough, on both counts
20:14 acajou That's just a text version of the graph at http://www.rakudo.org/status right?
20:14 pmichaud yes, but it's broken out by synopsis
20:14 acajou Right.
20:14 pmichaud the graph only shows the "Total" line.
20:15 Infinoid What's the "spec" column?
20:16 particle #tests in spec test suite
20:16 * Coke guesses total # of spec tests.
20:16 pmichaud The total number of tests in the sui.... what we all said :-)
20:16 pmichaud It's an estimate derived from the 'plan' lines of each test file.
20:16 dalek parrot: r37928 | coke++ | trunk/ports/macports/Portfile:
20:16 dalek parrot: [ports] update macport for 1.0.0 to install the dev tools by default.
20:16 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37928/
20:16 acajou BTW, the progress on the graph is impressive.  Gives outsiders (like me) a pretty good impression.
20:17 pmichaud thanks.  I like measurable project.
20:17 pmichaud measurable progress.
20:18 particle 319 days in that graph range
20:18 particle 8436/319
20:18 purl 26.4451410658307
20:19 moritz 8436/319*30
20:19 purl 793.354231974922
20:19 Infinoid So in not even a full year, the number of tests more than quadrupled
20:19 Infinoid talk about a moving target...
20:19 particle average 26 passing spectests per day
20:20 acajou Hey, so project out to 16k to get the release date! ;)
20:20 particle ...or ~800 per month
20:20 particle that's where it stops being linear.
20:20 particle unless our number of workers grows exponentially
20:21 moritz at some point, when there aren't enough new tests in the test suite, we'll see a phase transition
20:21 particle i'll be writing (mostly failing) S19 tests soon
20:22 acajou Excuse my noobness, but I don't see a S19 on the synopses page...?
20:22 particle which synopses page? it's here: http://perlcabal.org/syn/
20:22 tuxdna joined #parrot
20:23 acajou Ah, google led me to http://dev.perl.org/perl6/doc/synopsis.html
20:23 particle yikes, that's olden.
20:24 Coke need to put in redirects in those files, or make the svn external smarter.
20:25 Coke I opened a macport ticket for that update.
20:25 acajou the url (dev.perl.org/perl6) leads one to expect pretty official docs...
20:27 moritz acajou: yes, but it's totally outdated
20:27 moritz like half of the Perl 6 websites :(
20:28 acajou Thanks for pointing me in the right direction.
20:28 Coke the perl6/doc/synopsis.html file uses http://svn.perl.org/perl6/doc/trunk/design/syn for the behind the scenes stuff.
20:29 moritz which hasn't been in use for... what? half a year?
20:29 Coke $ svn pg svn:externals
20:29 Coke design http://svn.perl.org/perl6/doc/trunk/design/
20:30 Coke so tell me what that /should/ be?
20:30 Coke (that design dir contains apo/syn/exe)
20:32 particle i don't think the apo/exe have been moved to the pugs repo
20:32 particle since they're strictly historical now
20:35 pmichaud synopsis.html should likely forward to the perlcabal.org/syn address (as it does in the left sidebar)
20:36 Coke where should the APO/EXE files redirect to?
20:36 pmichaud I think they continue to live on dev.perl.org
20:37 moritz yes
20:37 moritz they aren't updated anymore, so no need to make them more accessible
20:38 Coke I just don't want to break the links.
20:38 cotto pmichaud, is there any reason rakudo doesn't use -j for make when using --gen-parrot?
20:38 pmichaud cotto: do all make's support -j ?
20:38 cotto good question
20:38 purl Yeah, it is. I'm stumped.
20:39 Coke nmake doesn't use it. not sure if it errors on it.
20:39 pmichaud anyway, that would be why.  In general I tend to make pessimistic assumptions about availability of special options like that.
20:39 particle NO
20:39 particle nmake doesn't support -j :(
20:40 Coke resend: "nmake doesn't use it. not sure if it errors on it."
20:40 particle NMAKE : fatal error U1065: invalid option 'j'
20:40 Coke so, it errors, is what you're saying?
20:41 Coke danke.
20:41 pmichaud afk for a bit
20:58 iblechbot joined #parrot
20:58 Maddingue joined #parrot
20:58 dalek joined #parrot
20:58 elmex joined #parrot
21:00 Coke anyone building against an installed parrot with dynops?
21:01 davidfetter joined #parrot
21:02 Coke parrot_config lies. :|
21:02 Coke ./parrot_config libparrot_ldflags # shows the BUILD path.
21:03 Coke (*#&$
21:07 particle installed head, or installed 1.0.0?
21:08 bsdz joined #parrot
21:14 Coke installed 1.0.0
21:39 bsdz pmichaud: hi you around?
21:46 Infinoid Who's a good person to talk to about jit architectural issues?
21:46 Infinoid Hmm.  By architectural I mean "design", not "porting"
21:48 Infinoid Santtu++ has been working on his selinux/non-executable jit buffer issue (TT #18), and has decided to make a JitCode PMC which stores off the necessary extra data and calls the right free() function
21:49 Infinoid As opposed to the current code which uses ManagedStruct (and as an alternative to a patch I cooked up to hack custom free function pointers into ManagedStruct, which didn't quite work)
21:53 cotto I think tewk knows the jit code well.
21:53 bsdz also i recall japhb saying he worked on it. might have only been for opengl though.
21:55 japhb huh-what
21:55 jan joined #parrot
21:55 japhb ?
21:55 bsdz nci jit
21:55 purl i guess nci jit is broken, even on Linux i386.  It claims to work, and then does the wrong thing
21:56 japhb ah, I see ...
21:56 japhb I've worked *with* the NCI JIT, not *on* it.
21:56 bsdz ah sorry - oops
21:56 japhb Oh, and while we're doing prepositions, I've argued *over* its design.  ;-)
21:58 schinkelm joined #parrot
21:59 schinkelm joined #parrot
21:59 bsdz i must admit i've not looked closely at the nci jit internals but is suspect to handle dynamic function pointers with arbitrary arguments one has to do some cool trickery with the i386 stack. you know throw a load of pointers etc then do a jmp. i'm probably dreaming though.
22:17 cotto Infinoid, TT #519 is solved.  I just need to run make test and commit.  Any effort you could throw at TT #365 would be appreciated.
22:17 kid51 joined #parrot
22:17 Infinoid I'll try to look at it when I get home, but I'm not really sure where to start
22:20 cotto Some code somewhere is running PMC_struct_val(x) as a function when it should be using an ATTR.
22:21 cotto I'm reasonably sure it's in the jit code, but I don't see any likely suspects.
22:21 cotto s/don't/didn't/
22:22 Infinoid I suppose I can try h4x0ring PMC_struct_val to crash loudly for ManagedStruct PMCs
22:22 Infinoid But I seem to recall you already did that.
22:24 Infinoid Anyway, if you can't find it by grepping, it seems likely that some jit code is assuming internal layout details of the PMC structure and just using some simple pointer+offset code
22:26 Infinoid A gdb read watch (or awatch or whatever it's called) would be more useful for that, I think
22:27 Infinoid Are there any simple examples that reproduce it without creating thousands of ManagedStructs in the process?
22:29 cotto Let me find out.
22:31 dalek parrot: r37929 | cotto++ | trunk/tools/dev/parrot-fuzzer:
22:31 dalek parrot: [fuzzer] add frequently-segfaulting-when-misused Packfile-related PMCs to blacklist
22:31 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37929/
22:31 cotto just need to get this commit done
22:31 Infinoid I get to go home in half an hour, and then I can start digging into this stuff
22:32 Infinoid Ohnoes, you're beating up my poor half-written Packfile PMCs? :)
22:35 Aisling joined #parrot
22:35 cotto The fuzzer is.
22:36 Infinoid Guess I'd better fix them at some point
22:38 dalek parrot: r37930 | cotto++ | trunk (6 files):
22:38 dalek parrot: [PMC] use an ATTR for *ManagedStruct's struct pointer
22:38 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37930/
22:49 cotto aliasing maek to make doesn't get old
22:49 Infinoid hehe
22:49 Infinoid mkae is more common here
22:51 dalek parrot: r37931 | jkeenan++ | trunk/lib/Parrot/OpsRenumber.pm:
22:51 dalek parrot: Eliminate a commented-out 'use' statement.
22:51 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37931/
22:51 dalek parrot: r37932 | jkeenan++ | trunk/tools/dev/opsrenumber.pl:
22:51 dalek parrot: Update documentation to reflect fact that program no longer behaves differently post-1.0 from pre-1.0.
22:51 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37932/
22:52 cotto I'm seeing lots of nice segfaults when I remove the workaround in TT #365.  I'll nopaste one when I find a nice minimal example.
22:55 Infinoid That sounds promising :)
22:56 Infinoid msg tewk Could you review Santtu's patches in TT #18?  Rather than hacking up ManagedStruct to play around with custom free() pointers, he's decided to add a minimal JitCode pmc which DTRT and very little else.  Seems cleaner to me, does it seem sane to you?
22:56 purl Message for tewk stored.
22:57 cotto found one, although I don't know why nci is even involved.
22:58 nopaste "cotto" at 96.26.202.243 pasted "minimal crashy test case for TT #365" (9 lines) at http://nopaste.snit.ch/16155
22:59 cotto crashes without the workaround, works fine with
22:59 mikehh joined #parrot
23:00 Infinoid yay, home time.  back in 15m!
23:01 karatorian joined #parrot
23:03 karatorian How come when I set stdin to unbuffered, it still acts as though it's line buffered?
23:04 mikehh kid51: you around
23:07 mikehh I just got some interesting results running atan against the jit core on Kubuntu Intrepid i386
23:08 ruoso joined #parrot
23:08 mikehh TT =530 my latest comment
23:09 mikehh TT #530 my latest comment
23:10 mikehh I don't know if yhe latest changes to jit would have an eddect it was agaibst r37921
23:11 mikehh I *HATE* this keyboard
23:12 cotto karatorian, it might be a bug.
23:14 cotto Do you have enough information to file a tt?
23:21 karatorian What's a tt?
23:21 purl a tt is, like, template toolkit or http://www.template-toolkit.org/ or #tt or usually n0t Text::Template
23:21 cotto a ticket on Parrot's Trac instance
23:22 mikehh Trac Ticket
23:22 purl Trac Ticket is good
23:22 cotto https://trac.parrot.org/parrot/report/1
23:22 karatorian Oh, thanks.
23:23 * kid51 looks up from keyboard and sees mikehh's posts
23:25 kid51 mikehh:  'interesting' results?  I'd say:  weird!
23:27 mikehh kid51: Yes - Very!!!
23:28 kid51 Gimme a couple of minutes to see if I can reproduce.
23:29 Whiteknight joined #parrot
23:30 rg joined #parrot
23:30 amoc joined #parrot
23:30 mikehh I think it might be a timing problem on this particulat machine - it gives the occasional wierd result - but it is consistent
23:32 mikehh I've had ssome differences when running on AMD64 that no one else seems to get
23:33 kid51 mikehh:  The OS/platform you were running on was ...?
23:33 mikehh Kubuntu Intrepid i386
23:33 kid51 Strange, because I get all tests passing.
23:34 mikehh with gcc 4.3.3
23:35 Infinoid argh.  I keep forgetting I can't reproduce jit issues on x86-64.
23:36 mikehh I get all the other tests passing - just having problems with that one - and why I find very confusing
23:37 nopaste "kid51" at 71.247.54.220 pasted "trans13.pasm passing all on Linux/i386" (40 lines) at http://nopaste.snit.ch/16157
23:38 mikehh I also can't find anyone else with the same problem
23:40 kid51 Was this the hand-compiled gcc 4.3.3 you mentioned a couple of days ago?
23:40 * kid51 had disastrous results hand-compiling gcc (on Darwin) a couple of years back
23:44 kid51 My test was at r 37932 (but I doubt that anything changed in the past 12 commits)
23:44 tetragon joined #parrot
23:44 nopaste "mikehh" at 90.206.38.51 pasted "myconfig" (23 lines) at http://nopaste.snit.ch/16158
23:45 * kid51 must start to prepare dinner
23:51 TiMBuS joined #parrot
23:58 ruoso joined #parrot

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced