|
Parrot 3.8.0 "Magrathea" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 29 September 2011. |
|||
|
00:15
benabik joined
|
|||
| benabik | o/ #parrt | 00:15 | |
| *parrot | |||
|
00:43
bacek_at_work joined
00:44
aloha joined
|
|||
| dalek | rrot/kid51/testsets2: 40d1c78 | jkeenan++ | t/fullharness: Begin to add a smolder_fulltest equivalent. |
01:33 | |
| benabik | Why would I be having problems calling SUPER() in a PMC? It's failing to link with unknown symbol _SUPER. :-/ | 01:44 | |
| soh_cah_toa | benabik: nopaste it | 01:46 | |
| benabik | soh_cah_toa: I'm trying to isolate it from other code changes, so I might in a little bit. | 01:49 | |
| soh_cah_toa | sure | ||
| benabik | Hm. Maybe SUPER doesn't work inside methods? | 01:57 | |
| Ahhhhh…. No it doesn't. | 01:58 | ||
| That's the thing that irritates me the most about subclassing in Parrot. Very difficult to get at the superclass' methods. | 02:01 | ||
| soh_cah_toa | benabik: huh? why wouldn't SUPER work inside methods? | ||
| benabik | soh_cah_toa: pmc2c doesn't mangle SUPER inside methods, just inside VTABLEs. | 02:02 | |
| Why? I don't know. | |||
| soh_cah_toa | yeah, looks like you're right | 02:03 | |
| that's really stupid | |||
| there has to be some reason why that's so. i mean, i can't imagine that something like that has gone overlooked this long | 02:04 | ||
| benabik | Have you seen the hackery needed to call an overrided method in PIR? It's kinda crazy. | ||
| soh_cah_toa | nah | ||
| benabik | I can't find the one I got it from… It was more impressive... | 02:05 | |
| github.com/parrot/parrot/blob/nqp_...ler.pm#L16 | 02:06 | ||
| Hah! I know why this test works with annotations not setting the directory! I bet it doesn't use an annotation segment | 02:18 | ||
| The simplest answer is usually the best. | |||
| Nope. | 02:20 | ||
| *sigh* | |||
| Well, I know what the superclass is doing in that method so I can just do it manually. | 02:24 | ||
| dalek | rrot: bbd9822 | benabik++ | src/pmc/packfileannotations.pmc: PackfileAnnotations: Ignore SUPER a little less We didn't call the superclass's init, and the superclass has a set_directory which does a little bit of work. Sadly, SUPER doesn't work inside of methods, so this is basically an inlined version. |
02:50 | |
| rrot: 89bab21 | benabik++ | src/pmc/packfiledebug.pmc: PackfileDebug: Bring more sanity to VTABLEs - We have a custom mark VTABLE, so mention that in init. - Shorten mark a little by getting all the attributes at once. - The get_integer VTABLE is actually returning the number of elements in the PMC, so use the elements VTABLE. - The line number is an integer so use get_integer_keyed_int This keeps around get_pmc_keyed_int as a wrapper. - Refactor get_string_keyed_int in preparation for further changes. |
|||
| rrot: 883091c | benabik++ | src/pmc/packfiledebug.pmc: PackfileDebug: Lookup filenames in the const table The method of doing so is modeled after the code in PackfileAnnotations. |
|||
| CT: 4593f7d | benabik++ | src/disasm.winxed: disasm: Simplify debug mapping handling Parrot master now has more sane vtables on PackfileDebug. |
02:51 | ||
| cotto | ~~ | 02:52 | |
| benabik | The Packfiles, they are a-changing. | 02:54 | |
| (Packfile PMCs, not PBC format. That would be crazy.) | 02:55 | ||
| cotto | We already have the FDA maximum recommended daily allowance of crazy. | 02:58 | |
| benabik | 110% of it, I think. | ||
| Do packfiles with custom ops use a load_oplib opcode or does parrot load the oplibs based on the opmap? | 02:59 | ||
| Hm. I think it loads it from the opmap. Which means I need a list of oplibs from opmap. | 03:00 | ||
|
03:00
rfw joined
|
|||
| cotto | yes | 03:00 | |
| benabik | Other than SUPER not working in METHODs, working on PMCs is not as bad as I feared. | 03:01 | |
|
03:02
plobsing_ joined
|
|||
| dalek | umage/soh-cah-toa/interactive: d979cfb | soh_cah_toa++ | TODO: Added and removed a few things from the TODO list. |
03:07 | |
| umage/soh-cah-toa/interactive: 9dd9341 | soh_cah_toa++ | src/lib/Plumage/Command.nqp: Removed explicit 'return' statements from accessor methods in Plumage::Command since they're redundant. |
|||
| umage/soh-cah-toa/interactive: 5ef0d5d | soh_cah_toa++ | t/ (4 files): Cleaned up test files. |
|||
| umage/soh-cah-toa/interactive: 1840750 | soh_cah_toa++ | t/sanity.t: Fixed failing sanity tests. |
|||
| umage/soh-cah-toa/interactive: 8b12c43 | soh_cah_toa++ | src/ (3 files): * Improved documentation for Plumage::Command and Plumage::Interactive. * Added $!prompt_string attribute to Plumage::Interactive so it can be set when object is instantiated instead of passing it to prompt(). * Added parse_command_line() method to Plumage::Interactive to parse input command and arguments. * Created main runloop for CLI. Now parses and executes commands properly. |
|||
| benabik | Wow. | 03:08 | |
| soh_cah_toa | yeah | ||
| now plumage has a cli and can be merged into master. whoopy ding :P | |||
| cotto | soh_cah_toa++ | 03:09 | |
| benabik | soh_cah_toa: I have a winxed file that doesn't even do everything pbc_merge does. "whoopy ding". | ||
| pbc_dump! | |||
| soh_cah_toa | :) | ||
| cotto | benabik, woot | 03:10 | |
| benabik | cotto: My discussions of fixing the Packfile PMCs are 100% selfish. I want to use them, so they have to be better. | ||
| soh_cah_toa | agreed also 100% | ||
| i'm also designing plumage to act more like a traditional package manager like luarocks. that is, having a remote repo on parrot.org that contains the metadata (instead of being local) and tarball-like packages called "feathers" (like luarocks' "rocks") | 03:16 | ||
| then once that's all good to go, i want a `plumage-admin` command for creating/packaging "feathers" | |||
| luarocks has a lot of good idea, btw ;) | 03:17 | ||
| cotto | soh_cah_toa, I'm glad you're taking initiative in that area. I'd also encourage you to post to parrot-dev about your plans. | 03:19 | |
| soh_cah_toa | sure, good idea | ||
| that way users would have the option of installing "pre-packaged" modules/projects instead of having to fetch an entire repo and compiling everything | 03:20 | ||
| cotto | That has potential to make relocatable install more important. | 03:21 | |
| soh_cah_toa | yup | ||
| cotto | *installs | ||
| soh_cah_toa | anyway, it shouldn't be *that* hard to implement. it's pretty straightforward | 03:22 | |
| dalek | umage: c5167ca | soh_cah_toa++ | / (7 files): * Created Plumage::Command class for representing commands as it will be needed soon by Plumage::Interactive. * Added skeleton for docs/interactive.pod which will describe how to use CLI interface. * Made various code cleanups and added verbosity to inline comments. |
03:23 | |
| benabik | Hm. oplibs don't know their name. Silly, but I can work around it. | ||
| dalek | umage: 5414a2a | soh_cah_toa++ | src/lib/Plumage/Interactive.nqp: Removed part of CLI welcome message that mentioned 'h' shortcut since I'm not sure I want command shortcuts at first. |
||
| umage: fb86b8d | soh_cah_toa++ | src/plumage.nqp: Changed name of 'interactive' command to 'cli' because it's shorter and its purpose is more readily apparent. |
|||
| cotto | no. The hard part will be figuring out what the right thing to implement is. | ||
| umage: 72e9a7d | soh_cah_toa++ | / (3 files): Updated manpage and message displayed by 'help' command to reflect the changes I made while rewriting the %COMMANDS hash. |
|||
| umage: 42a594c | soh_cah_toa++ | / (2 files): Added a 'CLI' and 'Misc' section to the TODO file. Also started documenting the CLI in docs/interactive.pod. |
|||
| umage: d979cfb | soh_cah_toa++ | TODO: Added and removed a few things from the TODO list. |
|||
| umage: 9dd9341 | soh_cah_toa++ | src/lib/Plumage/Command.nqp: Removed explicit 'return' statements from accessor methods in Plumage::Command since they're redundant. |
|||
| cotto | I'm drowning! | ||
| dalek | umage: 5ef0d5d | soh_cah_toa++ | t/ (4 files): Cleaned up test files. |
||
| cotto | ;) | ||
| dalek | umage: 1840750 | soh_cah_toa++ | t/sanity.t: Fixed failing sanity tests. |
||
| umage: 8b12c43 | soh_cah_toa++ | src/ (3 files): * Improved documentation for Plumage::Command and Plumage::Interactive. * Added $!prompt_string attribute to Plumage::Interactive so it can be set when object is instantiated instead of passing it to prompt(). * Added parse_command_line() method to Plumage::Interactive to parse input command and arguments. * Created main runloop for CLI. Now parses and executes commands properly. |
|||
| soh_cah_toa | agh! | ||
| umage: 21b4be6 | soh_cah_toa++ | / (16 files): Merge branch 'soh-cah-toa/interactive' |
|||
| cotto | and we're back | ||
| benabik | What happened to heuristic merge? | ||
| soh_cah_toa | yeah, really | ||
| cotto | probably just under the threshold | ||
| soh_cah_toa | that's really annoying | ||
| ah | |||
| cotto | it seems to happen regularly | 03:25 | |
| dalek | rrot: d011f84 | benabik++ | / (2 files): PackfileOpMap: Add a way to get loaded oplibs Since OpLibs don't know their own name, use a hash. |
03:57 | |
| CT: c74ad5c | benabik++ | src/disasm.winxed: disasm: Print oplib information Parrot master now has a way to get it, so use it. |
|||
| benabik | I now print oplib and opcode information! | 03:58 | |
| gist.github.com/1291423 | 03:59 | ||
| soh_cah_toa | cool | ||
| benabik | I think that means I now have all the information I need to convert that list of integers at the end into psuedo-assembly. | ||
| cotto | nice! | 04:01 | |
| soh_cah_toa | yeah, i'm very excited to see how things work out w/ pact | ||
| dalek | umage: 779374d | soh_cah_toa++ | CREDITS: Added 'interactive CLI' to the description of myself in CREDITS. |
04:11 | |
| umage: 7c69eac | soh_cah_toa++ | / (2 files): Updated manpage and help message to include information on 'cli' command. |
|||
| umage: 209ef8e | soh_cah_toa++ | docs/interactive.pod: Updated example in docs/interactive.pod to show new output for 'help' command. |
04:16 | ||
| soh_cah_toa | does windows cli have it's cat-like command for reading files? | 04:28 | |
| cotto | type iirc | 04:29 | |
| unfortunately, I have a sever allergy to windows scripting | 04:30 | ||
| *severe | |||
| soh_cah_toa | yeah, looks like you're right | ||
| yeah, win32 shell is the sux0rz | |||
| big time | 04:31 | ||
| who's the one w/ the windows machine? isn't it Coke? | 04:37 | ||
| msg Coke do you think you could check the value of $*OSNAME in nqp on your windows machine? i can't remember if it's 'win32' or 'MSWin32'. thanks | 04:39 | ||
| aloha | OK. I'll deliver the message. | ||
| cotto | soh_cah_toa, I've got one at work. | 04:40 | |
| For anything non-trivial, it might just be easier to hack something in winxed. | |||
| soh_cah_toa | cotto: do you think you could do that ^ when you get a chance? | 04:41 | |
|
04:41
contingencyplan joined
|
|||
| moritz | nqp: say($*OSNAME) | 04:47 | |
| p6eval | nqp: OUTPUT«Contextual $*OSNAME not foundcurrent instr.: '_block1000' pc 43 ((file unknown):40) (/tmp/y6wHbb9dck:1)» | ||
| soh_cah_toa | it needs to be predeclared in parrot-nqp for some reason :\\ | 04:48 | |
| nqp: my $*OSNAME; say($*OSNAME) | |||
| p6eval | nqp: OUTPUT«» | ||
| soh_cah_toa | awesome | ||
| moritz | btw it's MSWin32 | ||
| soh_cah_toa | ok | ||
| aw, parrot-nqp doesn't support the given/when statement? so lame... | 04:49 | ||
| moritz | nqp: say(nqp::atkey(nqp::atpos(pir::getinterp, pir::cont::IGLOBALS_CONFIG_HASH), 'osname')); | ||
| p6eval | nqp: OUTPUT«Confused at line 1, near "say(nqp::a"current instr.: 'nqp;HLL;Grammar;panic' pc 23698 (src/stage2/gen/NQPHLL.pir:6757) (src/stage2/gen/NQPHLL.pm:329)» | ||
| moritz | nqp: say(nqp::atkey(nqp::atpos(pir::getinterp, pir::cont::IGLOBALS_CONFIG_HASH)), 'osname')); | 04:50 | |
| p6eval | nqp: OUTPUT«Confused at line 1, near "say(nqp::a"current instr.: 'nqp;HLL;Grammar;panic' pc 23698 (src/stage2/gen/NQPHLL.pir:6757) (src/stage2/gen/NQPHLL.pm:329)» | ||
| moritz | nqp: say(nqp::atkey(nqp::atpos(pir::getinterp, pir::cont::IGLOBALS_CONFIG_HASH)), 'osname'); | ||
| p6eval | nqp: OUTPUT«Confused at line 1, near "say(nqp::a"current instr.: 'nqp;HLL;Grammar;panic' pc 23698 (src/stage2/gen/NQPHLL.pir:6757) (src/stage2/gen/NQPHLL.pm:329)» | ||
| moritz confused too | |||
| soh_cah_toa | yeah, it's totally weird | ||
| moritz | nqp: my %h := nqp::atpos(pir::getinterp, pir::const::IGLOBALS_CONFIG_HASH); say(%h<osname>); | 04:51 | |
| p6eval | nqp: OUTPUT«linux» | ||
| moritz | it helps not to misspell 'const' :-) | ||
| soh_cah_toa | what's nqp::atpos? | 04:52 | |
| moritz | indexing by number | 04:54 | |
| soh_cah_toa | ah, ok | ||
| moritz | nqp: say( pir::getinterp()[pir::const::IGLOBALS_CONFIG_HASH]<osname> ) | 04:55 | |
| p6eval | nqp: OUTPUT«linux» | ||
| cotto | soh_cah_toa, my tuits are in crazy short supply | 04:56 | |
| soh_cah_toa | :) | ||
|
05:01
workbench joined
|
|||
| soh_cah_toa | in pir, is there really any difference between `$P0 = new 'Foo'` and `$P0 = new ['Foo']`? | 05:01 | |
| for single names, that is | 05:02 | ||
| i know you need it for something like ['Foo';'Bar';'Baz'] | |||
| cotto | key vs string on the pbc and op level | ||
| so a different op gets called. functionally, not much different thouhg | 05:03 | ||
| *though | |||
| soh_cah_toa | ok | ||
|
05:13
SHODAN joined
|
|||
| soh_cah_toa | i'm looking through the pir book and it says that only pmc's can be stored as lexicals, not primitive types? why is that? | 05:13 | |
| sorear | soh_cah_toa: that's changed as of a few weeks/months ago | 05:14 | |
| soh_cah_toa: the original reason was simplicity | |||
| soh_cah_toa | ok | ||
| cotto | yup | 05:15 | |
| don't give the pir book too much weight | |||
|
05:19
SHODAN joined
|
|||
| dalek | rrot: 5f3976d | benabik++ | src/pmc/packfiledebug.pmc: Update Packfile* PMC documentation Packfile: - Does not have a uuid_length key - unpack takes a string, does not return one PackfileDebug: - Doesn't have two get_string_keyed_int methods PackfileOpMap - Isn't a debug segment - Has opcode mappings, not filename mappings |
05:35 | |
| rrot: 8f0ec0d | petdance++ | config/auto/warnings.pm: added a new warning, -Wunused-local-typedefs, from the development branch of gcc 4.7.0 |
|||
| rrot: ededc46 | petdance++ | ChangeLog: Fixed spelling of "Trac" and add a link to it |
|||
|
07:18
aloha joined
07:57
mj41 joined
08:00
lucian joined
09:54
lucian_ joined
10:06
lateau__ joined
10:17
ambs joined
10:19
ambs joined
11:00
mj41 joined
11:03
smash joined
|
|||
| smash | hello everyone | 11:03 | |
|
11:13
smash joined
11:37
Psyche^ joined
11:42
GodFather joined
11:51
benabik joined
|
|||
| benabik | o/ #parrot | 11:51 | |
| benabik-- # apparently I forgot to _compile_ what I pushed. | 11:58 | ||
| dalek | rrot: d90df33 | benabik++ | src/pmc/packfileannotations.pmc: PackfileAnnotations: Fix decl-after-statement Apparently benabik-- somehow forgot to test the code he pushed. My guess is that it late and this one slipped through some cleanups. gerd++ for noticing. |
12:01 | |
| rrot/kid51/testsets2: ff6eea9 | jkeenan++ | / (2 files): Change 'make fulltest' to use 't/fullharness'. |
12:07 | ||
|
12:23
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 12:25 | |
| benabik | o/ whiteknight | ||
| whiteknight | benabik++ for the commits last night | ||
| benabik | Would be more awesome if I hadn't broken the build. Good thing we don't have a dunce cap tradition. | 12:26 | |
| whiteknight | no worries, broken build can be fixed | 12:28 | |
| benabik | I now have Opcode PMCs to get information from, so next I get to walk over the bytecode int by int and decode them into real information. Should be exciting. | 12:34 | |
| (Real exciting part is PCC, actually, but I hope to steal code from PIRATE for that.) | |||
| moritz | seen bacek | 12:36 | |
| aloha | bacek was last seen in #parrot 138 days 1 hours ago joining the channel. | ||
| benabik | bacek kinda just fell off the face of the channel, didn't he? | 12:49 | |
| I'm sure $life or $work is just keeping him busy. | 12:50 | ||
| whiteknight | yeah, he hasn't been around in a while | 12:52 | |
| benabik: I merged that pull request, by the way | 13:31 | ||
| benabik | whiteknight: Woo! | 13:32 | |
| whiteknight | The ubuntu 11.10 upgrade helpfully moved around the folders for gtksourceview, so I had to re-add my highlighters. | 13:35 | |
| benabik | Helpfully. | ||
| whiteknight | they moved the folders for both gedit and medit. The medit folder was simply renamed for no apparent reason I can find. The gedit ones were at least moved from gtksourceview-2.0/ to gtksourceview-3.0/ | 13:36 | |
|
13:37
GodFather joined
|
|||
| whiteknight | I keep telling myself that I need to find a better editor, but every time I experiment with something new I end up woefully disapppointed | 13:39 | |
| benabik | The only disappointment I have with Vim is that grim isn't installed on the CS dept. computers. :-D But I recognize that Vim isn't the friendliest of editors. | 13:40 | |
| *gvim | 13:41 | ||
| atrodo | benabik> better than emacs | ||
| benabik | atrodo: So very very agreed. | ||
| whiteknight | atrodo: hardly a ringing endorsement | ||
| atrodo | before i learned vi, i could exit from vi. Emacs always resulted in killing it from another terminal. | 13:42 | |
| whiteknight> Very true | |||
| benabik | Actually, vim has an easy mode that makes insert the default mode… Although that makes using commands more difficult. | ||
| whiteknight | the very first time I was using vim was on an old terminal machine I had set up as a web server. I couldn't figure out how to exit the program, so I left it open for several hours when I went to class, and when I came home I did a hard reset | 13:43 | |
| moritz | :-) | ||
| benabik | Ctrl-C helpfully says ":quit<Enter> to exit Vim" | 13:44 | |
| whiteknight | I used lynx at the time to browse the web, since my laptop was busted. So I couldn't even do a search for a command cheatsheet while vim was open | ||
| benabik | Ctrl-C in emacs eventually results in "C-c C-c is undefined" | ||
| I think that sums up why I use Vim over emacs. | |||
| moritz | try ed | 13:45 | |
| atrodo | ed++ | ||
| moritz | you enter 'help' | ||
| it respons with '?' | |||
| you enter '?' | |||
| it responds with '?' | |||
| you enter 'quit' | 13:46 | ||
| it responds with '?' | |||
| I've selodmly seen such a consistent user interface :-) | |||
| atrodo | ed++ | ||
| benabik | ^C, it responds with '?' | ||
| At least it goes away with ^D. | |||
| whiteknight | As far as I am concerned, any console program which does not immediately exit with ^C is a bug | 13:47 | |
| benabik | :map <C-C> :qa!<Enter> | 13:49 | |
| I accept telling me how to quit. | 13:50 | ||
| moritz | I accept not losing data when vim refuses to quit on C-C :-) | 13:52 | |
| benabik | Heh. | ||
| whiteknight | moritz: I don't need software to treat me like a baby and try to protect me from my own mistakes | 13:53 | |
| moritz | whiteknight: I do. YMV :-) | 13:54 | |
|
13:54
jsut joined
|
|||
| whiteknight | if I click the X button on a GUI app, I expect it to close. It might ask me to confirm, but I want it to go away. I don't want it to ignore the request and suggest i click a different button instead | 13:54 | |
| nine | whiteknight: but essentially, that's what GUI apps do. They do not close. They tell you to hit "OK" or "Exit without saving" or whatever it's called in that particular application. | 14:05 | |
|
14:09
arnsholt joined
14:11
dmalcolm joined
14:13
SHODAN joined
|
|||
| whiteknight | nine: if i'm in most applications, or an editor with no unsaved changed, I can click that X and the program closes | 14:17 | |
| even firefox, if you set an option, will close all tabs without confirming | |||
| alt+F4 usually does the same thing. Make the program go away | 14:18 | ||
| moritz | well, the main difference is that vim's command for "close, really!" isn't Ctrl-C | 14:19 | |
| it still exists | |||
| whiteknight | and it's different from the "close, really!" command for most other console programs | 14:25 | |
| lucian_ | i'm on wk on this one. vim should close on ctrl-c | ||
| in fact, mine does | |||
| benabik | There's a decent argument to be made that Vim's default <C-c> mapping should be :qa<Enter> instead of :echo "…" | ||
|
14:31
arnsholt_ joined
|
|||
| benabik | Although :qa doesn't give a great message if the buffer is changed. | 14:32 | |
| whiteknight | The closest I can really get to using vim is with cream. But cream is even less flexible and you can't use things like existing vim colorschemes with it | 14:34 | |
| and even though I am a programmer, I refuse to learn a custom, one-off scripting language just to make basic configurations to my editor | 14:35 | ||
| moritz didn't learn vim scripting either. Google + copy/paste :-) | |||
| whiteknight | right, but you can't do that with cream | ||
| at least, not in all cases | |||
| benabik | vim-perl? | ||
| I wonder why you can't use normal vim config with cream. It looks like just a set of configs. | 14:36 | ||
| Ahhhh… They muck with color groups and the like. | 14:37 | ||
| whiteknight | yeah | 14:38 | |
| lucian_ | i put up with vim because i've seen no other editor with a good modal editing scheme | 14:39 | |
| arnsholt | whiteknight: Well, assumeing the right build-time options to your vim you can script it with Perl, Python and Ruby at least | 14:41 | |
| But yeah. Vimscript is a bit ugly | |||
|
14:43
contingencyplan joined
14:55
tty234 joined
14:57
GodFather joined
|
|||
| lucian | yeah, python is pretty much a given | 14:57 | |
| scripting it isn't that bad, just the UIs are a bit bad | 14:58 | ||
|
15:06
Maddingue joined
|
|||
| NotFound | I hate text edit wars. That's why I use my own editor ;) | 15:07 | |
| Of course, it hasn't any kind of syntax highlighting or autocompletion. | 15:09 | ||
|
15:52
gerd joined,
logie joined
|
|||
| dalek | rrot: 0a87d4d | NotFound++ | src/pmc/packfiledebug.pmc: fix C90 violation |
15:53 | |
| gerd | dalek++; it works | 15:56 | |
| whiteknight | gerd++ Thanks for keeping on top of it! | 15:59 | |
| NotFound | That's strange, it failed only in my most up-to-date systems. Has something changed in the cflags recently? | 16:06 | |
| benabik | What the heck? | 16:07 | |
|
16:07
bluescreen joined
|
|||
| benabik | Why didn't I get those c90 problems when I compiled it? | 16:07 | |
| NotFound: That's an area I changed recently. | 16:08 | ||
| NotFound | I got it with gcc 4.6.1 | ||
| Don't get it with 4.3.2 | 16:09 | ||
| benabik | I'm using llvm-gcc 4.2, but it does catch things like decl-after-statement. | ||
| Or at least _should_. | 16:11 | ||
| benabik adds -std=c89 to his CFLAGS. | 16:16 | ||
| Hm. -Werror and parrot don't seem to get along. | 16:29 | ||
| Wait… Parrot adds -Werror=declaration-after-statement to my CFLAGS. How did those compile? | 16:30 | ||
| whiteknight | we don't build error-free | ||
| er, we don't build warnings free | |||
| benabik | WTF gcc? | 16:31 | |
| Right… I guess gcc got much smarter about decl-after-statement in gcc (4.3.2, 4.6.1] | 16:32 | ||
| I'm not surprised we don't build warnings free. It's impossible to see them go by in the build. | 16:36 | ||
| Each gcc invocation is 18 lines lone from all the -W* options we add. | 16:37 | ||
| whiteknight | at one point when I first joined the project I had the GCC build warnings-free | ||
| but g++ and clang are both much more picky | |||
| and with the code generators we now get hundreds of warnings about unused parameters which are hard to shake | 16:38 | ||
| benabik | :-/ | ||
| whiteknight | I would argue that, since we use function pointers so frequently and therefore rely on unused parameters, that we should just turn off that warning | ||
| that is, the extra verbosity of it doesn't tell us anything we don't know | |||
| NotFound | benabik: make -s | 16:41 | |
| benabik | NotFound: I've been spoiled by git's Makefile. Lines like "CC git.o" and "LINK git" still tell me where it is without losing the forest for the trees. | 16:43 | |
| NotFound: Also, make appears not to propagate -s to sub-invocations of make. | 16:48 | ||
| NotFound | Is better than nothing, anyway. | 16:49 | |
| whiteknight | NotFound's admission that he uses his own text editor inspires me | 17:12 | |
| I think I'm going to fork gedit | |||
| NotFound | Mine is text mode only. | 17:13 | |
| whiteknight | I'm not crazy enough to write my own editor from scratch :) | 17:14 | |
| NotFound | www.arrakis.es/~ninsesabe/qtre/ - Spanish only | ||
| I wrote it because at the time we had a bunch of machines with limited resources and several coworkers with vi alergy. | 17:16 | ||
| Later I read an article about embedding perl, and the monster grow up. | 17:17 | ||
| whiteknight | I really want an editor with Parrot bindings built in. So I might add that | ||
| then I can write new features in winxed :) | |||
| NotFound | That is one of my old ideas never materialized. | 17:18 | |
| The name qtre is a pun. 'cutre' in spanish means 'poor, ugly, cheap...' | 17:19 | ||
| whiteknight | :) | 17:22 | |
|
17:24
fperrad joined
|
|||
| dalek | rrot: bf51f45 | mls++ | / (4 files): add Hash.update(Hash) method to speed up rakudo/nqp startup |
17:36 | |
| tadzik | haha, it slipped in just before the master freeze :) | 17:40 | |
| mls | (I was worried that it is already frozen...) | 17:41 | |
| tadzik | looking at dukeleto++'s email, you barely made it :) | ||
| oh, that does mean that we're rolling out our release in two days or so? | |||
| mls | seems like it | ||
|
17:42
Bog joined
|
|||
| tadzik | I'm looking forward to seeing a rakudopatch using Hash.update | 17:42 | |
| dukeleto just remembered that it is release day | |||
|
17:42
Bog left
|
|||
| whiteknight | who is doing the release today? | 17:43 | |
|
17:43
marcel_r joined
|
|||
| tadzik | dukeleto I suppose | 17:43 | |
| nine | whiteknight: comments on this? perl6.niner.name/parrot/getting_rid...index.html | ||
| whiteknight | nine: the biggest source of nested runloops is vtable overrides in custom types | 17:44 | |
| nine | whiteknight: does this happen as often as it sounds like? | 17:45 | |
| whiteknight | nine: very, very often | ||
| nine | darn | ||
| whiteknight | look at src/pmc/object.c (it's generated during the build) | ||
| almost every single vtable access on one of those types calls a nested runloop | |||
| the solution there is to avoid vtables completely on Object, and use only methods | 17:46 | ||
| that would have the nice effect of being a little faster, actually, but we lose some things like interface compatibility with built-in PMC types | |||
| I like the idea of using tasks and getting the scheduler involved | 17:47 | ||
| but we need to be very careful that we don't destroy performance of existing code | |||
| nine | If anything, improved performance should be the target | 17:48 | |
| dalek | p: 514d0fe | mls++ | / (2 files): use parrot's new Hash.update method to speed up method cache generation |
||
| whiteknight | vtable overrides have the worst peformance of any call mechanism in parrot | ||
| so limiting those is key | |||
| mls | Why are they so bad? | ||
| whiteknight | because of the nested runloop | ||
| mls | Yes, but why is that so bad? Because of the setjmp() ? | 17:49 | |
| whiteknight | it does full PCC to process arguments, and has to set up a new runloop with all the necessary bookkeeping | ||
| it's not a lot worse than method calls, but it is measurably worse | |||
| nine | I'd guess the argument processing is the worst offender here | ||
| whiteknight | yes | ||
| the runloop overhead is just a little extra | |||
| whiteknight.github.com/2011/05/10/t...rides.html | 17:50 | ||
| mls | argument setup is two PMCs, right? | ||
| whiteknight | mls: yes. We can reduce that. I have plans to fix it, but haven't gotten there yet | ||
| benabik | There still hasn't been movement on improving PCC, has there? | ||
| whiteknight | whiteknight.github.com/2011/05/12/p...mings.html | ||
| benabik: I put my ideas out there. besides some words of caution, I didn't see any major disagreements | 17:51 | ||
| mls | perfect. whiteknight++ | ||
| whiteknight | I was supposed to prototype some of the necessary new ops, but I never did. Maybe that will be a project for this week | ||
| the big problem in my head is how to deal with :named :slurpy parameters, because there's no way to do that in a performance-critical way | 17:52 | ||
| but if we write that off as being a known worst-case, at least there wont be any surprises | 17:53 | ||
| moritz is kinda surprised by the lack of reply to his latest mail on parrot-dev | 17:56 | ||
| whiteknight | moritz: you sent an email to parrot-dev? | ||
| dukeleto | moritz: perhaps it was all the negativity | ||
| whiteknight | moritz: I don't see one from you | ||
| moritz | whiteknight: in the "Looking for something to hack on" thread | 17:57 | |
| whiteknight | oh, I see it now | ||
| moritz | dukeleto: maybe I didn't chose the best formulations for what I wanted to say, but I'm certain there's a core of truth to what I wrote. Please try to see it through the negativity. | 17:58 | |
| nine | moritz: maybe it's just because noone knows a good solution to that problem. People seem to hate trac (which I understand) but a migration certainly is painful. I wouldn't know what to do either. | 18:02 | |
| moritz | my point is that a non-migration plus a switch is also painful | 18:03 | |
| and dukeleto++ seemed to gloss over that point | |||
| dukeleto | moritz: stating that parrot devs purposefully ignore our trac tickets is not productive | ||
| moritz: everybody in the parrot and perl 6 world is a volunteer | |||
| moritz | nine: but that could be a reason, yes | ||
| dukeleto: do you have any comments on the actual contents of the email, and not just on the style? | 18:04 | ||
| dukeleto | moritz: what is the alternative? You are mostly in the perl6/rakudo world, which has lots of people wanting to help and hack on stuff. Parrot development is tapering off because people are leaving | ||
| nine | It's certainly the reason why I haven't said anything about this. There seems to be pain in every way. | ||
|
18:04
benabik_ joined
|
|||
| moritz | dukeleto: I agreed that the "ignore" jibe was unncessary. I'm sorry about that | 18:05 | |
| dukeleto | moritz: if you speak meanly but say something that is correct, do you think you will win people over? | ||
| nine: yes, pain in every direction. | |||
| But I care about Parrot and Perl 6, and I don't see anybody else wanting to deal with the pain, so I am masochistic enough to try. | 18:06 | ||
| moritz | dukeleto: my proposal is to formulate a plan and gather at least coarse consensus before doing something of such a large scope. I don't know how that will look, and I don't want to draw conclusions before the discussion happens | ||
| benabik_ | Parrot is in an awkward point. We came up with a lot of things to help keep it stable and track problems… And now we need to shift gears and move quickly before we become irrelevent. | ||
| mls | whiteknight: speaking of parrot hacking, do you think "push_pad/pop_pad" opcodes would be useful? | 18:07 | |
| benabik_ | mls: I do! | ||
| whiteknight | mls: in what sense? | ||
| like for lexpads? | |||
| dukeleto | moritz: you also insinuated that i am some lone wolf, trying to refactor the community. Well, I am the self-appointed community manager, and if I am not going to lead the way, who will? | ||
| moritz: i hear your concerns | |||
| benabik_ | Avoiding PCC because you want to shadow a lexical is obnoxious. | ||
| dukeleto | moritz: but discussing isn't doing | ||
| mls | yes, for lexpads. to get rid of sub calls | ||
| whiteknight | mls: yes, I think there are major savings to be had therein | ||
| benabik_ | Er… I switched meaning in the middle of the sentence there. | ||
| moritz | dukeleto: you can both lead the effort *and* discuss *first* | 18:08 | |
| dukeleto | moritz: consider the discussion started :) | ||
| benabik_ | I know I don't pay attention to trac because it doesn't tell me anything I don't already know. Parrot is slow and regularly painful. | ||
| moritz | dukeleto: ok. What do you plan to do with currently open trac tickets? | ||
| dukeleto | moritz: if they are still relevant, then migrating them to Github seems to be the most reasonable | 18:09 | |
| moritz | dukeleto: will you do that migration? | ||
| dukeleto | moritz: i think we have enough hackers to write a script to mostly automate the process, and petdance++ has even volunteered to help | ||
| mls | whiteknight: Ok, I'm 50% there. I need to add a lexpad PMC to continuations, though, to make invoking a continuation restore the correct lexpad | ||
| whiteknight | okay, that makes sense | ||
| moritz | dukeleto: if you make the successfull migration of trac tickets a precondtion for using the github bug tracker(s), I have no objections at all. | 18:10 | |
| tadzik | mls: would that bea a notable perf win like that with Hash.update? | ||
| dukeleto | moritz: i think first, we need have someone do a serious cage cleaning, i.e.: If there has been no activity on a TT for >1 year, ask the submitter to try and reproduce on a recent parrot, and close the TT | ||
| mls | Good. That'll be my parrot project for this week | ||
| whiteknight | mls++ | ||
| dukeleto | that should close about 1/3 of our TT's | ||
| then we can programmatically migrate the rest | 18:11 | ||
| mls | tadzik: hopefully. But I don't have numbers. It should speed up loops, if statements and the like. | ||
| dukeleto | moritz: the 1 year mark can be tweaked to a different time frame, but something similar, etc... | ||
| tadzik | cool | ||
| dukeleto | having 600 open TT's is just lying to our users that we care about all of them | 18:12 | |
| mls | (We could also use the mechanism to implement next/last/redo without exceptions/extra continuations) | ||
| dukeleto | what is the subset of TT's that are still relevant and that parrot devs want to hack on? That is the subset that we should migrate | ||
| moritz | dukeleto: sorry, will have to go afk for a while, will be happy to continue the discussion later | ||
| dukeleto | Migrating every currently open TT would, in my opinion, be a mistake. | ||
| moritz | (on the order of ~20min) | 18:13 | |
| dukeleto | moritz: ok. I guess I should work on doing the release ;) | ||
| benabik | Do we have Parrot::Embed anymore? | 18:14 | |
| nine | funny: the oldest TT I find is "Implement Async I/O" :) | ||
| dukeleto | benabik: it exists. | ||
| cotto | ~~ | ||
| mls | whiteknight: the parrot book talks about such opcodes. Were they ever implemented? | 18:15 | |
| dukeleto | benabik: i think i tried to improve it a few months ago, but it needs love | ||
|
18:17
janus joined
|
|||
| whiteknight | mls: which opcodes? | 18:17 | |
|
18:17
contingencyplan_ joined
|
|||
| nine | whiteknight: getting rid of nested runloops seems like a herd of yaks to shave. Do you think it a realistic goal? Or do you think it better to work towards OS threads? | 18:18 | |
| whiteknight | nine: that's what M0 is, the over-arching solution to nested runloops | ||
| mls | push_pad, pop_pad, peek_pad... | ||
| benabik | mls: peek_pad? | ||
| whiteknight | mls: no, I'm not aware that we ever had such opcodes | ||
| mls | (I implemented very differently) | ||
| peek_pad: Store the current lexical scope pad in a PMC | 18:19 | ||
|
18:19
marcel_r left
|
|||
| mls | ch10_opcode_reference.pod | 18:19 | |
| (and no peek_pad for me ;) ) | |||
| dukeleto | cotto: what are your feelings about an extreme cage-cleaning of our TTs (>1 year old get deleted) + migration of what is left to Github ? | 18:20 | |
| benabik | Being able to access the current lexpad is useful for introspection. But probably also trivial to implement. | ||
| whiteknight | mls: we probably don't need peek_pad. plobsing++ is talking about a context refactor which is going to put that kind of stuff into specially-named registers for easy access | ||
|
18:21
ambs joined
|
|||
| whiteknight | mls: although I don't know the state of that project. We should probably talk to him | 18:21 | |
| mls | My patch is very different from ch10_opcode_reference.pod. I have a ".lexinfo <name>" command that creates a new lexinfo and .lex can take a lexinfo name as extra argument. | ||
| push_pad also takes a lexinfo name as argument | 18:22 | ||
| whiteknight | oh wow, that sounds very powerful | ||
| I can haz see patch? | |||
| benabik | mls: What does lexinfo compile to? | ||
| I'd rather see ops than PIR directives. | |||
| mls | whiteknight: not yet ;) | ||
| benabik | (Speaking as someone trying to replace PIR.) | ||
| whiteknight | benabik: probably nothing. LexInfo PMCs are stored as constants in the packfile | ||
| benabik | whiteknight: Ah. Point. Constants I can deal with easy. | 18:23 | |
| mls | benabik: It's got to be PIR because it creates a constant PMC | ||
| whiteknight | mls: benabik is working on new tooling to create packfiles without PIR, so he can create constants using other tools | 18:24 | |
| benabik | mls: As long as the bytecode behind it is easy to manipulate. I want less PIR magic not more. A PIR directive that just creates a constant I can deal with easily. | ||
| whiteknight | benabik: at least his patch seems to be explicit about it. Currently, LexInfos are constructed implicitly by IMCC from the .lex directives | ||
| so, this actually is a little less magically | |||
| benabik | heh | 18:25 | |
| mls | Well, actually you also need the .lex command sto fill the lexinfo | ||
| still magical, I'm afraid | |||
| whiteknight | of course, when your reference point is "absolute maximum magic", anything else seems like a little less | ||
| benabik | But that's old magic. | ||
| Old magic I already have to deal with. :-D | |||
| mls | True. | ||
| ok, I gotta do some $dayjob work and then I'll head home. Speak to you guys tomorrow... | 18:26 | ||
| whiteknight | later | 18:27 | |
|
18:39
jsut_ joined,
schmooster joined
|
|||
| dukeleto | mozilla crash reports are pretty spiffy: crash-stats.mozilla.com/report/ind...2812111015 | 18:46 | |
| we could have an environment variable which, if defined, told parrot to attempt to submit a crash report if badness happens... | 18:47 | ||
| benabik | bleh. | 18:48 | |
| Doing so in a cross-platform way is painful, I'd think. | |||
| tadzik just realized Parrot Socket has non-blocking capabilities for I-don't-even-know-how-long | |||
| whiteknight | better idea, parrot can floor the CPU until it starts smoking, and then we can just look out our windows for smoke | 18:49 | |
| dukeleto | benabik: well, evidently mozilla has solved that already, and they happen to share their code :) | ||
| whiteknight: i like that too | |||
| benabik | dukeleto: Can we share the server they submit to? | 18:50 | |
| NotFound | That may need to resurrect the hcf opcode. | ||
| whiteknight | NotFound: I was thinking the same thing :) | ||
| benabik | … hcf? | ||
| NotFound | Halt and Catch Fire | ||
| whiteknight | benabik: basically, it was a forced segfault | ||
| dukeleto | benabik: do a search for halt and catch fire. Amusement will occur. | ||
| whiteknight | I think it may have been used in the early days as a debugging tool, but we removed it | ||
| benabik | Error: lp0 on fire | 18:51 | |
| whiteknight | ah, the good old days of printer bus error messages | 18:52 | |
| NotFound | People kept reporting that it segfaulted during make test, generating more noise than usefulness | ||
| benabik | I like HSC (Halt and Spontaneously Combust). | 18:54 | |
| NotFound | I had a wifi access point that did that. | ||
| The first hour of usage. | |||
|
18:57
Lma joined
|
|||
| dalek | rrot: 80f8508 | dukeleto++ | ChangeLog: update and reformat changelog |
19:02 | |
| dukeleto once set every jumper on a 486 motherboard and then the CPU cracked and caught fire when I turned it on | 19:06 | ||
| benabik | _cracked_? | ||
| dukeleto | benabik: the CPU silicon literally cracked open and caught fire | 19:07 | |
| what a great time to find a coredumping test in the master branch! | 19:08 | ||
| benabik | dukeleto: I hope you kept it as a souvenir. | ||
| benabik hopes he didn't do it. | |||
| dukeleto | gist.github.com/1296368 | ||
| ./parrot t/library/pg.t is coredumping on my machine | 19:09 | ||
|
19:09
Coke joined
|
|||
| benabik | Uhm. I don't think I touched any of that. Still not good. | 19:09 | |
| dukeleto | the GC is coredumping... | ||
| benabik | Ahhh… "#skip no Pg connection; skipping remaining tests" | ||
| NotFound | t/dynpmc/select.t TODO passed: 13 | 19:11 | |
| benabik | NotFound: That's probably the test that passes on Linux, but not elsewhere. | 19:12 | |
| It's more TODO "find a better way to test this" than TODO "make this work" | |||
| dukeleto | this looks like a GC bug. Sucks hard. | 19:13 | |
|
19:13
benabik_ joined
|
|||
| moritz | did parrot's exit handling change? | 19:14 | |
| dukeleto | moritz: not sure. But the kill_threads branch touched a lot of stuff. | ||
| dukeleto takes tools/release/auto_release.pl for a whirl | 19:15 | ||
| dukeleto is going to continue with the release process, for now | |||
| NotFound | The no_pg branch lacks finalize | ||
| dukeleto | NotFound: huh? I am working on the master branch | 19:16 | |
| benabik | I think he means branch in code not branch in git. | 19:17 | |
| NotFound | benabik: Can you try to add 'finalize ex' after .get_results(ex) in line 243? | ||
| Aye | |||
| moritz | current rakudo fails some exit related tests on parrot master | ||
| NotFound | There is no exit op in that path | ||
| moritz | t/spec/S29-context/exit.rakudo and t/spec/S32-temporal/local.rakudo for example | 19:18 | |
| benabik | NotFound: I have no problem with the test though. | 19:19 | |
| NotFound: Works with or without finalize for me. | |||
| NotFound | Ah, sorry, I mean dukeleto | ||
|
19:20
mj41 joined
|
|||
| NotFound | Ugh, that test is using load_bytecode with .pir files | 19:21 | |
|
19:23
jlaire joined
|
|||
| NotFound | prove -v t/library/pg.t emits 'ok NN #skip skipped'. Shouldn't be '#skip REASON_SUPPLIED" ? | 19:24 | |
| cotto | #ps in 6 | ||
| benabik | moritz: I'm grabbing a more recent Rakudo. Any idea when those tests started to fail? | 19:27 | |
| dalek | rrot: d5f7440 | dukeleto++ | / (7 files): Update some stuff to 3.9.0 |
19:28 | |
| moritz | benabik: I didn't have them on my last spectests, so it must be related to recompiling parrot/master | 19:29 | |
| benabik | moritz: Any idea what the old version of Parrot was? (Assuming new is master) | 19:30 | |
| moritz | benabik: might have been 4934d51 | 19:32 | |
| benabik fails to see anything suspicious in git-log. | 19:33 | ||
|
19:35
marcel_r joined
|
|||
| dukeleto | msg soh_cah_toa the release script died on me: gist.github.com/1296456 | 19:36 | |
| aloha | OK. I'll deliver the message. | ||
| dukeleto | msg soh_cah_toa it would be nice if it printed out exactly which commands it is running in the background | ||
| aloha | OK. I'll deliver the message. | ||
|
19:37
ambs_ joined
19:44
bluescreen joined
|
|||
| dalek | rrot: f3f9158 | dukeleto++ | / (3 files): Update PBC_COMPAT and native pbc tests |
19:45 | |
| rrot: 3f0688b | dukeleto++ | docs/project/release_manager_guide.pod: remove pending release from docs/project/release_manager_guide.pod |
19:47 | ||
| benabik | … Poll is implemented in terms of select? | 19:49 | |
|
19:50
SHODAN joined
|
|||
| tadzik | what is "in terms of select"? | 19:50 | |
| benabik | tadzik: Parrot_io_poll calls select() | ||
| tadzik | oh cool | ||
| benabik | fsvo cool. | ||
| dalek | rrot: 07eb6e9 | dukeleto++ | docs/project/release_manager_guide.pod: Remove a step from the release process, since we don't use milestones currently |
19:52 | |
| benabik | tadzik: used is passed to the tv_usec part of a timeval, so it is microseconds. Documentation is wrong, name is right. | ||
| *usec, not used | |||
| dalek | nxed: 5fa2a54 | NotFound++ | / (2 files): jump version to 1.4 devel, fix __ASSERT__ to emit absolutely nothing in non debug mode |
||
| tadzik | I can fix that | ||
| benabik has an up-to-date rakudo, trying spectest. | 19:58 | ||
| benabik also has a class starting so can't dig terribly hard for the next hour or two. :-/ | |||
| cotto | excuses, excuses | 20:02 | |
| whiteknight | dukeleto: done any bisecting? | 20:03 | |
| dukeleto | whiteknight: trying to find a starting rev... 3.8.0 has the same bug | ||
| whiteknight | ouch | 20:04 | |
| dukeleto | trying 3.6.0 now | ||
| whiteknight | are we sure it's a parrot problem, not a test problem? | ||
| NotFound | whiteknight: bootstrap-prt0 is supposed to not emit source annotations? | ||
| whiteknight | NotFound: I think not. I can't remember | ||
| benabik | The line it's dying on looks strange… I would think for a segfault there either interp or gc_sys would have to be garbage. | ||
| whiteknight | NotFound: since we don't intend to include those functions in backtraces | 20:05 | |
| cotto | dukeleto: is it possible an old parrot is interfering? | ||
| dukeleto | whiteknight: not sure about anything yet | ||
| cotto: yes | |||
| Coke | . | 20:06 | |
| NotFound | The current version has annotations, the regenerated hasn't | ||
| cotto | I really hope this isn't a parrot problem. | ||
| dukeleto | cotto: but my new_parrot alias rm -rf's my installed parrot, so I don't think that is it | ||
| whiteknight | moritz mentioned that Rakudo has been seeing problems related to program exit. I would like more details about that | ||
| I don't think I've seen any tickets to that effect yet | |||
| NotFound | dukeleto: Can I commit a fix for frontend/parrot2 ? | ||
| benabik is running Rakudo's spectest while in class. | 20:07 | ||
|
20:08
soh_cah_toa joined,
davidfetter joined
|
|||
| dukeleto | NotFound: go for it. will i need to change PBC_COMPAT ? | 20:09 | |
| same bug on 3.6.0. double ouch. | |||
| whiteknight | dukeleto: Okay, those releases were pretty well tested and seemed stable at the time. I think we stop looking at it as a parrot problem | 20:10 | |
| cotto | something's not right | ||
| NotFound | dukeleto: no, is just a minimal fix | ||
| cotto | +1 until we get verification from another machine | ||
| dukeleto | NotFound: ok. go for it | 20:11 | |
| i may be the only person running those tests with Postgres 8.4.8 | |||
| it works on 3.0.0 for me | |||
| benabik | oog | ||
| dukeleto crafts a bisect | |||
| whiteknight | the test sounds shakey to me | ||
| dukeleto | whiteknight: yes, the test is shoddily-written | 20:12 | |
| Coke | IWBNI if aloha told you WHERE someone gave you the message. | 20:14 | |
| whiteknight | Coke: like a timestamp? | 20:15 | |
| benabik | whiteknight: Not when, where. Like #parrot | ||
| whiteknight | okay, I wasn't sure if aloha was present in other channels | ||
| benabik | It's over in #perl6, although it's very quiet there. | 20:16 | |
| dalek | rrot: 4833d68 | NotFound++ | frontend/parrot2/prt0. (2 files): check lenght before substr'ing in frontend |
||
| dukeleto kicks off a bisect | 20:17 | ||
| whiteknight | I've got 2:1 odds that the offending commit is a change to the test | 20:19 | |
| cotto was thinking the same thing | |||
| benabik | The only change to the test since 3.0.0 is "1c42811 Skip postgres tests if extra nci thunks are not available" | 20:21 | |
| NotFound | dukeleto: issue #167 should be fixed with that | ||
| "that" == 4833d682d6 | 20:23 | ||
| dukeleto | NotFound++ | 20:30 | |
| NotFound: for future reference, if you include the string "fixes #167" in the commit message, it will autoclose the issue | |||
| blarg. still tryinig to craft the bisect script correctly | |||
| evidently, exiting with an exit code >128 aborts the bisect | |||
| and the test exits with a 139 | 20:31 | ||
| cotto | not sure why that's a feature | ||
| benabik | It's generally assumed you're trying to bisect a failing test and something like a segfault is exceptional. | ||
| NotFound | dukeleto: ok | ||
|
20:31
marcel_r_ joined
20:32
marcel_r_ left
|
|||
| dukeleto | ok, i think i crafted the bisect script correctly. It will probably take about 15 builds or so | 20:35 | |
| parrot bisect visualize is kinda cool, but some kind of OpenGL rendering would be better | 20:40 | ||
| the race is on. What will finish first? Bisect or my battery life? | 20:42 | ||
| It isn't looking good... | |||
| benabik | moritz: It looks like something got changed in the way the exit exception is handled. I think it's getting caught somewhere it shouldn't. | 20:45 | |
| … Terminal.app crashed? | |||
| cotto | screen ftw | 20:48 | |
| dukeleto | but a trusty power cord saved the day, just before a forced hibernation | ||
| cotto | I love happy endings. | 20:54 | |
| dalek | umage: 004b3a1 | soh_cah_toa++ | / (3 files): Version 1.0.0: Added new ChangeLog and VERSION files for tracking changes between versions. Also added get_version() subroutine for reading version number from VERSION. |
20:55 | |
| benabik | moritz: It looks like NQP is adding an exception handler that is catching the exit exception. | 20:58 | |
| benabik hates that NQP and nom broke --target=past | 21:00 | ||
|
21:01
benabik_ joined
|
|||
| tadzik | benabik: I don't remember --target=past working since I work on rakudo | 21:01 | |
| benabik | tadzik: It worked on b. | ||
| tadzik | really? | ||
| benabik | Pretty sure. | ||
| tadzik | mebbe | ||
| benabik | It at least worked for nqp-rx, and doesn't for nqp. | ||
| When last I tried it gave a bunch of errors… now it's just empty. | 21:03 | ||
| dukeleto | 0a8cc07d1cc5ec2a91355f5d17f3317b18ed36d1 is the first bad commit | ||
| commit 0a8cc07d1cc5ec2a91355f5d17f3317b18ed36d1 | |||
| Author: Peter Lobsinger <plobsing@gmail.com> | |||
| Date: Fri Apr 22 16:42:36 2011 -0400 | |||
| remove support for deprecated "t" nci signatures | |||
| benabik | 124 lines of PIR for -e 'pir::exit(0)' wow | 21:05 | |
| dalek | umage: edef6aa | soh_cah_toa++ | t/02-load-all.t: Added Plumage/Interactive.pbc and Plumage/Command.pbc to test_load_pbcs() test. |
21:06 | |
| benabik | moritz: I'm stumped. But it's centered in something NQP is doing. PIR `exit 0` works. But `nqp -e 'exit(0)'` doesn.t | 21:09 | |
| Yeah… I don't even see an exception handler in the PIR for pir::exit(0). | 21:10 | ||
|
21:10
Coke joined
|
|||
| benabik | Ahhhh… It works fine when compiled. | 21:11 | |
| The exception handler somewhere in HLL::Compiler is catching it. | |||
| moritz: HLL::Compiler is catching the exception. | 21:13 | ||
| dukeleto: Rakudo exit problem seems to be rooted in NQP. | 21:14 | ||
| dukeleto: So probably not a release blocker. | 21:15 | ||
|
21:18
dd070 joined
21:19
dd070 left
|
|||
| dalek | rrot: e608208 | tadzik++ | src/pmc/socket.pmc: Fix typo in socket.pmc |
21:22 | |
|
21:25
jsut joined
21:26
GodFather joined
|
|||
| benabik | more like a thinko | 21:38 | |
| tadzik | mebbe | 21:41 | |
| dalek | kudo/nom: bed705e | tadzik++ | src/core/IO/Socket.pm: Implement IO::Socket.poll (unspecced) |
21:42 | |
| benabik | Very strange that that commit causes the error. Nothing in runtime/parrot/library/postgres.t uses t | 21:57 | |
| The backtrace goes from ffi_call_unix64 to Parrot_str_new. The interp in call_ffi_hunk is different than the interp in Parrot_str_new. | 21:58 | ||
| The error is caused by sub 'cstring_ret_wrapper'. | 22:05 | ||
| Ahah… Parrot_str_new (interp=0x8d8d6b, buffer=0x0, len=9435376) | 22:08 | ||
| $P1 = dlfunc $P1, "Parrot_str_new", "Spi" | |||
| $S0 = $P1($P0, 0) | |||
| I find that heartily suspicious. | 22:09 | ||
| benabik adds notes to issue. | 22:12 | ||
| dukeleto: See github.com/parrot/parrot/issues/168 for a probable fix. | 22:16 | ||
| Heck, I have a commit bit and a couple minutes... | 22:18 | ||
| tadzik | I like the attitude | ||
| benabik | Have to be careful with the wording in the commit. Want to reference the ticket, but don't want to close it until dukeleto tests it.. | 22:23 | |
| msg dukeleto Probable fix committed as 1ec04f6. | 22:26 | ||
| aloha | OK. I'll deliver the message. | ||
| benabik | I love the feeling of pushing untested code to master right before a release. :-/ | 22:27 | |
| <.< >.> | |||
| Gotta run. | |||
| dalek | rrot: 1ec04f6 | benabik++ | runtime/parrot/library/postgres.pir: postgres: Pass interp to Parrot_str_new This was segfaulting because Parrot_str_new expects an interp, a buffer, and a length but we were only passing a buffer and length. The result was... not good. See gh-168 for gory details. |
||
|
22:53
whiteknight joined
|
|||
| whiteknight | how are we looking for the release? that test failure get sorted out? | 22:58 | |
|
23:01
jsut_ joined
23:08
benabik joined
|
|||
| benabik | back. | 23:13 | |
| whiteknight: I have a probable fix for it. Waiting for dukeleto to test. | 23:14 | ||
| whiteknight | ok | 23:18 | |
| dalek | rrot: 7683718 | dukeleto++ | t/library/pg.t: Todo a test failure that is blocking the release |
23:24 | |
| benabik | I guess it didn't fix it? | ||