|
Parrot 1.1.0 Released | parrot.org/ | 310 RTs left | Weekly Priority: Apply Patches, Fix Bugs, Close Tickets Set by moderator on 17 May 2009. |
|||
| he | Hm, anyone know if rakudo is known to fail some of its spectests? | 00:00 | |
| Infinoid | he: Yes. There's a spectest_regression target which only runs the things it's expected to pass | ||
| he | (took 2h to run..., and there are 4-5 failures) | ||
| Infinoid | That's not bad, actually | 00:01 | |
| hmm, I might be misunderstanding spectest/spectest_regression slightly. "make help" says spectest is the one you want, and doesn't mention spectest_regression at all | 00:02 | ||
| nopaste | "he" at 158.38.152.119 pasted "rakudo spectest summary report on NetBSD/i386 4.0" (12 lines) at nopaste.snit.ch/16582 | ||
| Infinoid copies that to freenode/#perl6 | 00:04 | ||
|
00:09
bacek_ joined
|
|||
| Whiteknight | okay, that code doesn't even work | 00:20 | |
| so now I'm stumped | |||
|
00:23
tetragon joined
|
|||
| Infinoid | is it even Class, or just Object? | 00:24 | |
| I've got an instance of a pir class in gdb here | 00:28 | ||
| (gdb) print pmc->vtable->base_type | |||
| $2 = 52 | |||
| (gdb) print pmc->vtable->pmc_class->vtable->base_type | |||
| $4 = 52 | |||
| include/parrot/core_pmcs.h | |||
| 64: enum_class_Object, /* 52 */ | |||
| (no, I don't know why the class isn't a Class. But I think most/all actual PMC instances should be something else, so it might still be useful) | 00:31 | ||
| Whiteknight | it's an object | 00:51 | |
| specifically, I'm trying to figure out if it's an ExceptionHandler, or a PIR subclass of an ExceptionHandler | 00:52 | ||
| dalek | rrot: r38884 | whiteknight++ | trunk/src/exceptions.c: [core] a small partial hack-fix for TT #154. we can now use PIR-defined objects that are subclassed from ExceptionHandlers. However I'm sure that this solution is not very robust. It's just a start. |
01:11 | |
|
01:17
kid51 joined
|
|||
| moderator | Parrot 1.1.0 Released | parrot.org/ | 308 RTs left | Weekly Priority: Apply Patches, Fix Bugs, Close Tickets | ||
|
02:01
Theory joined
02:04
eternaleye joined
02:09
eternaleye joined
|
|||
| Coke | Infinoid: should you be checking /base_type/ and not whatever 'actual type' is? | 02:09 | |
| Infinoid | No idea, I was just trying to figure out what Whiteknight was talking about | 02:10 | |
| Coke | ISTR there were two slots. I can't find the struct def to check, though. :P | 02:11 | |
| Infinoid | That may explain it | 02:12 | |
| "type" is a function pointer, and I don't see anything better | 02:13 | ||
| Though I don't see why we couldn't have a VTABLE_IS_PIR_CLASS bit in flags. | 02:14 | ||
| or maybe invert that to VTABLE_IS_CORE_CLASS, so we don't cause confusion between pir and hlls | 02:15 | ||
| hmm, s/CORE/PMC/ # dynpmcs aren't core but they are C | |||
| dalek | rrot: r38885 | coke++ | trunk/t/examples/streams.t: [t] Pass the streams test again; |
02:16 | |
| rdinal: 08f0f9f | tene++ | cardinal.pir: Add a fetch-library method to the compiler for inter-language library loading. |
02:44 | ||
|
02:48
janus joined
02:58
s1n joined
|
|||
| s1n | who should i speak with concerning the CLA? Coke, particle? | 02:58 | |
|
02:59
wayland76 joined
|
|||
| wayland76 | Anyone else want to test trac.parrot.org/parrot/ticket/426 ? | 03:00 | |
| cotto | Whiteknight++ #good and better news | 03:11 | |
| s1n, what's your question? | 03:12 | ||
| (attempting content-based dispatch ;) | 03:13 | ||
| s1n | cotto: i don't understand the whole 'employer' bits. i'm not even sure which question to ask, just what it is saying concerning employer/employee relations | 03:15 | |
| Tene | s1n: in my understanding, it's your employer saying "I assert that I don't own any code my employee contributes to Parrot" | 03:17 | |
| cotto | It's only relevant if you're writing code that your employer would otherwise have some claim over, i.e. contributing code written at work. (IANAL, this is my understanding) | 03:18 | |
| Tene | Right. | ||
| s1n | so if you don't contribute code from work? | 03:19 | |
| cotto | It depends on local laws and the contract between you and your employer. | ||
|
03:20
donaldh joined
|
|||
| s1n | cotto: if you do this in $freetime, would i need my employer to sign one? | 03:21 | |
| s/you/i/ | |||
| cotto | If your contract says they own what you do in your free time, yes. Otherwise, I don't think so. | 03:22 | |
| Tene | Wow, this is so cool. I'm really excited. A lot. | 03:24 | |
| Lemme paste... | |||
| nopaste | "tene" at 166.70.38.237 pasted "inter-language library loading..." (11 lines) at nopaste.snit.ch/16583 | ||
| wayland76 | That's cool :) | 03:25 | |
| cotto | That's awesome! Tene++ | ||
| now if only Parrot were fast... | 03:26 | ||
| cotto ducks | |||
| s1n | cotto: so the CLA is basically saying all ownership goes to TPF? | 03:31 | |
| dalek | rdinal: 107cc3f | tene++ | (3 files): Add foreign-load function to load libraries from a foreign language. |
03:33 | |
| bacek_ | Wow. Tene++ | 03:48 | |
| Infinoid | s1n: yes, copyright on your contributions is assigned to PaFo | 03:55 | |
| dalek | rdinal: 0ccc552 | tene++ | (72 files): Add support for 'include' and move Test.rb into the Test module. |
||
| Infinoid | purl, CLA? | 03:57 | |
| purl | i think CLA is Contributor License Agreement or www.perlfoundation.org/contributor_..._agreement or www.parrot.org/foundation/legal or www.parrot.org/files/parrot_cla.pdf | ||
|
04:11
petdance joined
|
|||
| GeJ | Hi all, | 04:11 | |
| allison: ping | 04:12 | ||
| allison | GeJ: hi | 04:13 | |
| GeJ | Hi allison, | 04:14 | |
| allison | s1n/Infinoid: no, copyright is not assigned to the foundation | ||
| purl | okay, allison. | ||
| allison | s1n: it's licensed to the foundation, which means you own the copyright, but also give the foundation the right to include it in Parrot | 04:15 | |
| GeJ | FYI, you may have missed an instance of ch09_pasm.pod. I just noticed a failure when make'ing html. Looks like the source of the issue is lib/Parrot/Docs/Section/Parrot.pm line 110. | 04:16 | |
| allison | ah, thanks, I'll clean that up now | ||
| GeJ | you're welcome. | ||
| dalek | rrot: r38886 | allison++ | trunk/lib/Parrot/Docs/Section/Parrot.pm: [book] Cleaning up a stray reference to the removed Chapter 9 on PASM. |
04:21 | |
|
04:44
dukeleto joined
04:55
whoppix joined
|
|||
| dalek | rrot: r38887 | petdance++ | trunk/include/parrot (2 files): added splint directives to not complain about the macros with no effect that are not supposed to have any effect |
04:57 | |
| rrot: r38888 | petdance++ | trunk/src/string/encoding.c: Shimmed an interpreter |
05:00 | ||
| rrot: r38889 | petdance++ | trunk/tools/build/c2str.pl: adding PARROT_OBSERVER flags to generated code tables |
05:07 | ||
| rrot: r38890 | petdance++ | trunk (5 files): startng to annotate functions with PARROT_OBSERVER |
05:36 | ||
|
05:51
uniejo joined
|
|||
| Tene | allison: if I can get a confirmed inter-HLL library loading spec from pmichaud, can I implement it in pynie? | 05:56 | |
| allison | Tene: yes, of course | 05:57 | |
| Tene: I mean, I'll be reviewing the spec anyway | 05:58 | ||
| Tene nods. | |||
| I'm already suspecting that it's Not Good Enough in a few ways... | |||
| but hopefully good enough for now. | |||
| allison | Tene: yeah, I expect we can get something Good Enough(TM) | 05:59 | |
| Tene | I'm thinking it might also need to return the actual namespace itself... to be installed appropriately. | ||
| allison | you mean return the namespace directly instead of a "meta" object that contains the namespace and other info? | 06:00 | |
| Tene | i mean return the namespace as well as the other info | ||
| name => ..., symbols => ..., namespace => ... | |||
| allison | ah, yes | ||
| I was thinking replace symbols with just the namespace | |||
| Tene | use Foo:lang<python>; my Foo $x .= new(); | ||
| allison | there are various ways to do it | ||
| Tene | Can't work with the current scheme. | ||
| allison | the main thing is, getting all the wibbly bits to play well together | 06:01 | |
| Tene | Right. | ||
| allison | Tene: aye, but there are other things already in place that won't work well with the current scheme either, so we have to change one or the other | 06:02 | |
| probably we'll end up changing both a bit and meet somewhere in the middle | |||
| but, as long as it more or less works together in the end, we'll be fine | |||
|
06:56
hiroyuk__ joined
07:07
masak joined
07:21
donaldh joined
07:49
whoppix joined
|
|||
| mikehh | I am still getting failures with t/compilers/imcc/syn/regressions.t (test 14) on most cores in make -k fulltest at r38890 amd64 and i386 | 08:16 | |
|
08:39
Ademan joined
09:09
bacek joined
09:38
bacek joined
|
|||
| Coke | tene++ | 09:40 | |
|
09:58
iblechbot joined
|
|||
| dalek | rrot: r38891 | NotFound++ | trunk/src/pmc/nci.pmc: [core] partial fix for TT #667, examples/namespace/namespace_dump.pir dies politely instead of segfaulting |
10:06 | |
|
10:08
gaz joined
|
|||
| he_ | Infinoid: found this diff still lurking in my NetBSD/alpha 4.0 tree... | 10:12 | |
| nopaste | "he" at 158.38.152.63 pasted "Diff for va_list not a pointer, as on NetBSD/alpha" (22 lines) at nopaste.snit.ch/16585 | ||
|
10:21
bacek joined
|
|||
| dalek | rrot: r38892 | bacek++ | branches/tt504_annotations/t/pmc/packfileannotations.t: Add (failing) tests for PackfileAnnotaions pack. |
11:18 | |
|
11:19
amoc joined
|
|||
| bacek | hi there | 11:20 | |
|
11:20
donaldh joined
|
|||
| dalek | rrot: r38893 | bacek++ | branches/tt504_annotations/src/pmc/packfileannotations.pmc: Reimplement PackfileAnnotations pack. |
11:24 | |
| bacek | Is there C equivalent for std::numeric_limits<double>::epsilon for comparing float values? | 11:48 | |
|
11:49
burmas joined
11:57
particle joined
12:07
particle joined
12:15
rob joined
12:16
ruoso joined
|
|||
| Infinoid | he_: Thanks. TT #647 says HPUX is having the same problem. As long as it doesn't cause any "make codetest" failures, I think this is low-risk enough to get in before the release, so I'll see about getting it in now | 12:31 | |
| dalek | rrot: r38894 | bacek++ | branches/tt504_annotations/t/pmc/packfileconstanttable.t: [t] Add test for PackfileConstantTable.get_or_create_constant |
12:33 | |
| rrot: r38895 | bacek++ | branches/tt504_annotations/t/pmc/packfileconstanttable.t: Add tests for get_or_create_constant(FLOATVAL) |
|||
| rrot: r38896 | bacek++ | branches/tt504_annotations/src/pmc/packfileconstanttable.pmc: Implement get_or_create_constant for STRING* and FLOATVAL. |
|||
| rrot: r38897 | bacek++ | branches/tt504_annotations/t/pmc/packfileannotations.t: [t] Add PackfileAnnotations into Directory first. |
|||
| rrot: r38898 | bacek++ | branches/tt504_annotations/src/pmc/packfileannotations.pmc: Store and pack Annotation.name properly |
|||
| Infinoid | go bacek go! | 12:34 | |
| bacek | Infinoid: one commit more: kill packfileannotationkeys :) | 12:36 | |
| dalek | rrot: r38899 | bacek++ | branches/tt504_annotations/src/pmc/packfileannotations.pmc: Store and pack non integer Annotations properly. |
||
| bacek | Ah. Two more :) | ||
|
12:40
rg joined
|
|||
| dalek | rrot: r38900 | Infinoid++ | trunk/src/call/pcc.c: [pcc] va_list is not always a pointer type; checking it for NULLness breaks the build on some platforms (netbsd/alpha, hpux/ia64). |
12:43 | |
| rrot: r38901 | Infinoid++ | trunk/PLATFORMS: More PLATFORMS updates from he++, the NetBSD pkgsrc maintainer. |
|||
| bacek | *Incoming* | 12:48 | |
| bacek hides | |||
| dalek | rrot: r38902 | bacek++ | branches/tt504_annotations/MANIFEST: Remove removed files from MANIFEST. |
12:53 | |
| rrot: r38903 | bacek++ | branches/tt504_annotations/src/pmc/packfileannotations.pmc: Remove references to PackfileAnnotationKeys from PackfileAnnotations. |
|||
| rrot: r38904 | bacek++ | branches/tt504_annotations/t/pmc/packfileannotations.t: [t] Remove tests for PackfileAnnotationKeys. |
|||
| rrot: r38905 | bacek++ | branches/tt504_annotations/src/pmc/packfileannotationkeys.pmc: Remove PackfileAnnotationKeys.pmc. Finally. |
|||
|
12:54
gryphon joined
|
|||
| bacek | If noone stop me I'll merge branch into trunk in next 8 hours. | 12:56 | |
| Just after some nap | |||
| dalek | rrot: r38906 | bacek++ | branches/tt504_annotations/PBC_COMPAT: Bump PBC_COMPAT as required by spec. |
||
| Infinoid | bacek: we're releasing tomorrow, might be better to wait until after that | 13:00 | |
| bacek | Ah. Ok. | ||
| Infinoid doesn't want to make tewk++'s life any harder | |||
| bacek thinking about evil merge right now :) | 13:01 | ||
| dalek | rrot: r38907 | Infinoid++ | trunk/docs/dev/c_functions.pod: [docs] Mention va_list in the ARGIN/ARGOUT/ARGMOD documentation, as it's not always a pointer type. |
13:04 | |
| rrot: r38908 | fperrad++ | trunk/PLATFORMS: [PLATFORM] |
13:31 | ||
|
13:34
AndyA joined
|
|||
| he_ | Infinoid: NetBSD/shark (arm) 4.0 parrot-current completed its selftests. | 13:35 | |
| Infinoid | he_: Is that little or big endian? | 13:36 | |
| he_ | That's little-endian. | 13:37 | |
| Infinoid | thanks | 13:38 | |
|
13:50
PacoLinux joined
|
|||
| dalek | rrot: r38909 | coke++ | trunk/t/codingstd/c_function_docs.t: [codingstd] these files were recently documented. |
13:52 | |
| tracwiki: v5 | coke++ | CageTasklist | 14:08 | ||
| tracwiki: trac.parrot.org/parrot/wiki/CageTa...ction=diff | |||
| tracwiki: v6 | coke++ | CageTasklist | |||
| tracwiki: trac.parrot.org/parrot/wiki/CageTa...ction=diff | |||
|
14:08
burmas left
|
|||
| Coke | why isn't trac.parrot.org/parrot/wiki/CageTasklist showing VerifyExamples as a wiki link? | 14:09 | |
| do I have to /create/ the page first? lame. | 14:10 | ||
| Infinoid | hmm, that seems nicer than having the wiki littered with red links and (?) tags for things it mistakenly thought were links | 14:11 | |
| dalek | tracwiki: v7 | coke++ | CageTasklist | ||
| tracwiki: trac.parrot.org/parrot/wiki/CageTa...ction=diff | |||
|
14:12
NotFound joined
|
|||
| NotFound | hi | 14:12 | |
| purl | hi, NotFound. | ||
| Infinoid | oi NotFound | 14:13 | |
| Coke | Infinoid: it's easy to tell the wiki something isn't a link. | ||
| !NotAWikiLink | |||
| but now i can't create the page AT ALL. | |||
| if I search for VerifyExamples, I have no option to create the missing page. | 14:15 | ||
| Infinoid | I just created it, by typing it into the URL bar and hitting Edit | ||
| and now it's a link on CageTasklist | 14:17 | ||
| dalek | tracwiki: v1 | Infinoid++ | VerifyExamples | 14:18 | |
| tracwiki: Created the page for testing purposes | |||
| tracwiki: trac.parrot.org/parrot/wiki/Verify...ction=diff | |||
| Coke | !? | ||
| I had no edit link there. | |||
| WTF. | |||
| Infinoid | ... really? | ||
| Coke | no, I'm lying. :P | ||
| Infinoid | sorry, the button is "Create this page", not "Edit" | 14:19 | |
| lingering permissions issue, perhaps? | |||
| Coke | Yes, I don't have that button. (say, searching for VerifyExamplesNow) | ||
| I have /admin/ privs on trac. :P | |||
| Infinoid | no, the button wasn't on the search page | ||
| Try trac.parrot.org/parrot/wiki/NonexistentPage, there should be a button there | |||
| So I had to hand-edit the URL, which ranks pretty low on the usability scale, but seemed to work | 14:20 | ||
| Coke | that is NOT the page I got when i searched for VerifyExample. | 14:22 | |
| (hand edit) BAH! | |||
| Infinoid | yes. That page doesn't exist until you hit the create button... its a wiki 404 page | ||
| Coke | thank you. | ||
| I wasn't expecting to have to hand edit the (*&#@$# url. | 14:23 | ||
| Infinoid | There's a setting related to this in trac.ini (or whatever it is) which I asked allison to turn off a while back, because it screwed up several other things (including breaking the rss beyond usability) | ||
| So it may be that trac is better about this by default. | |||
| Coke | opened a ticket. | 14:26 | |
| NotFound | Coke: I have a patch that makes the example namespace_dump pass the test, but I have no idea if that is an example of what to do or what to not do. | ||
| Coke | NotFound: post the patch and let someone else decide? | ||
| Infinoid | Coke: Ah, yes. See colloquy.info/project/wiki/CamelCase; we have ignore_missing_pages enabled | ||
| The rationale was that it barfed horribly on commit messages like trac.parrot.org/parrot/changeset/36165 | 14:27 | ||
| NotFound | Coke: ok | ||
| Infinoid | well, hmm. "barf horribly" is relative. | ||
| Coke | ah. so when adding links, add [wiki:CamelCase] | 14:28 | |
| Infinoid | Does anyone have an opinion on whether TT #665 needs a deprecation notice? If so, I should add it now. | 14:32 | |
| NotFound | Infinoid: I'm tempted to say that dropping undocumented features must not need deprecation cycles. However, giving the state of our code base and documentation that will be a joke. | 14:35 | |
| So yes, I vote for a deprecation notice. | 14:36 | ||
| dalek | tracwiki: v2 | coke++ | VerifyExamples | 14:37 | |
| tracwiki: trac.parrot.org/parrot/wiki/Verify...ction=diff | |||
| Infinoid | k, I'll mark it as a post-1.4 deprecation then | 14:39 | |
| uck. this is a bug, not a feature | 14:46 | ||
| dalek | tracwiki: v3 | coke++ | VerifyExamples | 14:54 | |
| tracwiki: trac.parrot.org/parrot/wiki/Verify...ction=diff | |||
| Coke | (add it now) doesn't matter, as long as it goes in for 1.4 | 14:59 | |
| dalek | rrot: r38910 | coke++ | trunk/t/examples/pod.t: [docs] fix typo |
15:04 | |
|
15:20
donaldh joined
|
|||
| dalek | rtcl: r342 | coke++ | wiki/ParrotIssues.wiki: Edited wiki page through web user interface. |
15:41 | |
| Coke | can someone upgrade the installed parrot on feather? | 15:57 | |
|
16:00
Theory joined
16:11
flh joined
|
|||
| dalek | kudo: f77ad8a | tene++ | perl6.pir: Initial implementation of the fetch-library method on the compiler. |
16:11 | |
| kudo: 1639d85 | tene++ | (6 files): Switch rakudo to register itself as a compiler for 'perl6' (lowercase) |
|||
| kudo: 6b43f5d | tene++ | src/ (2 files): Add support for loading foreign libraries. |
|||
| kudo: 23faa00 | tene++ | perl6.pir: Add the namespace to the hash returned by foreign library requests. |
|||
| kudo: 26dfbab | tene++ | : Merge branch 'hll-load-library' |
16:12 | ||
| pmichaud | .... I see that 'Hash' is listed as eligible for deprecation in 1.5 . Is that correct?! | 16:29 | |
| jonathan | What?! | ||
| pmichaud | It's to be changed to AssociativePMCArray | 16:30 | |
| I don't mind the change, but it seems to go against the deprecation policy. | |||
| jonathan | but...but...my fingers... :| | ||
| pmichaud | jonathan: if ResizablePMCArray hasn't already gotten you, then I doubt AssociativePMCArray will be much worse :-P | ||
| jonathan | Why do you think I left the list refactors to you? :-P | 16:31 | |
| How's the isa to hasa change going, btw? | 16:32 | ||
| NotFound | I'm going to implement: ThisIsNotThePMCYouWantToInstantiateImVerySure.pmc | ||
| jonathan | NotFound: +1 ;-) | ||
| pmichaud | jonathan: well, I got sidetracked last week working on operator overloading. | ||
| jonathan | pmichaud: A very worthy sidetrack. :-) | ||
| pmichaud | which I kind of wanted to have available to support the isa-hasa change :) | ||
| jonathan | Nice. | ||
| pmichaud | are you blocking on isa/hasa at the moment? | 16:33 | |
| jonathan | No, no. | ||
| Just curious how it was coming together. | |||
| pmichaud | Just eager to see it done? ;-) (Yes, me too) | ||
| jonathan | Well, eager because it's a step on the way to laziness. ;-) | 16:34 | |
| pmichaud | You're eager to be lazy. Hmmmmmmmm.... | ||
| jonathan | Rakudo release planned for Thursday? | 16:35 | |
| pmichaud | Absolutely. | 16:36 | |
| jonathan | Oh, and Parrot is tomorrow...argh. | ||
| jonathan had best tonight work on the Exception.backtrace() bug. | |||
|
16:52
sekimura joined
16:53
barney joined
|
|||
| Coke sadly realizes that the magic "be able to build against an installed parrot" fairy will not be arriving tonight. | 16:59 | ||
| how close is rakudo to being able to build against an installed parrot? | 17:07 | ||
| any movement since parrot 1.0 ? | |||
|
17:09
HG` joined
|
|||
| dalek | rtcl: r343 | coke++ | wiki/ParrotIssues.wiki: Edited wiki page through web user interface. |
17:13 | |
| pmichaud | Coke: Not a lot of movement, no. We still have issues with dynpmcs and dynops (I believe the same ones you're seeing with partcl) | ||
| Coke | at this point, I'm blocking on TT#627 | 17:15 | |
| (I can't load any dynops files, even the ones that come with parrot, because the installed versions have the wrong linkage.) | |||
| (but only on mac, according to other reporters.) | |||
| Tene | blogs.gurulabs.com/stephen/2009/05/...ading.html | ||
| Coke | shorten that | 17:16 | |
| purl | That URL is at xrl.us/bes63o [blogs.gurulabs.com] | ||
| pmichaud | time for lunch for me | ||
| bbiaw | |||
| Coke | Tene: nifty. I look forward to convincing you to fixup partcl to use that. =-) | 17:17 | |
| NotFound | In my system, looks like is building, but slow. | ||
|
17:17
bsdz_ joined
|
|||
| Tene | Coke: I might. | 17:17 | |
| NotFound | Oh, you want that it runs, not just build ;) | 17:18 | |
| Class 'Perl6MultiSub' not found | 17:20 | ||
| Coke | can whoever did the annotate magic for perl6 line # errors look at: | ||
| rt.perl.org/rt3/Ticket/Display.html?id=44979 ? | |||
| moritz | that was jonathan, afaict | 17:21 | |
| dalek | rtcl: r344 | coke++ | wiki/ParrotIssues.wiki: Edited wiki page through web user interface. |
17:23 | |
| rtcl: r345 | coke++ | wiki/ParrotIssues.wiki: Edited wiki page through web user interface. |
|||
| Coke | seen tewk? | 17:24 | |
| purl | tewk was last seen on #parrot 7 days, 2 hours, 45 minutes and 27 seconds ago, saying: nevermind, I'm alreaddy using 8888 [May 11 14:35:31 2009] | ||
| Coke | msg tewk You still on for tomorrow? | ||
| purl | Message for tewk stored. | ||
| Tene | He lives less than a mile from me... want me to go leave a threatening note on his front door? | 17:26 | |
| NotFound | Someone knows the difference between Parrot_PCCINVOKE and Parrot_pcc_invoke_method_from_c_args? | 17:35 | |
| The example in TT #681 works when using the second to invoke the read method in Parrot_io_reads | 17:37 | ||
| dalek | rrot: r38911 | coke++ | trunk/t/compilers/imcc/syn/regressions.t: [t] TT #629 doesn't work with --runcore=cgp |
17:42 | |
| Coke | ... doesn't work with runcore=fast either. | 17:45 | |
| pretty much doesn't work. =-) | 17:52 | ||
| nopaste | "NotFound" at 213.96.228.50 pasted "Looks like cpointer has something to do with packfile pmc test failures?" (37 lines) at nopaste.snit.ch/16588 | 17:54 | |
|
18:16
darbelo joined
|
|||
| Coke | OH MY GOODNESS is benchmarks.t slow. INSANELY slow. | 18:18 | |
| "why do we even run that" slow. | 18:19 | ||
| moritz | that's why it's not in the default test target. | ||
| Coke | at this speed, it shouldn't even be in fulltest. | 18:20 | |
| cotto | Coke, +1 | ||
| Coke | if it's a benchmark, surely we can run fewer iterations. I doubt we're even close at this point. | ||
| Tene | shorl.com/rakydonerega -- cross-language library loading on reddit | 18:23 | |
| moritz thinks that Tene's blog should be on planetsix | 18:25 | ||
| Tene | moritz: Feel free to put it there. | ||
| moritz: I think it might have been there at one point? I'm not sure. | 18:27 | ||
| moritz | Tene: maybe it was removed because of inactivity ;-) | 18:28 | |
| Tene | :) | 18:29 | |
|
18:35
eternaleye joined
18:39
dduncan joined
|
|||
| Andy | I grow more in love with splint every day | 18:54 | |
| but yet | |||
| I'm a little disturbed that i have to explicitly set PARROT_OBSERVER when I would think that, say, const char * would be enough to say "DOn't modify this." | |||
| Infinoid | that is a bit weird | 18:57 | |
| NotFound: I'm looking at your nopaste, but what does it do? | 18:59 | ||
| NotFound | Infinoid: avoid a segfault that packfile pmc test does randomly | 19:08 | |
| Well, avoided it in some tests in my machine. As long as it faults randomely, maybe it keeps failing in other cases. | 19:09 | ||
| Infinoid | which test? | 19:11 | |
| purl | i guess which test is for that bit of sugar? | ||
| Infinoid | I have a reliable segfault after test 5 of packfiledirectory.t which goes away when I run parrot with -G | ||
| NotFound | The constants test is the one that fails most often | ||
| Infinoid | hmm, ok. I only see segfaults in packfiledirectory.t, but it is crashing in constanttable code | 19:12 | |
| might be the same issue | |||
| NotFound | I don't think that the cpointer pmc is a sane thing. | ||
|
19:14
bsdz joined
|
|||
| Infinoid | yeah, I don't know what CPointer has to do with any of the packfile stuff | 19:15 | |
| other than the fact that my bug seems to be a GC issue causing weird problems later... which doesn't prove anything. | |||
| dalek | kudo: 798856d | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 390 files, 11294 passing, 0 failing |
19:16 | |
| NotFound | This is funny (to say the less) if I add 'say size' at lin 57 of packfileconstanttable.t, it works. Without that addition, it stops after second test. | 19:17 | |
| Infinoid | awesome | ||
| NotFound | I wonder if tailcall has something to do with this and a lot of other bugs. | 19:19 | |
| Infinoid | NotFound: Does the test run reliably for you when you pass -G to parrot? | 19:20 | |
|
19:20
donaldh joined
|
|||
| jonathan | NotFound: tailcall has, I belive, some issues | 19:21 | |
| NotFound | Infinoid: don't know how reliably, but in my current build it does. | ||
| No, changing the tailcall in packfile_common.pir has no effect | 19:22 | ||
| Infinoid | If you can run it 100 times from a shell loop without a failure, that's reliable enough for me | ||
| pmichaud | tailcall doesn't work for things that are invoked from C | ||
| in particular, don't use tailcall to return from vtable methods | |||
| jonathan | Also, issues when you tailcall to a method in C. | 19:23 | |
| From PIR. | |||
| See my, erm, not exactly happy comment in Rakudo's guts.pir. | |||
| NotFound | Short version: never use tailcall }:) | ||
| packfile_common seems to be using the native_pbc pbc files for testing, which we're never sure if they are updated. No wonder it fails in unreasonable ways. | 19:27 | ||
| Infinoid | They are, however, the best we have under the circumstances | 19:49 | |
| NotFound | Then let's abandon all hope of reliably testing the packfile pmc | 19:50 | |
| Infinoid | Or consider packfile pmc failures as a possible sign that we need to update the native_pbc files | 19:51 | |
| Actually, once we start trying to be compatible with older versions of PBC, we will need to handle them regardless of whether they're up to date or not | 19:52 | ||
| NotFound | When that day arrives, I'll test the pmc, then ;) | ||
| Infinoid | You know, you could just update the native_pbc for your platform just to see whether that's your problem... | 19:53 | |
| NotFound | PackfileConstantTable extends PackfileSegment. Both have a mark vtable function. Didn't the child call his parent's one? | 20:05 | |
| Infinoid | It doesn't, and it either should, or should provide equivalent functionality | 20:08 | |
| based on the typical usage pattern, the particular PMC being marked by PackfileSegment would have been marked anyway, but there are some edge cases that will break without it | 20:09 | ||
| hmm, the same can be said of PackfileAnnotations, PackfileAnnotationKeys (which is about to vanish thanks to bacek++), PackfileDirectory, PackfileFixupTable, and PackfileRawSegment | 20:11 | ||
| hmm. Maybe not PackfileDirectory, that would probably cause an infinite loop | 20:12 | ||
| NotFound | Funny again, using the gcdebug runcore it does not fail. | 20:22 | |
|
20:30
contingencyplan_ joined
20:39
contingencyplan_ joined
20:40
contingencyplan_ joined
20:48
bacek joined
21:15
deetah joined
|
|||
| deetah | can parrot communicate with framebuffer? | 21:15 | |
| bacek | good morning | ||
| purl | Here I am, brain the size of a planet, and all they say is 'Good Morning' | ||
| szbalint | size of a peanut maybe | 21:17 | |
| purl: peanut? | |||
| purl | rumour has it peanut is a pea | ||
| deetah | uhm. | 21:18 | |
| i'm wondering if I could put a statically linked parrot and linux kernel together and communicate with the framebuffer. | 21:19 | ||
| does anyone know? | |||
| Tene | Sure, you could. | 21:20 | |
| deetah | any docs on it? | ||
| Infinoid | It's just I/O, right? | 21:21 | |
| deetah | not with files, afaik | ||
| i'd rather stick away from the FHS | 21:22 | ||
| he | Infiniod: another test completed: NetBSD/sgimips (mips big-endian) 5.0 parrot-current. | ||
| Infinoid | he++ | ||
| nopaste | "bacek" at 114.73.141.182 pasted "Small fix for Packfile for Infinoid" (58 lines) at nopaste.snit.ch/16592 | ||
| bacek | Infinoid: can you test nopasted patch? | 21:23 | |
| Infinoid | deetah: I haven't used fb, but I think you'd need mmap and ioctl, and then it would work. correct? | ||
| bacek: sure, one sec | |||
| deetah | Infinoid: didn't test yet. would such code be portable along linux architectures? | 21:24 | |
| i mean, the bytecode | |||
| jonathan | The Parrot bytecdoe is portable, yes. | ||
| deetah | it's somewhat associated with the OS and it was rather a question about linux kernel | ||
| Infinoid | As long as the ioctls didn't change numbers (which they don't), I don't see why not | ||
| deetah | rad | 21:25 | |
| Infinoid | The header is linux/fb.h; the kernel tends to put arch-specific stuff in asm/. | ||
| deetah | compiling uclibc already ;) | ||
| i guess it would need additional code for freebsd anyway? | |||
| Infinoid | I don't know how the API differs between linux and *BSD. | 21:26 | |
| deetah | neither do I. testing needed | ||
| do you think it'd be a good idea to make a parrot-based OS? | |||
| Infinoid | I know you mentioned that yesterday. I'm not really sure what that OS would do | ||
| deetah | well, be a fast-developable desktop system | 21:27 | |
| Infinoid | Having a stable target for portable apps to run on is a goal of the parrot core itself | ||
| NotFound | deetah: if you have a few years of free time, I think is a very good idea X-) | ||
| deetah | no exact plans yet, i'll probably abandon it anyway | ||
| NotFound: why so much? | |||
| Infinoid | deetah: Anyway, I think you could write a FramebufferDevice PMC (or dynpmc) which you could access from pir/HLLs, and that should work | 21:28 | |
| You could do some base class magic with drawing primitives, if you wanted some kind of portability between that and X/shm | |||
| NotFound | deetah: It's not easy to put complicated things in kernel, without all the support libaries of userland | ||
| And don't even talk about debugging | |||
| Infinoid | NotFound: I think he's talking about an OS that runs on parrot, not embedding parrot in the linux kernel | 21:29 | |
| bacek: Hey, you beat me to it. (I was going to add those tonight) | 21:34 | ||
| bacek | Infinoid: it works? Hooray! | 21:35 | |
| Infinoid | bacek: It didn't break anything. I need to rebase on one of yesterday's revs though, as it doesn't crash without the patch either | ||
| Oh, awesome. It crashes after a realclean/configure/make, with or without your patch | 21:36 | ||
| But no, it doesn't hurt anything | |||
| bacek | Ok. I'll dcommit this. | ||
| Infinoid | I have a similar "doesn't hurt anything" for mark_1_seg() in src/packfile.c, but I'm waiting until after the release | ||
| bacek | I have small bugfix in tt504_annotations branch waiting for release :) | 21:37 | |
| dalek | rrot: r38912 | bacek++ | trunk/src/pmc (4 files): Fix mark of Packfile* PMCs. NotFound++ |
21:38 | |
| rrot: r38913 | NotFound++ | trunk/src/pmc/cpointer.pmc: [pmc] no need to check sig content when sig is NULL |
21:48 | ||
| deetah | does parrot run under uclibc? | 21:49 | |
| compile* | 21:50 | ||
|
21:52
Whiteknight joined
|
|||
| Infinoid | deetah: I haven't tried it | 21:52 | |
| If it doesn't, that's something we can fix. But committing those fixes should probably wait until after tomorrow's release | 21:53 | ||
| deetah | that'd be insanely fast | ||
| Infinoid | I don't think it will be much different from running on glibc, actually | ||
| moritz | deetah: just give it a try ;-) | 21:54 | |
| Infinoid | Just different options. I suspect we probably have some glibcisms in our linux hints file | ||
| bacek | Infinoid: try svn rebase and test packfile again. I've fixed Directory mark. | 21:57 | |
| NotFound | bacek: packfileconstanttable still fails for me | 22:00 | |
| bacek | NotFound: oh... | ||
| NotFound: at r38915? | 22:01 | ||
| dalek | rrot: r38914 | jonathan++ | trunk/src (2 files): [core] When an exception is thrown from C, we up until now have had no way to know where it was thrown from. (For thsoe thrown from PIR, we could look at the resume continuation). This meant that we couldn't get the annotations for the closest point of the exception being thrown for those thrown from C, which was unawesome. This adds a way, and leaves comments/ticket ref behind for how it should look when contexts become PMCs. |
||
| NotFound | No, 38913 | ||
| dalek | rrot: r38915 | bacek++ | trunk/src/pmc/packfiledirectory.pmc: Fix PackfileDirectory mark. Infinoid++, NotFound++ |
22:02 | |
| rrot: r38916 | jonathan++ | trunk/src/global.c: [core] Allow us to hll_map MultiSub. We may need to patch up a few other places, but this seems the main one. |
|||
| NotFound | dalek's lack of responsiveness sometimes hurts ;) | ||
| bacek | NotFound: try r38915 :) | ||
| dalek | kudo: 9d2934e | jnthn++ | build/PARROT_REVISION: Bump Rakudo up to Parrot r38916, to take advantage of the fixes to exception backtrace generation and hll_map of MultiSub. |
22:03 | |
| NotFound | Fails same way :( | 22:04 | |
| Infinoid | dalek is tracking 15-20 rss feeds, I tried to space them out a bit to keep it from pinging out | ||
| No change here either, bacek. | |||
| bacek | NotFound: I'm out of ideas... | ||
| NotFound | bacek: me also | 22:05 | |
| Infinoid | Mine is definitely GC-related, but it is quite easy to reproduce and always occurs in the same spot. If you want to try debugging it, I'm happy to give you all the details | ||
| bacek | It fails after second test? | ||
| NotFound | at ./src/pmc/packfileconstanttable.pmc:311 | 22:06 | |
| Yes, after second | |||
| Infinoid | Yeah. The crash I'm seeing is different from NotFound++'s | ||
| nopaste | "Infinoid" at 75.28.74.203 pasted "This crash happens for me, every time I run packfiledirectory.t." (55 lines) at nopaste.snit.ch/16593 | 22:07 | |
| NotFound | And at my daywork on amd64 machines, fails different tests building with C++ than with C | ||
| I think there might be some wild pointer somewhere | 22:08 | ||
| Or maybe, an invalid size of the constant table | 22:09 | ||
| Infinoid | In my case, the PMCs in the PackFile_ConstTable are being freed in the middle of loading them into the ConstantTable PMC's RPA | 22:10 | |
| jonathan | One thing I notice | 22:11 | |
| Is that pmclass PackfileConstantTable extends PackfileSegment | |||
| you have a | |||
| NotFound | That's interesting... Were is the loaded bytecode being marked? | ||
| jonathan | VTABLE void mark() | ||
| It does | 22:12 | ||
| if (attrs->constants) | |||
| Parrot_gc_mark_PObj_alive(interp, (PObj *)attrs->constants); | |||
| if (attrs->types) | |||
| Parrot_gc_mark_PObj_alive(interp, (PObj *)attrs->types); | |||
| However, you also have an inherited attribute | |||
| Infinoid | Yes, bacek++ added a SUPER() call in there just a little while ago | ||
| jonathan | If you look at PackfileSegment's mark vtable it marks it | ||
| if (attrs->directory) | |||
| Parrot_gc_mark_PObj_alive(interp, (PObj *)attrs->directory); | |||
| ~Ah, OK | |||
| I'm missing that update then. | |||
| But that was certainly wrong before. | |||
| Infinoid | NotFound++ noticed it first :) | ||
| bacek | jonathan: indeed. | ||
| moritz | t/compilers/pct/bstest.t fails test 9 here | ||
| Infinoid | Though actually, I think I see why this is crashing | 22:13 | |
| NotFound | And that PMC is stored in some place being marked during the load? | ||
| Infinoid | In set_pointer(), PackFile_ConstTable is just a local variable; when it's doing its copy thing, lots of new PMCs are created, and the GC reenters the PackfileConstantTable PMC when it calls the mark() function, but mark() doesn't have any idea about the local variables in set_pointer() so it doesn't get marked | 22:15 | |
| jonathan | bacek: Notice that packfilerawsegment also inherits from packfile_segment and too is missing the SUPER() it looks like. | ||
| Infinoid | Oh, wait. Shouldn't the GC know about that because it scans the stack? | ||
| jonathan | Infinoid: Yes, GC scans the stack. | ||
| bacek | jonathan: it already has SUPER... | 22:16 | |
| jonathan | erm, was | ||
| yeah, it's reloaded in my editor now :-) | |||
| Infinoid | Oh well, I don't have a clue why the GC is freeing these things | 22:17 | |
| Whiteknight | what things? | 22:21 | |
| purl | rumour has it things is ok, although i was awakened by pager because i forgot to turn the development server back on | ||
| Whiteknight | purl forget things | 22:22 | |
| purl | Whiteknight: I forgot things | ||
| Whiteknight | you're damn straight you did | ||
| bacek | Looks like GC collected PMCs from unpacked PBC... | ||
| Whiteknight | are they being marked? | 22:23 | |
| bacek | I mean pure-C stuff. | ||
| PackFile_Constants | |||
| Whiteknight | PackFile_Constants structures are manually-managed and are not GCd | ||
| bacek | Hm.. | ||
| Whiteknight | but a PackFileConstants PMC is GCable | 22:24 | |
| bacek | But Infinoid's crash in PackfileConstTable.set_pmc_native. | ||
| Whiteknight | backtrace? | ||
| purl | backtrace is probably not useful or use Carp 'cluck'; BEGIN{ $SIG{__DIE__} = &confess; $SIG{__WARN__} = &cluck; } or perl -MCarp::Always | ||
| bacek | C<value> is PackFile_Constant value. | ||
| Whiteknight | purl forget backtrace | ||
| purl | Whiteknight: I forgot backtrace | ||
| bacek | <nopaste> "Infinoid" at 75.28.74.203 pasted "This crash happens for me, every time I run packfiledirectory.t." (55 lines) at nopaste.snit.ch/16593 | 22:25 | |
| Whiteknight | purl backtrace is <reply>backtrace? no thank you. Those things are pretty invasive and unpleasant for a program | ||
| purl | no problem Whiteknight | ||
| bacek | set_pmc_keyed_int | ||
| NotFound | Same place it crashes for me | 22:26 | |
| Whiteknight | where is this happening, branch?\\ | ||
| NotFound | trunk | ||
| Infinoid | And it runs fine with parrot's -G option | 22:28 | |
| So even PackFile_Constants is manually managed, something GC-related is triggering its being freed | |||
| even *if* | |||
| NotFound | And with --runcore=gcdebug | ||
| Maybe something not collected is pointing to something that has been collected | 22:29 | ||
| Infinoid | it must be | 22:30 | |
| NotFound | And the gcdebug core makes it be collected before doing any harm | ||
| Infinoid | Ok. So, the pointer to PackFile_ConstTable is on the stack, but it isn't a PMC, so the GC will ignore it | 22:31 | |
| So all the PackFile_Constants it contains are not safe | |||
| NotFound | Or maybe is just that the code was written under the wrong phase of the moon %-) | ||
| Infinoid | (unless they're allocated in some special way that protects them) | ||
| The PFC_PMC/PFC_KEY type constants in that PackFile_ConstTable need to be protected somehow while set_pointer is running | 22:33 | ||
| Hmm, could just disable GC sweep for the duration of this function | |||
| bacek | Hooray! I reproduced crash | ||
| NotFound | Well, I'll try to find the great spirit inspiration while dreaming | ||
| bacek | And disabling GC during unpack fixed it | 22:34 | |
| r38917 | 22:36 | ||
| Infinoid | Hmm, really? I put the same thing in the same function, but decided to surround *everything* | 22:37 | |
| So GC is blocked before PackFile_unpack() is called | |||
| bacek | Infinoid: PackFile_unpack blocks GC internally. | ||
| Infinoid | ah, cool. | 22:38 | |
| bacek | src/packfile.c:1082 | ||
| dalek | rrot: r38917 | bacek++ | trunk/src/pmc/packfile.pmc: [pmc] Disable GC during unpack Packfile. |
||
| bacek | So, after PackFile_unpack we have to stop GC again. | ||
| gotta go. | 22:39 | ||
| purl | EXCUSE ME, I HAVE TO GO WASH MY COMPUTER | ||
| Infinoid | So, that fixed it here | ||
| bacek++ | |||
| bacek | Infinoid++ NotFound++ Whiteknight++ jonathan++ # We nailed it down! | ||
| Infinoid | So realistically, *any* code which holds a pointer to a PackFile but doesn't track it during the mark pass is buggy. | 22:41 | |
| I can't wait to get rid of src/packfile.c. | |||
|
22:42
mikehh_ joined
|
|||
| Whiteknight | we're getting rid of src/packfile.c? | 22:46 | |
| dalek | rcupinepascal: r69 | robin.ge++ | branches/oo-branch/ (5 files): (from /branches/oo-branch/src/builtins/case.pir ����Modify����/branches/oo-branch/src/parser/actions.pm ����Modify����/branches/oo-branch/src/parser/grammar.pg ����Modify����/branches/oo-branch/t/12-case.t ����Modify����/branches/oo-branch/t/17-class.t * ACCEPTS no longer called on vars of same type. * added TapTest lib * renamed case builtin to std * added some standard functions * normalized type defintions slightly |
22:47 | |
|
22:47
mikehh__ joined
|
|||
| rcupinepascal: r70 | robin.ge++ | branches/oo-branch/t/12- (2 files): (from /branches/oo-branch/t/12-case.t renamed to test of standard functions |
|||
| Infinoid | Wow, parse fail. | ||
| Whiteknight: Yeah, the C-level PackFile interface will eventually be replaced by Packfile PMCs, that's the eventual goal of the pdd13 roadmap item | 22:48 | ||
| Whiteknight | oh nice | 22:49 | |
|
22:53
kid51 joined
23:17
dduncan left
23:21
donaldh joined
|
|||