|
Parrot 2.11.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Onward and upward with Google Code-In | Please test all nwellnhof/* branches | Merge html_cleanup Set by moderator on 24 December 2010. |
|||
| Matt_ | Can someone explain what the numbers in the left margin (in green) mean in the code coverage pages? (for a GCI task) | 00:00 | |
| tapir2.ro.vutbr.cz/cover/cover-resu...ngs-c.html | |||
| Coke | green numbers - # of times that line of code was run. | 00:03 | |
| (pretty sure) | 00:04 | ||
| Matt_ | Hmm. ok. If you look at the test here: github.com/parrot/parrot/blob/mast.../strings.t There is a call to Parrot_api_string_export_wchar yet the file coverage shows '0' in red. any ideas? | 00:05 | |
|
00:33
whiteknight joined
|
|||
| dukeleto | Matt_: is that test being run? | 00:41 | |
| Matt_ | I think so. I wrote it for another task a while back and I remember running `make test` to test it before I learned about the `prove` command | 00:42 | |
| Kapace_ | can a mentor accept? www.google-melange.com/gci/task/sho...9329047035 | 00:43 | |
| whiteknight | looking... | 00:48 | |
| Kapace_: Hold on, I need to merge something else before I can accept that task | |||
| Kapace_ | ok | 00:49 | |
| dalek | rrot/gci_fix_makefile: d5fe4fb | Yuki`N++ | config/gen/makefiles/root.in: Diagnose undercovered embedding library via Makefile modifications. |
00:50 | |
| rrot: d5fe4fb | Yuki`N++ | config/gen/makefiles/root.in: Diagnose undercovered embedding library via Makefile modifications. |
|||
| rrot: 035b964 | Whiteknight++ | config/gen/makefiles/root.in: Merge remote branch 'origin/gci_fix_makefile' |
|||
| Matt_ | whiteknight: ^^ that change may fix why these coverage results aren | 00:51 | |
| 't accurate: tapir2.ro.vutbr.cz/cover/cover-resu...ngs-c.html | |||
| it looks like Parrot_api_string_import_wchar has a coverage of 0 yet I wrote a test for it a while back | |||
| whiteknight | Matt_: yeah, I suspect that will bump the numbers. that's why I want to merge and see what the new coverage numbers look like | ||
| Matt_: yeah, this will probably bump that | |||
| Matt_ | whiteknight: Keep me posted on the new numbers. I sent a claim request for: www.google-melange.com/gci/task/sho...6715502#c1 | 00:52 | |
| Yuki`N | whiteknight, can you accept socghop.appspot.com/gci/task/show/g...9336706640 | ||
| whiteknight | Matt_: accepted. Change it to NeedsReview and I'll close it for you | 00:53 | |
| Yuki`N: let me look | |||
| Yuki`N | whiteknight, that task for strings.c should be mine. :( | ||
| I technically increased the coverage. :P | |||
| whiteknight | Yuki`N: I gave one of them to you, didn't I? | ||
| Matt_ | whiteknight: I did no work on it yet. was just researching | ||
| Yuki`N | Umm, only pmc.c | ||
| Whatever. :P | |||
| Kapace_ should have jumped on it | 00:54 | ||
| Yuki`N | Did you see my question about exception handlers? | ||
| trying to get pmc.c up to 100% but there are two concepts which I don't understand fully. | |||
| whiteknight | Yuki`N: accepted. Thanks | ||
| Matt_: oh, sorry. I got you mixed up with another one | |||
| Matt_ | whiteknight: Let me know when the new coverage results are up (or how I could generate them) | 00:55 | |
| so I can work on the coverage for strings.c | |||
| whiteknight | Kapace_: Accepted. Good luck | ||
| Kapace_ | whiteknight: done thanks :P | ||
| whiteknight | Matt_: you can run "make quickcover" from the commandline, if you have the prereqs | ||
| Yuki`N | whiteknight, from before, <Yuki`N> whiteknight, how do exception handlers in C work? | 01:00 | |
| i.e. Parrot_api_add_exception_handler | |||
| whiteknight | Yuki`N: dark magic and poison | ||
| Yuki`N | Oh dear. | 01:01 | |
| whiteknight | Yuki`N: okay, what we need to do for that is have a Sub PMC, and pass that in as the argument | ||
| Yuki`N | Oh. | 01:02 | |
| whiteknight | Yuki`N: Comment that function (Parrot_api_add_exception_handler) out. We aren't ready for that one yet | ||
| Yuki`N | Oh ok. | ||
| whiteknight | testing it is going to be way too hard | ||
| Yuki`N | Yeah. :/ | ||
| How do I serialize a PMC to be deserialized? | |||
| Parrot_api_pmc_deserialize is the relevant function. | |||
| whiteknight | Yuki`N: isn't there a Parrot_api_pmc_serialize? | 01:06 | |
| Yuki`N | Nope. | ||
| I don't think so. | |||
| It might be in another file... | |||
| Nope it's not in api.c or pmc.c | 01:07 | ||
| whiteknight | Yuki`N: no, I'm mistaken. That's something that needs to be written | ||
| Yuki`N: You can load in a file of an existing serialized PMC | 01:08 | ||
| Yuki`N | Are there any serialized as a string? | ||
| Or is that what happens in deserialized_bytes anyway? | |||
| whiteknight | after build, there should be a config.fpmc | 01:09 | |
| or install_config.fpmc | |||
| look for a file "*.fpmc" | |||
| that's a serialized ("frozen") PMC | |||
| Yuki`N | Oh ok. | ||
|
01:09
Khisanth left
|
|||
| Yuki`N | install_config.fpmc exists. | 01:09 | |
| whiteknight | runtime/parrot/include/config.fpmc | ||
| Yuki`N | Oh | 01:10 | |
| also t/tools/install/testlib/install_config.fpmc | |||
| whiteknight | That file gets written out to a C file in src/config.c | ||
| Yuki`N: right, so there are options | |||
| that config PMC should be a hash, and should have a few standard keys | |||
| Yuki`N | Those look binary though. | 01:11 | |
| whiteknight | at the commandline, type "./parrot_config --dump" to see a list of all the keys and their values | ||
| yeah, it is binary. That's what a frozen PMC is | |||
| Yuki`N | Oh, then why is there a deserialize and a deserialize_bytes? | ||
| Matt_ | whiteknight: I installed Devel::Cover using the CPAN shell but its not finding it "Please install Devel::Cover" | 01:16 | |
| Did perl -MCPAN -e 'shell' followed by 'install Devel::Cover' | 01:17 | ||
|
01:17
kennym left
|
|||
| whiteknight | Matt_: you may need to reconfigure | 01:19 | |
| Yuki`N: _deserialize reads a .fpmc file. _deserialize_bytes reads in a C byte array | 01:20 | ||
| Yuki`N | Oh, so I don't even have to worry about reading the file in the C test code? | ||
|
01:25
fbrito left
|
|||
| dukeleto | ~~ | 01:26 | |
| Yuki`N | dukeleto, can you add me another pmc.c task, similar to socghop.appspot.com/gci/task/show/g...336706640? | 01:30 | |
| I got the coverage up to 95% | |||
|
01:32
davidfetter joined
|
|||
| Kapace_ | frozen PMCs remind me of pickled python objects | 01:33 | |
| whiteknight | I'm not familiar with pickled python objects | 01:34 | |
| Kapace_ | whiteknight: they're just like frozen PMCs :P | 01:35 | |
| whiteknight | oh, now I know what they are? | ||
| dalek | rrot: dbc7745 | dukeleto++ | t/pmc/key.t: [t] Increase code coverage of Key PMC, a GCI task by David Czech |
01:36 | |
| Kapace_ | no kharma :( | ||
|
01:36
plobsing left
|
|||
| dukeleto | whiteknight: pickle is a synonym for freeze in some other circles (like python) | 01:37 | |
| Kapace_: are you David Czech? | |||
|
01:37
plobsing joined
|
|||
| Kapace_ | dukeleto: yes. | 01:37 | |
| dukeleto | Kapace_: i didn't know! | 01:38 | |
| Kapace_: are you in CREDITS yet? | |||
| karma Kapace_ | |||
| aloha | Kapace_ has karma of 0. | ||
| dukeleto | karma Kapace | ||
| aloha | Kapace has karma of 3. | ||
| dukeleto | Kapace++ | ||
| Kapace_ | yes i think so | ||
| dukeleto | Kapace_: no, you are not in there | 01:39 | |
| Kapace_: create a patch that adds yourself, and I will apply it | |||
| Yuki`N: awesome! | |||
| melange is crapping out | 01:41 | ||
| Kapace_ | hmm, I remember seeing cotto add me somewhere... | ||
| Yuki`N | Stupid melange. :P | 01:44 | |
| whiteknight | aloha coverage? | ||
| aloha | whiteknight: coverage is cv.perl6.cz or tapir2.ro.vutbr.cz/cover/cover-results/ | ||
| Kapace_ | dukeleto: github.com/parrot/parrot/commit/042dcefde7 | 01:45 | |
| Yuki`N | Wow I just connected my USB externals into my Linux VM because all the windows tools pale in comparison to gparted. | 01:46 | |
| In compatibility, at keast. | |||
| *loeast | |||
| Paragon was unwilling to move my ext4 partitions. | |||
| dukeleto | Kapace_: which branch is that in? doesn't seem to be in my CREDITS on master | 01:49 | |
| Kapace_ | yeah, can't see it here either, wierd.. | 01:50 | |
| "cotto pushed to lorito " | |||
| I guess its in the lorito branch? | |||
| dukeleto | Kapace_: he accidently put it on the wrong branch. I will fix it | 01:52 | |
| dalek | rrot: 4e7f3b3 | cotto++ | CREDITS: add kapace to CREDITS |
01:53 | |
| Matt_ | whiteknight: I'm getting errors like 'no source src/gc/src/gc/system.c found for src/gc/system.c.gcov' when running `make cover` and I only get coverage results for ~7 files (all headers too) | 01:54 | |
| whiteknight | Matt_: weird | 01:55 | |
| Yuki`N | dukeleto, I guess adding that second task can wait. In the meantime can you accept my claim? socghop.appspot.com/gci/task/show/g...9329019671 | 02:00 | |
| Also whiteknight, I ended up not being able to understand how I can use the plain `deserialize', I submitted a pull request with the one test I did add though. github.com/parrot/parrot/pull/45 | 02:02 | ||
| Kapace_ | is it just me or does t/src/embed/api.t not exist? socghop.appspot.com/gci/task/show/g...9336697097 | 02:04 | |
| Yuki`N | It's t/src/embed.t | 02:05 | |
| Kapace_ | ah, thanks | ||
| dukeleto | Yuki`N: done | ||
| dalek | rrot: 00259d7 | Whiteknight++ | / (2 files): Merge branch 'master' of github.com:parrot/parrot |
02:06 | |
| Yuki`N | dukeleto, thanks. | ||
| How does PObj_constant_TEST work? | |||
|
02:08
kennym joined
|
|||
| whiteknight | Yuki`N: include/parrot/pobj.h | 02:08 | |
| Yuki`N | Rather, how is an object set "constant"? | ||
| K. | |||
| whiteknight | PMCs have a flags field, which contains a number of bit flags | ||
| there'a a macro PObj_constant_SET to set the flag, and PObj_constant_CLEAR to unset it | 02:09 | ||
| Yuki`N | Can I do so from PIR? | ||
| whiteknight | ...I don't think so | 02:10 | |
| What are you trying to test? | |||
|
02:11
Khisanth joined
|
|||
| whiteknight | I suspect Parrot_secret_snprintf is dead code | 02:11 | |
| Yuki`N | whiteknight, I'm trying to expand the Hash PMC coverage. | 02:15 | |
| whiteknight | ok | ||
| Yuki`N | And there's a lot of instances which check using a non-constant key in a constant hash or something. | ||
| whiteknight | oh, that code is all stupid | ||
| Kapace_ | This task looks interesting, but I have no clue how to serialize PMCs. socghop.appspot.com/gci/task/show/g...9341406031 | 02:16 | |
| whiteknight | Kapace_: there are functions for it. The API doesn't really do any logic, the API only exposes it | 02:17 | |
|
02:17
kennym left
|
|||
| Kapace_ | ok, then Ill give it a shot | 02:17 | |
| whiteknight | Kapace++ | ||
| Yuki`N | whiteknight, I wonder if getting rid of it will do anything. `-` | 02:18 | |
| whiteknight | Yuki`N: maybe. It's something the GC guys have been talking about removing | 02:19 | |
| Yuki`N | Because of all that (questionably useless) code I'm not quite sure if I can manage a 10% increase, hm. | ||
| whiteknight | Kapace_: Look at the freeze opcode. src/ops/core.ops or src/ops/pmc.ops (I don't remember where) | ||
| Kapace_: Also, most of the functions for this are in src/packfile/object_serialization.c | 02:20 | ||
| Yuki`N | There's a lot of entry_type_must_be_pmc conditionals that are easy to test for though, so maybe... | ||
| whiteknight | Yuki`N: Do your best. If 10% is impossible | ||
| Kapace_ | whiteknight: awesomem, thanks | 02:21 | |
| whiteknight | awesomem indeed | 02:23 | |
| Yuki`N | If there are VTABLE functions that aren't used in any OPCODE can I cut them out? | ||
| defined_keyed_str is one such function; the opcodes only take PMC and Integer keys. | 02:26 | ||
| Rather, INTKEY and KEY values. | |||
| whiteknight | Yuki`N: No, we can't take out ops | 02:32 | |
| or VTABLEs | |||
| If you think something is not being used you can open a ticket to have it removed eventuall, | |||
| whiteknight is signing off for the night. Later | 02:40 | ||
|
02:42
whiteknight left
|
|||
| Kapace_ | how can I run a test under a debugger? (can't do gdb perl t/mytest.t because perl isn't crashing) | 02:50 | |
| dalek | rrot/encapsulate-main: 2d0b46e | plobsing++ | compilers/opsc/ops2c.nqp: workaround nqp-rx not generating :main for ops2c |
02:52 | |
| rrot/encapsulate-main: 0ff4ddd | plobsing++ | frontend/pbc_merge/main.c: bytecode segment needs to be created first for unknown reasons |
|||
| rrot/encapsulate-main: 3c0cc0d | plobsing++ | t/ (65 files): use explicit :main in coretest |
|||
| Yuki`N | Kapace_, you can't debug PIR tests at all. | 02:55 | |
|
02:55
danielmarth left
|
|||
| Kapace_ | no, its a C test | 02:56 | |
| plobsing | Kapace_: extract the crashing PIR into a test file | 02:57 | |
| or the crashing C as is the case | |||
| then compile/run just the extracted bit | 02:58 | ||
| Yuki`N | Yeah. | 02:59 | |
| When you run prove t/test.t, it should extract each c segment into its own file. | 03:00 | ||
| Kapace_ | ok | 03:05 | |
| Matt_ | plobsing: I'm having some issues running `make quickcover` on Ubuntu | 03:13 | |
| Getting errors like: 'no source src/gc/src/gc/gc_inf.c found for src/gc/gc_inf.c.gcov' | 03:14 | ||
| shouldn't the first just be 'src/gc/gc_inf.c' | |||
| looks like the paths are corrupted? | |||
| *first path | |||
|
03:29
fbrito joined
|
|||
| plobsing | Matt_: sorry, I know little about the config/make system (and I try to stay that way). I know even less about the coverage code. All I know is that it works on my end | 03:29 | |
| nwellnhof | Matt_: I get the same errors here | 03:31 | |
| Matt_ | plobsing: Can you generate the current coverage report for the latest master branch. I need to see the coverage for embed/string.c | 03:32 | |
|
03:33
contingencyplan left
|
|||
| nopaste | "plobsing" at 192.168.1.3 pasted "src/embed/strings.c.gcov" (225 lines) at nopaste.snit.ch/27498 | 03:48 | |
| plobsing | Matt_: ^^^ | ||
| nwellnhof | plobsing: what's your gcc version? | 03:49 | |
| plobsing | gcc version 4.5.1 20101125 (prerelease) (GCC) | 03:50 | |
|
03:50
khisanth_ joined
|
|||
| nwellnhof | the way gcov is used in the makefile seems broken to me. | 03:50 | |
| the gcov docs say: "gcov should be run with the current directory the same as that when you invoked the compiler. Otherwise it will not be able to locate the source files." | 03:51 | ||
| currently, we chdir in the subdirectories. and that's why i get error messages. | |||
| Yuki`N | It works for me as well, :/ | 03:52 | |
| plobsing | like I said before, I neither know nor care to know about such issues. | ||
| nwellnhof | Yuki: what's your gcc version? | ||
| Yuki`N | Hold on, starting my vm. | 03:53 | |
|
03:53
Khisanth left
|
|||
| Yuki`N | gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) | 03:53 | |
| So same as plobsing. | |||
|
03:53
khisanth__ joined
|
|||
| Yuki`N | aloha, coverage? | 03:54 | |
| aloha | Yuki`N: coverage is cv.perl6.cz or tapir2.ro.vutbr.cz/cover/cover-results/ | ||
| Yuki`N | Matt_, tapir2.ro.vutbr.cz/cover/cover-resu...7/c_cover/ has the latest coverage results. | ||
| nwellnhof | i have gcc 4.4 here. | ||
| Yuki`N | Maybe that's why. | ||
|
03:59
khisanth_ left
|
|||
| Matt_ | Yuki`N: thanks! | 04:00 | |
| Yuki`N | np. | ||
|
04:03
khisanth__ left
|
|||
| nwellnhof | Matt: what's your gcc version? | 04:03 | |
| Matt_ | 4.4.5 | 04:05 | |
| nwellnhof | seems to be related to gcc 4.4 | 04:16 | |
|
04:23
Yuki`N left
04:42
Matt_ left
04:46
Coke left
|
|||
| dalek | rrot/encapsulate-main: ac1c768 | plobsing++ | / (10 files): use explicit main in make tests |
04:47 | |
| fbrito | hm, it seems that "make quickcover" was not included in "make help" | 04:54 | |
|
05:29
nwellnhof left
05:35
rurban_ joined
05:37
rurban left,
rurban_ is now known as rurban
|
|||
| cotto | ~~ | 06:01 | |
| mikehh, ping | |||
| seen mikehh | |||
| aloha | mikehh was last seen in msg 5 hours 55 mins ago <private message>. | ||
| cotto | dukeleto, ping | 06:04 | |
| fbrito | cotto hello :) | 06:07 | |
| cotto | hi fbrito | 06:08 | |
| fbrito | just wanted to say hi, hehehe :P. I have to go now :( | 06:09 | |
| good night | |||
| cotto | 'night | 06:10 | |
|
06:10
fbrito left
|
|||
| cotto | mikehh, unping | 06:18 | |
| plobsing, ping | 06:19 | ||
| plobsing, unping | 06:20 | ||
| a later commit answered my question | 06:21 | ||
|
06:25
davidfetter left
06:32
rfw joined
|
|||
| cotto | it looks like Rakudo's broken atm. What happened to concat_s_s? | 06:43 | |
| Kapace_ | hmm, how do I test the net api_pmc_serialize(), check a frozen string against a hardcoded pbc? | 06:44 | |
| cotto | I don't think you should care about the frozen representation. If it can be frozen and thawed, that's a fairly good indicator that it's working. | 06:46 | |
| dalek | tracwiki: v26 | cotto++ | ParrotDeprecations | ||
| tracwiki: trac.parrot.org/parrot/wiki/ParrotD...ction=diff | |||
| Kapace_ | but there is no api_pmc_thaw function :| | ||
| cotto | We should probably have one. You've found a hole. | 06:47 | |
| you can msg whiteknight about it or make a note in the gci task | |||
| Kapace_ | maybe the task should have been to make api_pmc_serialize and api_pmc_unserialize | 06:48 | |
| cotto | msg plobsing #1604 (no implicit :main subs) is properly documented. You're fine to merge as soon as the HLLs and libraries are ready. | 06:54 | |
| aloha | OK. I'll deliver the message. | ||
|
06:57
theory left
|
|||
| dalek | tracwiki: v10 | cotto++ | ParrotDeprecationsFor3.0 | 07:02 | |
| tracwiki: trac.parrot.org/parrot/wiki/ParrotD...ction=diff | |||
| tracwiki: v27 | cotto++ | ParrotDeprecations | |||
| tracwiki: fix anchor for "no implicit :main subs" | |||
| tracwiki: trac.parrot.org/parrot/wiki/ParrotD...ction=diff | 07:03 | ||
|
07:07
Khisanth joined
07:17
Khisanth left
|
|||
| dalek | rrot/html_cleanup: 6cbc51a | mikehh++ | tools/docs/make_html_docs.pl: [html_cleanup] add use strict (implied with 5.12), printf -> print |
08:36 | |
|
09:30
kennym joined
09:43
rfw left
10:26
bacek left
10:44
Khisanth joined
10:57
Khisanth left,
contingencyplan joined
11:23
Khisanth joined
11:36
khisanth_ joined,
Khisanth left
11:37
khisanth_ is now known as Khisanth,
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 11:41 | |
|
12:07
contingencyplan left
12:09
bluescreen left
12:11
danielmarth joined
12:15
fbrito joined
12:19
bluescreen joined
12:31
Coke joined
|
|||
| fbrito | Hm, I am having problems finding out how to test "get_pmc_keyed_str" on MultiSub PMC :s | 13:03 | |
| whiteknight | let me look | 13:05 | |
|
13:05
Khisanth left
|
|||
| whiteknight | fbrito: okay it finds a particular sub by signature | 13:05 | |
| So create two subs that take different arguments in the same :multi, then you can look up by signature | 13:06 | ||
| fbrito: does that make sense? | 13:07 | ||
| fbrito | yes, it does. on t/pmc/multisub.t there are already some subs available. but from where should I look up by signature? | 13:10 | |
| whiteknight | fbrito: so if you have a sub with .param num and .param int, it has a call signature NI | ||
| fbrito: you need to get the multisub instance | 13:11 | ||
| so if you have multiple subs with the same name, you can look up in the current namespace by that name to get the multisub | |||
| and once you have the multisub, you can lookup individual subs in it by signature | 13:12 | ||
| brb | 13:13 | ||
| fbrito | hm, interesting :) | ||
| thank you | |||
|
13:21
Coke left
13:26
bluescreen left
13:27
Coke joined
|
|||
| fbrito | hm, I got the multisub with "get_global", but now I don't know how to lookup individual subs in it by signature. | 13:35 | |
|
13:35
rurban_ joined
13:36
Khisanth joined
13:37
rurban left
13:38
rurban_ is now known as rurban
13:42
khisanth_ joined
13:45
Khisanth left
|
|||
| fbrito | ok, no success writing tests for multisub :( | 13:51 | |
| will try again later :D | 13:52 | ||
|
13:52
khisanth_ left
14:01
khisanth_ joined
14:04
whiteknight left
14:19
khisanth_ left
14:23
Coke left
14:25
Coke joined
|
|||
| dukeleto | fbrito: wazzup? | 14:43 | |
| fbrito | hello :D | ||
| dukeleto | fbrito: how is the multisub task coming along? | 14:44 | |
| fbrito | I had to stop for a while... anyway, I still don't know how to test "get_pmc_keyed_str" | 14:45 | |
| whiteknight gave me some help, but I still can't figure out how to lookup individual subs in a multisub by it signature. | |||
| dukeleto | fbrito: what code have you tried? | 14:47 | |
| Coke | I don't know if you can lookup subs by signature in a multisub- pretty sure you can iterate over them numerically, though. | ||
| (and then inspect the signature of the sub you got that way) | |||
| dukeleto | fbrito: if $P1 is a multisub, and you want to get the sub with a signature of "NI" then it would be $P1["NI"] (in theory, Coke++ could be right) | 14:48 | |
|
14:48
JimmyZ joined
|
|||
| dukeleto | fbrito: what code have you tried? which errors do you get? | 14:48 | |
| Coke: mornin' | |||
| fbrito | I am using "get_global $P0, "foo"" to get the multisub. is that ok? | 14:49 | |
| dukeleto | fbrito: seems reasonable | 14:50 | |
| fbrito | t/pmc/multisub.t already provide some multisubs, like ".sub foo :multi(string)" and ".sub foo :multi(int)" | ||
| Coke | make sure that that get_global is returning your multisub - ($S0 = typeof $P0; say $S0) | ||
| s/your/a/, that is | 14:51 | ||
| dukeleto: hio | |||
| fbrito | yes, it is returning a MultiSub | ||
|
14:52
Khisanth joined
14:53
khisanth_ joined
|
|||
| fbrito | .sub foo :multi(Integer, String). the signature for this would be "IS". right? | 14:53 | |
|
14:53
bluescreen joined
|
|||
| fbrito | get_global $P0, "foo"; $P1 = $P0["IS"] raises "Null PMC access in get_pmc()" | 14:56 | |
|
14:59
Khisanth left
|
|||
| Coke | fbrito: ... that really sounds like $P0 is null, which would mean the get_global didn't return anything. | 15:01 | |
| fbrito | but typeof returns MultiSub | ||
| Coke | (unless the NPE comes when trying to use $P1 later... | ||
|
15:02
jan left
|
|||
| Coke | It's hard to debug 2 line code fragments. | 15:02 | |
| what line causes the NPE? | |||
| fbrito | pastie.org/1408677 | 15:04 | |
| those "foo" subs were in t/pmc/multisub.t. I only wrote the test_set_pmc_keyed | 15:05 | ||
| changing line 3 to $P1 = $P0["IS"] will raise the following exception: | 15:06 | ||
| pastie.org/1408681 | 15:07 | ||
|
15:07
khisanth_ left
|
|||
| fbrito | (ahaha, I should have pasted the entire file. line 79 in exception is line 3 in my first pastie) | 15:07 | |
| dukeleto | fbrito: perhaps you can raise the coverage of Multisub in a different way? What do you have the coverage up to now? | 15:09 | |
| Coke | ah, it IS failing on the $P0["IS"] line. smells like a bug in pmc_get_keyed_str VTABLE in multisub. | 15:10 | |
| fbrito | dukeleto: everything, except "get_pmc_keyed", "get_pmc_keyed_str" and "get_iter" | 15:11 | |
| Coke | can probably golf that down to a very small bug report. | ||
| fbrito | ah, I have to run quickcover again. "get_pmc_keyed" is probably already covered | 15:13 | |
| nopaste | "Coke" at 192.168.1.3 pasted "bug in MultiSub's get_pmc_keyed_str vtable (courtesy fbrito++)" (12 lines) at nopaste.snit.ch/27503 | ||
| Coke | fbrito: that snippet should not be generating a NPE IMO. | 15:14 | |
| You should probably open a trac for that. | 15:15 | ||
| dukeleto | fbrito: you probably found a bug! | ||
| fbrito: that is the point of these coverage tasks. If no bugs are found, they wouldn't be as useful | 15:16 | ||
| fbrito: nice work! | |||
| fbrito | :D | 15:17 | |
| Coke | yah, the comments on those are suspicious. | 15:19 | |
|
15:19
danielmarth left
|
|||
| fbrito | ah, and "make quickcover" is not being showed in "make help" | 15:20 | |
| dukeleto | fbrito: quickcover is very new. someone forgot to add it to that. If you want to do it, I will apply it | 15:21 | |
| Coke | easy fix. momentito. | ||
| ... or that works. | |||
| dukeleto | or Coke++ will do it | ||
| darn! | |||
| Coke | I'll do it. ;) | ||
| fbrito | ahha | ||
| dukeleto steps away | |||
| dalek | rrot: 1e16125 | Coke++ | config/gen/makefiles/root.in: add a note about "quickcover" to "make help" |
15:24 | |
| fbrito | ok, so I still need to test either "get_pmc_keyed", "get_pmc_keyed_str" or "get_iter" | 15:26 | |
|
15:29
mtk joined
15:30
mtk left
15:31
mtk joined
|
|||
| dukeleto | fbrito: try get_iter first | 15:31 | |
| fbrito | yes. I could raise successfully the invalid arg type exception | 15:32 | |
|
15:33
fperrad joined
|
|||
| fbrito | btw, I have noticed that some exceptions ends with new lines ("\\n") while some of them don't | 15:35 | |
| dukeleto | fbrito: oy vey. That is probably a bug as well | ||
| fbrito: although, you shoudn't create tests that depend on the stringified error of an exception | 15:36 | ||
| fbrito: it is better to check that the correction exception type was thrown | |||
| fbrito: but some of our tests check the string representation. we need to fix those | |||
| fbrito | hm | 15:37 | |
| yes :). increased testing coverage from 30% to 62.5%. I will open a pull request after rewriting the exceptions tests | 15:47 | ||
| Coke | fbrito++ | 15:48 | |
| dukeleto: regarding the html_cleanup requiring 5.12 - because when I wrote it I was lazy. Much in the same way that checkdepend had a bunch of external deps. | 15:49 | ||
| I figured we'd get it working first, then update it later if we had to. (also, it's only ever used by "make html", so even if THAT required 5.12, I wasn't too worried) | |||
| fbrito | going to lunch. brb | 15:50 | |
|
15:50
mtk left
|
|||
| Coke | ... looks like docs.parrot.org is stuck at 2.9.1 ? | 15:51 | |
| (thought it was newer than that.) | |||
| moritz | .oO( didn't you know that we only updated it for supported releases? *SCNR* ) |
15:52 | |
| Coke | aloha: msg dukeleto - I think moritz just volunteered to get an account on parrotvm.osuosl.org so he can update docs.parrot.org for releases! | 15:54 | |
| aloha | Coke: OK. I'll deliver the message. | ||
| dukeleto | Coke: i already updated it to not use 5.12 | ||
|
15:54
mtk joined
|
|||
| dukeleto | moritz++ | 15:55 | |
| Coke | dukeleto: I'll udpate it for 2.10.0, 2.10.1, and 2.11.0 (sheesh) | 15:56 | |
| dukeleto | Coke: danke! | ||
|
15:57
mtk left
15:58
whiteknight joined,
mtk joined,
mtk left
|
|||
| Coke | these people have accounts on docs.parrot.org : | 15:58 | |
| actown allison coke cotto jeff jhorwitz particle rspier russell_h | |||
| whiteknight | fbrito: $P1 = $P0[signature] | ||
|
15:58
mtk joined
|
|||
| Coke | please make sure that you and whiteknight at least get accounts on that box (just ask OSUOSL for privs) | 15:59 | |
| dukeleto | Coke: how do I get an account? | 16:00 | |
| Coke | (just ask OSUOSL for privs) | 16:01 | |
| open a ticket with them for an account. | |||
|
16:04
hercynium joined
|
|||
| dukeleto | Coke: hokey dokey | 16:04 | |
| plobsing | cotto++ # TT #1704 deprecation work | 16:11 | |
| dalek | rrot: adc6e98 | Coke++ | docs/project/release_manager_guide.pod: update to reflect reality. |
16:12 | |
| Coke | docs.parrot.org updated - devel/latest now point to 2.11.0, stable/supported still point to 2.9.1 | 16:13 | |
| 2.10.0, 2.10.1 both exist, but you have to go to them directly to see them. You might need to add a trivial ?foo to avoid server side caching of 2.9.1 as latest until the cache clears. | 16:14 | ||
|
16:14
theory joined
16:16
Matt_ joined
|
|||
| dukeleto | Coke: thanks! | 16:17 | |
| Coke | dukeleto: ayup. | 16:21 | |
| fbrito | dukeleto: I forgot how I should test exceptions on their type instead of on their stringified error :s | 16:22 | |
| ah, I found an example. nevermind :) | 16:25 | ||
| dukeleto | fbrito: awesome! I can code review for you, if you want | 16:38 | |
| fbrito: which example did you find? | |||
| fbrito | I found something on another test file, but it is way too verbosity (haha, don't know if I can use this word in this way) | 16:40 | |
| pastie.org/1408882 | 16:41 | ||
| both are passing | |||
| (.exception_is is a macro that I copied from somewhere else) | 16:42 | ||
| it doesn't look very nice, but I can't find a better way to test exceptions on their type | 16:44 | ||
|
16:53
JimmyZ left
|
|||
| Coke | We have a platform build dependency issue. | 16:55 | |
| (minor, but causes checkdepend.t to fail based on which platform you build on.) | |||
| (darwin's sysmem.c didn't include the parrot header file. But it looks like it should, so this is an easy fix.) | 16:59 | ||
|
17:02
whiteknight left
|
|||
| dalek | rrot: 792d048 | Coke++ | config/gen/platform/darwin/sysmem.c: Add missing #include |
17:05 | |
| rrot: 5f7ddd9 | Coke++ | / (3 files): move build dependencies test to t/src This is a compromise - really is a coding standards test, but requires a full build, so put it in t/src with the feature tests. mikehh++ for the suggestion |
|||
| Coke | aloha, msg mikehh I moved checkdepend | ||
| aloha | Coke: OK. I'll deliver the message. | ||
| dukeleto | fbrito: "it is way too verbose" is how you would say it, but I understood you :) | 17:06 | |
| fbrito: yeah, i am going to add a new function to test_more.pir to make testing exception types easy | 17:07 | ||
|
17:11
whiteknight joined
|
|||
| fbrito | dukeleto: I have just opened a pull request with my work | 17:11 | |
| cotto | msg bacek Can you add a deprecation notice for concat_s_s? | 17:13 | |
| aloha | OK. I'll deliver the message. | ||
| Matt_ | Just submitted a pull request: github.com/parrot/parrot/pull/47 | 17:15 | |
| Coke | cotto: isn't that covered by an existing ticket? | ||
| t/src/embed.t (Wstat: 0 Tests: 15 Failed: 0) TODO passed: 3 | 17:16 | ||
| cotto | Coke, it also needs to be listed under ParrotDeprecations | ||
| dukeleto | Matt_: link for your task? | ||
| fbrito: task link? | |||
| Matt_ | www.google-melange.com/gci/task/sho...9336715502 | 17:17 | |
| fbrito | and mine is www.google-melange.com/gci/task/sho...048#ws4001 | ||
| dukeleto | Matt_: i just saw it in the pull request :) | ||
| Matt_: task accepted! | 17:18 | ||
| fbrito: task accepted! | |||
| now both of you find new tasks :) | |||
| Matt_ | thanks!! | 17:19 | |
| done: www.google-melange.com/gci/task/sho...9336697097 | |||
| :) | |||
| dukeleto | Matt_: accepted | 17:20 | |
| cotto | dukeleto, have you reviewed and pulled both their code? | ||
| dukeleto | cotto: i reviewed it, but have not merged it | ||
| cotto | er, requests | ||
| should I? | 17:21 | ||
| dukeleto | cotto: i don't want to block them, since they can only have 1 task at a time | ||
| cotto: go for it! | |||
| fbrito | Matt_: wow, you are fast :D | ||
| dukeleto | cotto: i plan to add a new function to test_more.pir to make it easy to test exception types | ||
| Matt_ | fbrito: There are people that have 140 points thats like impossible lol | ||
| cotto | rfw's pretty close to that | 17:22 | |
| dukeleto | Matt_: well, students that are in the top 10 all get the same thing, so having the highest score doesn't matter too much | 17:23 | |
| Matt_: but being in the top 10 does :) | |||
| Coke | aloha, msg whiteknight t/src/embed.t (Wstat: 0 Tests: 15 Failed: 0) TODO passed: 3 | ||
| aloha | Coke: OK. I'll deliver the message. | ||
| dukeleto | Kapace_: you are close to being in the top 10! Let me know if you need tasks | 17:24 | |
| whiteknight | Coke: I'll look at it | ||
| cotto | reviewing multisub changes now | ||
| fbrito | we still have almost 2 weeks left | 17:25 | |
| GCI is going to end at the same day that I am going to write tests to go to university :) | 17:26 | ||
| dukeleto | fbrito: wow! which uni are you applying to? | 17:27 | |
| fbrito | I am applying to computer science on a local university (here in my city, in Brazil) | ||
| I also did a research on universities on USA, but they are really expensive :S. Usually U$ 55k~/year | 17:29 | ||
| dukeleto | fbrito: yes, US universities are very expensive. But you could probably get many grants/scholarships | ||
| fbrito: putting "top 10 in gci" should get you into most computer science departments | 17:30 | ||
| Matt_ | I wanna get into MIT when I apply next year | ||
| dukeleto | fbrito: you should apply for scholarships and grants. You will get them. | ||
| Matt_: that sounds awesome! I am sure GCI will help greatly with that. If you need a letter of recommendation, let me know. | 17:31 | ||
| whiteknight | Matt_: what do you want to major in? | ||
| dukeleto | fbrito: same goes for you | ||
| Matt_ | whiteknight: computer science lol | ||
| dukeleto | Matt_: don't overlook other kinds of math and engineering that still have lots of computer science in them | ||
| Matt_: CS is usually very theoretical | 17:32 | ||
| fbrito | I am also really interested in Statistics | ||
| dukeleto | Mathematicians consider CS a subfield of math, so the CS people are always competing to look cool in from of the mathematicians. | ||
| s/from of/front of/ | |||
| cotto | there's an xkcd about that | 17:33 | |
| dukeleto | fbrito: i started as a CS major but then I got bored with what they were teaching, so I switched to math | ||
| fbrito: you are so advanced in CS, that you will probably not learn much in the first 1 or 2 years of a CS program, unless they are smart enough to let you skip stuff | 17:34 | ||
|
17:34
davidfetter joined
|
|||
| Matt_ | dukeleto: thats true. I took AP computer science this year and didn't open the text book once | 17:34 | |
| cotto | If you know what recursion is and how to program, you're generally ahead of the curve. | ||
| dukeleto | cotto: how are those code reviews? i saw a few small issues, but nothing big enough that I wouldn't merge | 17:35 | |
| cotto | so far so good. I just need to minimize xchat so I stop distracting myself | ||
| some code could be clearer by using is_ok, but that's fairly minot | 17:37 | ||
| tadzik | 50% of my student-friends didn't pass the programming classes in the 1st semester | 17:39 | |
| fbrito | :o | ||
| dalek | rrot: b7f65df | fbrito++ | tools/dev/github_post_receive.pl: Add diff changes email sent from GitHub hook |
17:40 | |
| rrot: c047623 | fbrito++ | tools/dev/github_post_receive.pl: Add auth token verification to GitHub hook |
|||
| rrot: 72c3eef | cotto++ | /: Merge branch 'fbrito-gci-hook' |
|||
| Coke | Something like "Computer & Systems Engineering" is an option (it was theoretically half comp sci, half electrical engineering. Practically, it was more like 20/80). | ||
| dukeleto | woot! That hook will make many people happy. | ||
| CS usually has a very large drop-out rate the first year. | 17:41 | ||
| cotto | tadzik, that's typical. It's hard to understand recursion at first. | ||
| dukeleto | Many people think a computer science degree involves learning to use Excel. | ||
| tadzik | cotto: recursion was easier for them than pointers and memory allocation | ||
| cotto | dukeleto, now we just need to host it somewhere where it can be used. | ||
|
17:42
Coke left
|
|||
| tadzik | hrm | 17:42 | |
| cotto | tadzik, those too | ||
| dukeleto | cotto: i suggest an OSUOSL server, or feather | ||
| cotto: OSUOSL servers are much more reliable, in terms of uptime | |||
| tadzik | I'm sitting them doing nothing, and GCI students make me ashamed of the fact. Are there any non-GCI things a newcomer can do? | ||
| dukeleto | tadzik: yes! | 17:43 | |
| tadzik: what is your interest? What do you want to learn about? | |||
| tadzik | dukeleto: I got quite interested in Lorito, but I can't find myself over there | ||
| dukeleto | tadzik: lorito is still in the very early stages. There will be more soon. | 17:44 | |
| tadzik: are you familiar with nqp-rx and PGE? | |||
| tadzik: many of our HLL's are still using PGE. We need to change some of them to nqp-rx, like Cardinal. | |||
| tadzik: does that sound fun? | |||
| tadzik: github.com/parrot/cardinal | |||
| tadzik: Cardinal is Ruby on Parrot | |||
| dalek | rrot: bba4c1c | (Matt Rajca)++ | t/src/embed/strings.t: Increased test coverage for embed/strings.c Signed-off-by: Christoph Otto <christoph_git@mksig.org> |
17:45 | |
| dukeleto | tadzik: or maybe convert github.com/parrot/ecmascript | ||
| davidfetter | mmm...ecmascript :) | 17:46 | |
|
17:46
Coke joined
|
|||
| dukeleto | davidfetter: howdy | 17:46 | |
| davidfetter | how goes, dukeleto ? | 17:47 | |
| cotto | Matt_, do you want dalek to credit you by your github username? | ||
| Coke | *&#^@$ internet. | ||
| cotto | wb Coke | ||
| Matt_ | cotto: thats fine | ||
| dukeleto | davidfetter: enjoying a foggy portland morning | 17:49 | |
| davidfetter also enjoying morning. caffeinating atm | 17:50 | ||
| dukeleto, atm, how would i load pir 1st and other pir-based languages later? i.e. is it possible right now, or does it need extra machinery? | 17:51 | ||
| PLs* | |||
| dalek | rrot: fa08721 | cotto++ | CREDITS: add mattrajca++ to CREDITS |
17:52 | |
| rrot: 9ab69a6 | cotto++ | CREDITS: remove trailing space, expand description |
|||
| dukeleto | davidfetter: PIR is loaded first in PL/Parrot currently | 17:53 | |
| davidfetter: it must be loaded first, because PIR is needed to properly load PL/Perl6 | |||
| davidfetter: what do you mean by "later" ? | |||
| davidfetter | let's imagine i'm packaging the PLs separately | 17:58 | |
| PL/PIR, PL/Rakudo, PL/Cardinal, etc., etc. | 17:59 | ||
| i'd like to ship PL/PIR as its own package. similar with languages that depend on it | |||
| ...with dependency info, of course | |||
| tadzik | dukeleto: sounds like fun indeed :) Pardon my absence, got a suprise kernel picnic | 18:00 | |
| dukeleto: I don't know much about Ruby, but I should be able to fix the parser | 18:05 | ||
| davidfetter | dukeleto, anyhow, that's the end goal. the question is, what extra machinery, if any, would such a system need to have? | ||
| dukeleto | tadzik: sounds awesome! let me know if you need guidance | 18:16 | |
| davidfetter: we would need to split stuff out of plparrot.c and things would need to link against plparrot.o | 18:17 | ||
| davidfetter: i've planned that for a long time, but haven't gotten around to it | |||
| davidfetter: do you want to start a document for what things need to be refactored in PL/Parrot? | |||
| davidfetter | sure :) | ||
| dukeleto | davidfetter: maybe a github issue that is a milestone? | ||
| davidfetter: or on the wiki | |||
| davidfetter: a place for you to ask questions and i can answer them, and build up a plan of attack | 18:18 | ||
| davidfetter | k | ||
| um, which wiki? | |||
| dukeleto | davidfetter: plparrot wiki on github | 18:21 | |
| davidfetter: create a new wiki page, something like "The Great PL/Parrot Refactoring" or something else grandiose | |||
| davidfetter | heh | ||
| ok :) | |||
| i'm wondering whether pg also needs new machinery. it's not clear how a language would "depend on" another atm | 18:22 | ||
| a PL* | |||
| dukeleto | davidfetter: well, for now, the PL could attempt to load PL/PIR from PL/PGSQL and if there is an error, throw an exception | 18:23 | |
| davidfetter | checking if it were already loaded first, i presume | 18:24 | |
| hrm. where do i put code in so CREATE LANGUAGE executes it? | |||
| dukeleto | davidfetter: plparrot_secure.pir if it is PIR | 18:25 | |
| davidfetter: if you need C, you need to fiddle in plparrot.c | |||
| davidfetter | dukeleto, hrm. here's the effect i want. unsure how i'd do it. when something calls CREATE LANGUAGE PL/Perl6U, i'd like it to check for the existence of PL/PIRU and bail out if it doesn't find it. | 18:27 | |
| i think there should also be an entry in pg_depend so some well-meaning soul can't drop PL/PIRU without first dropping everything that depends on it | |||
| ...which basically means all the checks i have in mind look like SQL to me | 18:28 | ||
| dukeleto | davidfetter: yep | 18:29 | |
| davidfetter: put that in the wiki (about what happens when someone calls create language) | |||
| davidfetter | ok :) | ||
| dukeleto | davidfetter: currently, PL/Perl6 is loaded from C | ||
| davidfetter: just after PL/PIR | 18:30 | ||
| davidfetter | um, there's nothing on the github wiki | ||
| dukeleto | davidfetter: yeah, i know. let's fix that :) | 18:35 | |
| davidfetter | fixing... | ||
| github.com/leto/plparrot/wiki/The-...ng-Project | 18:37 | ||
| dukeleto | davidfetter: very nice! | ||
| davidfetter thinks DROP LANGUAGE...CASCADE can have some pretty serious foot-gunnery in it | 18:38 | ||
| then again, so can every DROP...CASCADE operation :P | |||
| Kapace_ | dukeleto: very yes, as many parrot tasks as possible, please! | 18:46 | |
| Myhrlin | clear | 18:50 | |
| woops sorry | |||
| dukeleto | Kapace_: do you have one to work on now? | 18:51 | |
| Kapace_: i will add more code coverage tasks | |||
| tadzik | .sub '_not' :vtable('logical_not') :method -- why is that wrong, and how should it be? | 18:52 | |
| Kapace_ | dukeleto: yes I'm still working on the serialize function | ||
| dukeleto | tadzik: not sure | 18:58 | |
| tadzik | dukeleto: that's one of the why's of briken cardinal: error:imcc:'logical_not' is not a vtable, but was used with :vtable. | 18:59 | |
| dukeleto | tadzik: ah. the name probably changed or something stupid | ||
| Kapace_ | how can i get the length of a Parrot_String? | ||
| dukeleto | tadzik: src/vtable.tbl | 19:00 | |
| Kapace_: from which language? C or PIR? | |||
| Kapace_ | dukeleto: C | 19:01 | |
| dukeleto | tadzik: there is a 'neg' vtable, but i can't tell if it is negate or negative | 19:02 | |
| Kapace_ | Parrot_str_length maybe | ||
| dukeleto | Kapace_: perldoc src/string/api.c | 19:03 | |
|
19:06
simcop2387_ joined
|
|||
| tadzik | dukeleto: found this neg, I have a new problem now. Method 'stdhandle' not found for invocant of class 'ParrotInterpreter' | 19:06 | |
| dukeleto | tadzik: yep, that was changed to get_stdhandle, i think | 19:07 | |
| tadzik: there is a deprecation wiki page for it | |||
|
19:07
simcop2387 left,
simcop2387_ is now known as simcop2387
19:11
[hercynium] joined
19:12
[hercynium] left
19:13
[hercynium] joined,
Coke left
|
|||
| tadzik | wklej.org/id/445598/ -- how do I diagnose this? | 19:14 | |
| Kapace_ | very carefully :P | 19:15 | |
| tadzik | :) | ||
| if only it'd give me a line or something | |||
| dukeleto looks | |||
| tadzik: try parrot -v | 19:16 | ||
|
19:16
hercynium left,
[hercynium] is now known as hercynium
|
|||
| tadzik | now that's verbose | 19:16 | |
| wklej.org/id/445602/ | |||
| dukeleto | tadzik: somewhere, an exception handler doesn't exists where it should | ||
| tadzik: might need to use gdb or parrot -D | 19:17 | ||
| tadzik: -D can take many different flags to give debug info | |||
| tadzik: but adding some 'say' lines to see which code is triggering that could work too | |||
| tadzik | I tried to compile just Hello world, but the debug info didn't get any easier | ||
| dukeleto | tadzik: yeah, 'parrot -v' isn't as useful as -D with the right flags | 19:18 | |
| Kapace_ | www.google-melange.com/gci/task/sho...9341406031 | 19:19 | |
| tadzik | trace looks informative, but I don't know what to look for: wklej.org/id/445609/ | 19:21 | |
| that's an alike-breaking helloworld: wklej.org/id/445613/ | 19:24 | ||
| dukeleto | tadzik: the die is dying within a die | 19:25 | |
| Kapace_: can you submit a pull request? | |||
| tadzik | that's what it looked like | ||
| Kapace_ | dukeleto: ok | 19:26 | |
| dukeleto | Kapace_: thanks! it makes it easier to keep track of it | ||
| Kapace_ | dukeleto: github.com/parrot/parrot/pull/48 | 19:27 | |
|
19:27
Psyche^ joined
19:28
Patterner left,
Psyche^ is now known as Patterner
|
|||
| dukeleto | Kapace_: sweet! | 19:29 | |
|
19:30
Coke joined
|
|||
| dukeleto | Kapace_: can you change your comments from // to /* ... */ ? | 19:33 | |
| Kapace_: some C compiler don't understand // | |||
| Kapace_: and the test will fail | |||
| Kapace_ | ok | 19:34 | |
| actually, I should just remove those commented lines | |||
| dukeleto | Kapace_: sounds good | ||
| Coke | removal of concat_s_s requires a patch to rakudo. | 19:36 | |
| moritz: ping | 19:38 | ||
| dukeleto | Kapace_: task accepted | 19:40 | |
| fbrito | what does "sweep 1" means? | 19:41 | |
| dukeleto | fbrito: makes the garbage collector do stuff | ||
| fbrito: i.e. free memory and other nefarious things | |||
| Kapace_ | dukeleto: thanks :) | 19:42 | |
| sorear | it re-enables the sweeper, which is or used to be controlled independantly from the marer | ||
| fbrito | I am writing a test to cover VTABLE destroy() and I saw in other tests that they usually do "null $P0; sweep 1" | ||
| dukeleto: ahh, makes sense. thank you :) | |||
| Coke | dukeleto: it /might/ make the GC do stuff, yes? | ||
| dukeleto | Coke: yes. it tell the GC to do something, and depending on whether it feels like it, the GC will do it | 19:43 | |
|
19:43
hercynium left
|
|||
| Coke | so slow to build rakudo. :| | 19:44 | |
|
20:02
rfw joined
|
|||
| tadzik | could someone patch cardinal with this: wklej.org/id/445679/ and help me inspect this die issue? | 20:09 | |
| dukeleto | tadzik: you probably have a commit bit to cardinal. do you have a bit to parrot.git on github? | 20:10 | |
| tadzik | dukeleto: I don't think so. But I'm w/o a browser atm anyway. | 20:11 | |
| dukeleto | tadzik: gotcha. i can patch it | 20:12 | |
| tadzik | I can set up a git server on my machine though | ||
| dukeleto: putting say as the first instruction in a main sub doesn't make it say it anyway, so loading the hll must be the one failing | 20:13 | ||
| dukeleto | tadzik: there is stuff that has :load or :init that is happening before main | 20:14 | |
| tadzik | a new thing learned | 20:15 | |
| load_bytecode "cardinal.pbc" is the thing that fails | 20:16 | ||
| dukeleto | tadzik: ah, that is progress | 20:17 | |
| tadzik: look at the pir that generates that pbc. that is where the error is | |||
| tadzik | ran with --target=PAST even 2+2 fails | ||
| dukeleto | tadzik: what generates cardinal.pbc? | 20:20 | |
| looks like we don't have the github post commit hooks in cardinal to notify us of commits | 20:21 | ||
| dukeleto attempts to fix | |||
| tadzik | dukeleto: cardinal.pir I believe. I've added say at the beginning of every sub in there, none gets executed | 20:22 | |
| dukeleto | tadzik: what happens if you run "parrot cardinal.pir" ? | ||
| tadzik: i committed your patch to cardinal | |||
| tadzik | dukeleto: nihil novi: ***FATAL ERROR: Exception thrown while dying from previous unhandled Exception | 20:23 | |
| dalek | rdinal: cfaad5d | dukeleto++ | README: Add some info to the README and test a post-commit hook |
||
| dukeleto | tadzik: where-ever there is a die in cardinal.pir, push an exception handler just before it. see what happens | 20:24 | |
| tadzik | dukeleto: there is none | ||
| dukeleto | tadzik: what about a 'throw' ? | 20:25 | |
| tadzik | dukeleto: now that I have a browser I see that I don't have a commit bit to cardinal | ||
| dukeleto: neither | |||
| dukeleto | tadzik: hmm. | ||
| tadzik | but there are many .includes | ||
| dukeleto | tadzik: see where that error is thrown from Parrot internals, and try to see what is happening | 20:26 | |
| tadzik | I'll look there | ||
| rfw | hm what's the point of the continuation METHOD in the Continuation PMC | ||
| dukeleto | tadzik: you might want to read what has been deprecated in the last year, and see if anything stands out | ||
| rfw: to continue? | |||
| rfw | it returns the continuation PMC of this Continuation... but isn't this continuation PMC already a continuation PMC | ||
| dukeleto | rfw: what does "git blame" say about those lines? | 20:27 | |
| rfw: they are probably very old | |||
|
20:27
sjn left
|
|||
| dukeleto | rfw: back when parrot developers had to fight dinosaurs to eat | 20:27 | |
| rfw | heh | ||
| leopold toetsch and vasily chekalkin | 20:28 | ||
| dukeleto | release the hounds! | ||
| sorear | Leo and bacek | ||
| dukeleto | bacek_at_work: why does the Continuation PMC have a continuation method? For any good reason? | ||
| rfw: leo is no longer involved in Parrot, but we can still blame bacek | |||
| rfw | lol | ||
| tadzik | ha, it's in src/builtins/globals.pir | 20:32 | |
| Coke | one potential way to update old projects like this is to get it working with the version of parrot it was last known to work with, then update parrot to the next supported version and see if it works there... | ||
|
20:33
whiteknight left
|
|||
| Coke | how do I do the equivalent of "prove -v path/to/foo.rakudo" | 20:33 | |
| whoops. | |||
| tadzik | found it | 20:34 | |
| $P6 = interp.'stdout_handle'(.PIO_STDOUT_FILENO) is the line that fails | |||
| is there anything wrong with it? | |||
| TimToady refrains from making a joke about P6 not recognizing 'stdout' | 20:35 | ||
| dukeleto laughs anyway | 20:36 | ||
| tadzik read that as "stout" | |||
| dukeleto | tadzik: perhaps the constant name has changed? | ||
| tadzik | hmm, may be | ||
| dukeleto | tadzik: is there anything on the deprecation wiki page? | ||
| tadzik | #define PIO_STDOUT_FILENO 1 | 20:37 | |
| in parrot/include/parrot/io.h | |||
| so looks ok | |||
| dukeleto | tadzik: perhaps the method name changed? is it 'set_stdout_handle' by any chance ? | 20:39 | |
| tadzik | nope, method not found then | 20:40 | |
| so the problem is not in finding methods it seems | |||
| sorear | you're looking for a getstdhandle or something | ||
| rfw | wha, no pmc files were covered when making cover | ||
| goddammit what | |||
| dukeleto | rfw: make fullcover ? | 20:41 | |
| rfw | dukeleto: shouldn't need to do that | ||
| dukeleto | rfw: you got bugs! | ||
| rfw | i see src/pmc in QUICKCOVER_DIRS | ||
| sorear | tadzik: try changing it to $P6 = interp.'stdout_handle'() | ||
| tadzik | METHOD stdout_handle(PMC *newhandle :optional) is in parrot/src/pmc/parrotinterpreter.pmc | ||
| dukeleto imagines a "You've Got Bugs" announcement in the AOL voice | 20:42 | ||
| tadzik | sorear: bingo! | ||
| now I wonder why is that | |||
| rfw | urk | 20:48 | |
| no gcno files are being generated | |||
| for /src/pmc | |||
| Coke | anything in parrot change in the last week or so that would change the handling of an exit exception? | 20:50 | |
|
20:50
contingencyplan joined
|
|||
| tadzik | no return in nqp? | 20:53 | |
| or rather: there used to be one, but not anymore? | |||
| Coke | I think there is, yes. | ||
| tadzik | Could not find sub return | 20:54 | |
| current instr.: 'cardinal;cardinal;Grammar;Actions;is_a_sub'Could not find sub return | |||
| Coke | partcl's been using it for some time. | ||
| tadzik | but now as I look at nqp-rx tests there is no return used in sub.t | 20:55 | |
| Coke | why does a simple "exit 5" in parrot generate output? | ||
| tadzik | ah, there is return.t | ||
| moritz | Coke: pong | 20:56 | |
| Coke | moritz: ETOOLONGAGO. | ||
| rfw | could someone run make cover on master HEAD for me and see if anything is generated for src/pmc | ||
| tadzik | might that be cardinal using PGE rather than nqp-rx? | ||
| Tene | yes | 20:57 | |
| tadzik | even though it's compiled using parrot-nqp anyway? | 20:58 | |
| oh, no, it works now. return 1 > return(1) | |||
| so cardinal works and can run its tests | 20:59 | ||
| which fail, but the first step is taken | |||
| dukeleto | tadzik++ | ||
| tadzik | now there is Null PMC access in get_bool() :) | 21:00 | |
| rfw | 86.60% coverage in continuation pmc now | ||
| yay | |||
| that continuation method is still really weird | |||
| tadzik | now that's funny, ; | 21:04 | |
| ./installable_cardinal < sanity-small.t works, without the < it fails horribly | |||
| maybe it's time to make it use nqp | |||
| rather than PGE | 21:05 | ||
| Tene | tadzik: very long past time, actually. | ||
| Coke | (parrot emitting warnings on exit) behavior changed since 2.9.1, I'll try to bisect. | ||
| Tene | tadzik: I started on it once, at least a year ago, probably more. | ||
| tadzik | mhm | ||
| rfw | github.com/parrot/parrot/pull/49 submitted a pull request | 21:06 | |
| dukeleto | rfw: task link? | 21:07 | |
| rfw | www.google-melange.com/gci/task/sho...9329259889 | ||
| dukeleto | rfw: accepted | 21:08 | |
| rfw | thanks | ||
| dukeleto | rfw: keep going! | 21:10 | |
| moritz | how long is GCI going? | ||
| rfw | of course :D | ||
| moritz: until jan 10 | |||
| moritz | cool | ||
| rfw++ | |||
| rfw | 2 points away from jumpyshoes | ||
| sorear | who wants to keep going after jan10? | 21:11 | |
| dukeleto | sorear: perhaps Parrot should run our own contest. good idea. | 21:12 | |
| rfw | do you get a parrot for every task | ||
| tadzik | dukeleto: what would be the workflow for moving cardinal to nqp-rx? Slowly transforming the code would do, or the best way is to create a new language and slowly copy chunks of code inspecting them on the fly? | 21:14 | |
|
21:15
jan joined
|
|||
| Tene | tadzik: IMO, you want to first get all the tests passing with the current grammar. | 21:15 | |
| dukeleto | tadzik: not sure. it is a good question. | ||
| tadzik: but I would listen to Tene++ | 21:16 | ||
| Tene | Then you want to try parsing with nqp-rx instead, and then just work on fixing errors until it works again. | ||
| tadzik | well, I feel quite confused in this situation. A code ran in the repl works. Exactly the same code executed from the file fails horribly | 21:17 | |
| rfw | "Bring test coverage for src/misc.c up to 100%" -> would i just need to make a t/src/misc.t that tests Parrot_vsnprintf with size_t of 0 and Parrot_secret_snprintf? | ||
| Tene | tadzik: then it's not dealing with opening and reading files correctly, or something like that. That should be an independent error that's pretty straightforward to track down. | 21:18 | |
| Those two code paths are mostly the same. | |||
| rfw | or do these actually get called somewhere | ||
| tadzik | wklej.org/id/445749/ | ||
| ha | 21:20 | ||
| that might be the removal of this constant | |||
| and now it can work only on stdin | 21:21 | ||
| Tene | what constant? | ||
| tadzik | Tene: PIO_STDOUT_FILENO | ||
| Coke | I wouldn't necessarily recommend getting the first version working again first. | ||
| tadzik | 2141 @sorear | tadzik: try changing it to $P6 = interp.'stdout_handle'() | ||
| Coke | It wouldn't have helped at all with old partcl, but the change between the 2 versions was pretty drastic. | ||
| tadzik | it was try changing it to $P6 = interp.'stdout_handle'(.PIO_STDOUT_FILENO) | ||
| s/try changing it to// | 21:22 | ||
| sorear | tadzik: that line of code is bogus, it redirects stdout to an Integer PMC | ||
|
21:22
bacek joined
|
|||
| tadzik | mhm | 21:22 | |
| Tene | Coke: cardinal is rather more standard, and replacing the parser should be a pretty isolated operation, not involving much non-parser change. | 21:23 | |
| sorear | bacek: hi | 21:32 | |
|
21:35
rurban_ joined,
bluescreen left
21:37
rurban left,
rurban_ is now known as rurban
|
|||
| Coke | jeez, got 5 "git bisect skip"s in a row. | 21:39 | |
| (and counting...) | |||
| tadzik | cardinal gets a NULL PMC access while calling $P1 = $P0.'command_line'(args_str), $P0 being a `compreg 'cardinal'` | 21:42 | |
| what can go wrong there? | 21:44 | ||
| rfw | what the hell | 21:52 | |
| Coke | is $P0 a null PMC? | 21:54 | |
| tadzik | how can I tell? | 21:55 | |
|
21:56
fperrad left
|
|||
| Coke | run it through parrot -t1, or insert code to check. "if_null $P0, label_to_indicate_error" | 22:00 | |
|
22:01
whiteknight joined
|
|||
| rfw | hey whiteknight | 22:02 | |
| whiteknight | hello rfw | 22:03 | |
| rfw | could you approve www.google-melange.com/gci/task/sho...9341582405 | ||
| also i can't seem to get coverage working | 22:04 | ||
| tadzik | Coke: not null | ||
| rfw | the coverage report on the parrot thing says misc.c has 87% coverage | ||
| Matt_ | rfw: Do you mean generating coverage reports? | ||
| rfw | but locally it reports i have 29.6% | ||
| Matt_ | I had issues with that yesteday | ||
| rfw | Matt_: no, i just have weird statistics | 22:05 | |
| Matt_: well, also that it doesn't like to generate src/pmc coverage reports | |||
| whiteknight | rfw: let me look | ||
| rfw: accepted | 22:06 | ||
| rfw | thanks | 22:07 | |
| Coke | tadzik: in that case, I'd check the backtrace to see where the NPE is coming from. | ||
| rfw | whiteknight: i added a t/src/misc.t test but cover seems to be ignoring it completely | ||
| Coke | if it doesn't tell you, then I'd run it through parrot -t4 to narrow it down, then add a "trace 1" to that sub to see where it's going south. | ||
| rfw | ... and there some more | ||
| then* | |||
| whiteknight | rfw: are there other files in that folder that are included by the test suite? | 22:08 | |
| rfw | um i don't think so | ||
| dalek | rrot: e132190 | mikehh++ | tools/dev/github_post_receive.pl: fix perlcritic failure - Found platform-specific perl shebang line |
22:10 | |
| Matt_ | whiteknight: I'm about to starting adding tests for embed/api.c and I need to test functions like Parrot_api_set_compiler. Should I ultimately run a bytecode file after setting all of the different options during the test? | 22:11 | |
| rfw | whiteknight: github.com/rofflwaffls/parrot/blob...src/misc.t | ||
| whiteknight | Matt_: No, I don't think you have to. A "compiler" is just a PMC. You can make it any PMC, even something that isn't a compiler | 22:12 | |
| Matt_: So in one test, you can create something like a STring PMC with a unique message, call _set_compiler with it, then use _get_compiler with it to verify you get the same thing back | |||
| Matt_ | whiteknight: Thanks! I also need to test functions like Parrot_api_add_dynext_search_path. same answer? | ||
| whiteknight | Matt_: That one is hard, because we have a function to add a search path, but not a function to examine the list of search paths | 22:13 | |
| Matt_ | whiteknight: Yeah. I noticed many of the settings have 'setter' functions but no corresponding 'getter's | ||
| rfw | whiteknight: could you try running cover with that misc.t test? | 22:14 | |
| i'm not sure what's wrong here | 22:15 | ||
| fbrito | rfw: hello :D | 22:21 | |
| rfw | hi fbrito | ||
| actually fbrito | 22:22 | ||
| pm | |||
| tadzik | if $lex && ~lookup_class($lex) eq 'Sub' { return 1; } ā that's generating this NULL PMC access | 22:25 | |
| may it be stringifying? lookup_class() result? | 22:26 | ||
| it still looks insane to me that the cause for the compiler failing only when reading from file may live somewhere in the actions file | 22:29 | ||
|
22:51
whiteknight left
|
|||
| Coke | so far have had to bisect skip 14 commits trying to bisect. :P | 22:53 | |
|
22:57
Tene left
|
|||
| tadzik | dukeleto: any ideas? | 23:03 | |
| mikehh | Coke: checkdepent does not check frontend/parrot/main.c amongst others | 23:07 | |
|
23:08
Yuki`N joined
|
|||
| mikehh | which btw does not build with g++ | 23:10 | |
| rfw | rep g | 23:21 | |
| !rep g | |||
| bah how does that work again | |||
| Coke | mikehh: it only checks src/ and compilers/ - feel free to fix that. | 23:22 | |
| rfw | whwhere did you go | 23:23 | |
| Coke | actually, I can. | ||
| rfw | oh, that's where he went | ||
| Coke | grippingly, I am in the middle of a bisect. | ||
| i'll get it tonight if no one else does. | |||
| Coke ponders pushing a more stringent "do not break master" policy. :P | 23:25 | ||
| (up to /20/ skips...) | 23:28 | ||
|
23:29
whiteknight joined
|
|||
| rfw | hey whiteknight | 23:30 | |
| whiteknight | hello | ||
| sorry I'm moving slow. sick toddler here | |||
| rfw | ah | ||
| could you try making cover after adding the test github.com/rofflwaffls/parrot/blob...src/misc.t (when you can)? | 23:31 | ||
| mine is being weird | |||
| whiteknight | make realclean && reconfigure? | 23:35 | |
| rfw | i did | ||
| i'm only getting ~30% coverage | |||
| whiteknight | ok | ||
| rfw | and none of it is part of the tests i added | ||
|
23:36
cognominal left
23:39
gg411 joined,
gg411 left
|
|||
| mikehh | whiteknight: git status reports untracked files - 3 files -> src/embed/*.o and 6 -> t/src/embed/pmc_?.c | 23:40 | |
| dalek | rrot/nwellnhof/make_cover: b5c1717 | nwellnhof++ | config/ (3 files): Fixes to the make cover targets - Run gcov from build dir to make it find and include the source code - Make HTML report generated with Devel::Cover optional - Work around Debian bug #535755 - Pass -no-gcov to cover, we run gcov and gcov2perl ourselves - Set default database for quickcover to cover_db - Make quickcover run 'make test_core' to improve coverage - Use the same source directories for quickcover |
23:41 | |
|
23:43
Tene joined
23:44
gg411 joined
|
|||
| rfw | whiteknight: any luck? D: | 23:44 | |
| whiteknight | rfw: not done yet | 23:46 | |
| rfw | ah okay | ||
| mikehh | bunch of examples_tests fail with error:imcc:The opcode 'concat_s_sc' (concat<2>) was not found. Check the type and number of the arguments | 23:47 | |
| what is the replacement? | |||
| Matt_ | whiteknight: How would you recommend testing functions like Parrot_api_set_stdhandles(Parrot_PMC interp_pmc, Parrot_Int in, Parrot_Int out, Parrot_Int err) they don't have corresponding getters to make sure the internal state was actually set | 23:48 | |
| mikehh | and error:imcc:The opcode 'concat_s_s' (concat<2>) was not found. Check the type and number of the arguments | ||
|
23:55
cotto left
|
|||
| whiteknight | Matt_: That's a good question. | 23:57 | |
| Matt_: is that function used anywhere? | |||
| Matt_ | whiteknight: Nope, just grep'ed | 23:59 | |
| whiteknight | Matt_: Looking at the function signature for it, I suspect that function is ill-conceived. Comment it out for now | ||