Camelia, the Perl 6 bug

IRC log for #parrot, 2011-10-18

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:15 benabik joined #parrot
00:15 benabik o/ #parrt
00:15 benabik *parrot
00:43 bacek_at_work joined #parrot
00:44 aloha joined #parrot
01:33 dalek parrot/kid51/testsets2: 40d1c78 | jkeenan++ | t/fullharness:
01:33 dalek parrot/kid51/testsets2: Begin to add a smolder_fulltest equivalent.
01:33 dalek parrot/kid51/testsets2: review: https://github.com/parrot/parrot/commit/40d1c78a18
01:44 benabik Why would I be having problems calling SUPER() in a PMC?  It's failing to link with unknown symbol _SUPER.  :-/
01:46 soh_cah_toa benabik: nopaste it
01:49 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
01:57 benabik Hm.  Maybe SUPER doesn't work inside methods?
01:58 benabik Ahhhhh….  No it doesn't.
02:01 benabik 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?
02:02 benabik soh_cah_toa: pmc2c doesn't mangle SUPER inside methods, just inside VTABLEs.
02:02 benabik Why?  I don't know.
02:03 soh_cah_toa yeah, looks like you're right
02:03 soh_cah_toa that's really stupid
02:04 soh_cah_toa 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.
02:04 soh_cah_toa nah
02:05 benabik I can't find the one I got it from…  It was more impressive...
02:06 benabik https://github.com/parrot/parrot/blob/nqp_pc​t/compilers/pct/src/PAST/NewCompiler.pm#L16
02:18 benabik Hah!  I know why this test works with annotations not setting the directory!  I bet it doesn't use an annotation segment
02:18 benabik The simplest answer is usually the best.
02:20 benabik Nope.
02:20 benabik *sigh*
02:24 benabik Well, I know what the superclass is doing in that method so I can just do it manually.
02:50 dalek parrot: bbd9822 | benabik++ | src/pmc/packfileannotations.pmc:
02:50 dalek parrot: PackfileAnnotations: Ignore SUPER a little less
02:50 dalek parrot:
02:50 dalek parrot: We didn't call the superclass's init, and the superclass
02:50 dalek parrot: has a set_directory which does a little bit of work.
02:50 dalek parrot:
02:50 dalek parrot: Sadly, SUPER doesn't work inside of methods, so this is basically
02:50 dalek parrot: an inlined version.
02:50 dalek parrot: review: https://github.com/parrot/parrot/commit/bbd9822a0a
02:50 dalek parrot: 89bab21 | benabik++ | src/pmc/packfiledebug.pmc:
02:50 dalek parrot: PackfileDebug: Bring more sanity to VTABLEs
02:50 dalek parrot:
02:50 dalek parrot: - We have a custom mark VTABLE, so mention that in init.
02:50 dalek parrot: - Shorten mark a little by getting all the attributes at once.
02:50 dalek parrot: - The get_integer VTABLE is actually returning the number of
02:50 dalek parrot:   elements in the PMC, so use the elements VTABLE.
02:50 dalek parrot: - The line number is an integer so use get_integer_keyed_int
02:50 dalek parrot:   This keeps around get_pmc_keyed_int as a wrapper.
02:50 dalek parrot: - Refactor get_string_keyed_int in preparation for further
02:50 dalek parrot:   changes.
02:50 dalek parrot: review: https://github.com/parrot/parrot/commit/89bab210fa
02:50 dalek parrot: 883091c | benabik++ | src/pmc/packfiledebug.pmc:
02:50 dalek parrot: PackfileDebug: Lookup filenames in the const table
02:50 dalek parrot:
02:50 dalek parrot: The method of doing so is modeled after the code in PackfileAnnotations.
02:50 dalek parrot: review: https://github.com/parrot/parrot/commit/883091cbd0
02:51 dalek PACT: 4593f7d | benabik++ | src/disasm.winxed:
02:51 dalek PACT: disasm: Simplify debug mapping handling
02:51 dalek PACT:
02:51 dalek PACT: Parrot master now has more sane vtables on PackfileDebug.
02:51 dalek PACT: review: https://github.com/parrot/PACT/commit/4593f7dd9d
02:52 cotto ~~
02:54 benabik The Packfiles, they are a-changing.
02:55 benabik (Packfile PMCs, not PBC format.  That would be crazy.)
02:58 cotto We already have the FDA maximum recommended daily allowance of crazy.
02:58 benabik 110% of it, I think.
02:59 benabik Do packfiles with custom ops use a load_oplib opcode or does parrot load the oplibs based on the opmap?
03:00 benabik Hm.  I think it loads it from the opmap.  Which means I need a list of oplibs from opmap.
03:00 rfw joined #parrot
03:00 cotto yes
03:01 benabik Other than SUPER not working in METHODs, working on PMCs is not as bad as I feared.
03:02 plobsing_ joined #parrot
03:07 dalek plumage/soh-cah-toa/interactive: d979cfb | soh_cah_toa++ | TODO:
03:07 dalek plumage/soh-cah-toa/interactive: Added and removed a few things from the TODO list.
03:07 dalek plumage/soh-cah-toa/interactive: review: https://github.com/parrot/​plumage/commit/d979cfb2bd
03:07 dalek plumage/soh-cah-toa/interactive: 9dd9341 | soh_cah_toa++ | src/lib/Plumage/Command.nqp:
03:07 dalek plumage/soh-cah-toa/interactive: Removed explicit 'return' statements from accessor methods in Plumage::Command since they're redundant.
03:07 dalek plumage/soh-cah-toa/interactive: review: https://github.com/parrot/​plumage/commit/9dd9341619
03:07 dalek plumage/soh-cah-toa/interactive: 5ef0d5d | soh_cah_toa++ | t/ (4 files):
03:07 dalek plumage/soh-cah-toa/interactive: Cleaned up test files.
03:07 dalek plumage/soh-cah-toa/interactive: review: https://github.com/parrot/​plumage/commit/5ef0d5d2ca
03:07 dalek plumage/soh-cah-toa/interactive: 1840750 | soh_cah_toa++ | t/sanity.t:
03:07 dalek plumage/soh-cah-toa/interactive: Fixed failing sanity tests.
03:07 dalek plumage/soh-cah-toa/interactive: review: https://github.com/parrot/​plumage/commit/1840750572
03:07 dalek plumage/soh-cah-toa/interactive: 8b12c43 | soh_cah_toa++ | src/ (3 files):
03:07 dalek plumage/soh-cah-toa/interactive: * Improved documentation for Plumage::Command and Plumage::Interactive.
03:07 dalek plumage/soh-cah-toa/interactive: * Added $!input attribute to Plumage::Interactive instead of always returning input string.
03:07 dalek plumage/soh-cah-toa/interactive: * Added $!prompt_string attribute to Plumage::Interactive so it can be set when object is instantiated instead of passing it to prompt().
03:07 dalek plumage/soh-cah-toa/interactive: * Added parse_command_line() method to Plumage::Interactive to parse input command and arguments.
03:07 dalek plumage/soh-cah-toa/interactive: * Created main runloop for CLI. Now parses and executes commands properly.
03:07 dalek plumage/soh-cah-toa/interactive: review: https://github.com/parrot/​plumage/commit/8b12c4300d
03:08 benabik Wow.
03:08 soh_cah_toa yeah
03:08 soh_cah_toa now plumage has a cli and can be merged into master. whoopy ding :P
03:09 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".
03:09 benabik pbc_dump!
03:09 soh_cah_toa :)
03:10 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.
03:10 soh_cah_toa agreed also 100%
03:16 soh_cah_toa 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 soh_cah_toa then once that's all good to go, i want a `plumage-admin` command for creating/packaging "feathers"
03:17 soh_cah_toa luarocks has a lot of good idea, btw ;)
03:19 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
03:20 soh_cah_toa 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:21 cotto That has potential to make relocatable install more important.
03:21 soh_cah_toa yup
03:21 cotto *installs
03:22 soh_cah_toa anyway, it shouldn't be *that* hard to implement. it's pretty straightforward
03:23 dalek plumage: c5167ca | soh_cah_toa++ | / (7 files):
03:23 dalek plumage: * Created Plumage::Command class for representing commands as it will be needed soon by Plumage::Interactive.
03:23 dalek plumage: * Modified %COMMANDS to make use of new class.
03:23 dalek plumage: * Added skeleton for docs/interactive.pod which will describe how to use CLI interface.
03:23 dalek plumage: * Made various code cleanups and added verbosity to inline comments.
03:23 dalek plumage: review: https://github.com/parrot/​plumage/commit/c5167cad92
03:23 benabik Hm.  oplibs don't know their name.  Silly, but I can work around it.
03:23 dalek plumage: 5414a2a | soh_cah_toa++ | src/lib/Plumage/Interactive.nqp:
03:23 dalek plumage: Removed part of CLI welcome message that mentioned 'h' shortcut since I'm not sure I want command shortcuts at first.
03:23 dalek plumage: review: https://github.com/parrot/​plumage/commit/5414a2abf1
03:23 dalek plumage: fb86b8d | soh_cah_toa++ | src/plumage.nqp:
03:23 cotto no.  The hard part will be figuring out what the right thing to implement is.
03:23 dalek plumage: Changed name of 'interactive' command to 'cli' because it's shorter and its purpose is more readily apparent.
03:23 dalek plumage: review: https://github.com/parrot/​plumage/commit/fb86b8d8a3
03:23 dalek plumage: 72e9a7d | soh_cah_toa++ | / (3 files):
03:23 dalek plumage: Updated manpage and message displayed by 'help' command to reflect the changes I made while rewriting the %COMMANDS hash.
03:23 dalek plumage: review: https://github.com/parrot/​plumage/commit/72e9a7d5f2
03:23 dalek plumage: 42a594c | soh_cah_toa++ | / (2 files):
03:23 dalek plumage: Added a 'CLI' and 'Misc' section to the TODO file. Also started documenting the CLI in docs/interactive.pod.
03:23 dalek plumage: review: https://github.com/parrot/​plumage/commit/42a594ceb7
03:23 dalek plumage: d979cfb | soh_cah_toa++ | TODO:
03:23 dalek plumage: Added and removed a few things from the TODO list.
03:24 dalek plumage: review: https://github.com/parrot/​plumage/commit/d979cfb2bd
03:24 dalek plumage: 9dd9341 | soh_cah_toa++ | src/lib/Plumage/Command.nqp:
03:24 dalek plumage: Removed explicit 'return' statements from accessor methods in Plumage::Command since they're redundant.
03:24 dalek plumage: review: https://github.com/parrot/​plumage/commit/9dd9341619
03:24 cotto I'm drowning!
03:24 dalek plumage: 5ef0d5d | soh_cah_toa++ | t/ (4 files):
03:24 dalek plumage: Cleaned up test files.
03:24 dalek plumage: review: https://github.com/parrot/​plumage/commit/5ef0d5d2ca
03:24 cotto ;)
03:24 dalek plumage: 1840750 | soh_cah_toa++ | t/sanity.t:
03:24 dalek plumage: Fixed failing sanity tests.
03:24 dalek plumage: review: https://github.com/parrot/​plumage/commit/1840750572
03:24 dalek plumage: 8b12c43 | soh_cah_toa++ | src/ (3 files):
03:24 soh_cah_toa agh!
03:24 dalek plumage: * Improved documentation for Plumage::Command and Plumage::Interactive.
03:24 dalek plumage: * Added $!input attribute to Plumage::Interactive instead of always returning input string.
03:24 dalek plumage: * Added $!prompt_string attribute to Plumage::Interactive so it can be set when object is instantiated instead of passing it to prompt().
03:24 dalek plumage: * Added parse_command_line() method to Plumage::Interactive to parse input command and arguments.
03:24 dalek plumage: * Created main runloop for CLI. Now parses and executes commands properly.
03:24 dalek plumage: review: https://github.com/parrot/​plumage/commit/8b12c4300d
03:24 dalek plumage: 21b4be6 | soh_cah_toa++ | / (16 files):
03:24 dalek plumage: Merge branch 'soh-cah-toa/interactive'
03:24 dalek plumage: review: https://github.com/parrot/​plumage/commit/21b4be64ee
03:24 cotto and we're back
03:24 benabik What happened to heuristic merge?
03:24 soh_cah_toa yeah, really
03:24 cotto probably just under the threshold
03:24 soh_cah_toa that's really annoying
03:24 soh_cah_toa ah
03:25 cotto it seems to happen regularly
03:57 dalek parrot: d011f84 | benabik++ | / (2 files):
03:57 dalek parrot: PackfileOpMap: Add a way to get loaded oplibs
03:57 dalek parrot:
03:57 dalek parrot: Since OpLibs don't know their own name, use a hash.
03:57 dalek parrot: review: https://github.com/parrot/parrot/commit/d011f84215
03:57 dalek PACT: c74ad5c | benabik++ | src/disasm.winxed:
03:57 dalek PACT: disasm: Print oplib information
03:57 dalek PACT:
03:57 dalek PACT: Parrot master now has a way to get it, so use it.
03:57 dalek PACT: review: https://github.com/parrot/PACT/commit/c74ad5cc96
03:58 benabik I now print oplib and opcode information!
03:59 benabik https://gist.github.com/1291423
03:59 soh_cah_toa cool
03:59 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.
04:01 cotto nice!
04:01 soh_cah_toa yeah, i'm very excited to see how things work out w/ pact
04:11 dalek plumage: 779374d | soh_cah_toa++ | CREDITS:
04:11 dalek plumage: Added 'interactive CLI' to the description of myself in CREDITS.
04:11 dalek plumage: review: https://github.com/parrot/​plumage/commit/779374d4a5
04:11 dalek plumage: 7c69eac | soh_cah_toa++ | / (2 files):
04:11 dalek plumage: Updated manpage and help message to include information on 'cli' command.
04:11 dalek plumage: review: https://github.com/parrot/​plumage/commit/7c69eacde8
04:16 dalek plumage: 209ef8e | soh_cah_toa++ | docs/interactive.pod:
04:16 dalek plumage: Updated example in docs/interactive.pod to show new output for 'help' command.
04:16 dalek plumage: review: https://github.com/parrot/​plumage/commit/209ef8ed04
04:28 soh_cah_toa does windows cli have it's cat-like command for reading files?
04:29 cotto type iirc
04:30 cotto unfortunately, I have a sever allergy to windows scripting
04:30 cotto *severe
04:30 soh_cah_toa yeah, looks like you're right
04:30 soh_cah_toa yeah, win32 shell is the sux0rz
04:31 soh_cah_toa big time
04:37 soh_cah_toa who's the one w/ the windows machine? isn't it Coke?
04:39 soh_cah_toa 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.
04:40 cotto soh_cah_toa, I've got one at work.
04:40 cotto For anything non-trivial, it might just be easier to hack something in winxed.
04:41 soh_cah_toa cotto: do you think you could do that ^ when you get a chance?
04:41 contingencyplan joined #parrot
04:47 moritz nqp: say($*OSNAME)
04:47 p6eval nqp: OUTPUT«Contextual $*OSNAME not found␤current instr.: '_block1000' pc 43 ((file unknown):40) (/tmp/y6wHbb9dck:1)␤»
04:48 soh_cah_toa it needs to be predeclared in parrot-nqp for some reason :\
04:48 soh_cah_toa nqp: my $*OSNAME; say($*OSNAME)
04:48 p6eval nqp: OUTPUT«␤»
04:48 soh_cah_toa awesome
04:48 moritz btw it's MSWin32
04:48 soh_cah_toa ok
04:49 soh_cah_toa 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'));
04:49 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)␤»
04:50 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)␤»
04:50 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)␤»
04:50 * moritz confused too
04:50 soh_cah_toa yeah, it's totally weird
04:51 moritz nqp: my %h := nqp::atpos(pir::getinterp, pir::const::IGLOBALS_CONFIG_HASH); say(%h<osname>);
04:51 p6eval nqp: OUTPUT«linux␤»
04:51 moritz it helps not to misspell 'const' :-)
04:52 soh_cah_toa what's nqp::atpos?
04:54 moritz indexing by number
04:54 soh_cah_toa ah, ok
04:55 moritz nqp: say( pir::getinterp()[pir::const::​IGLOBALS_CONFIG_HASH]<osname> )
04:55 p6eval nqp: OUTPUT«linux␤»
04:56 cotto soh_cah_toa, my tuits are in crazy short supply
04:56 soh_cah_toa :)
05:01 workbench joined #parrot
05:01 soh_cah_toa in pir, is there really any difference between `$P0 = new 'Foo'` and `$P0 = new ['Foo']`?
05:02 soh_cah_toa for single names, that is
05:02 soh_cah_toa i know you need it for something like ['Foo';'Bar';'Baz']
05:02 cotto key vs string on the pbc and op level
05:03 cotto so a different op gets called.  functionally, not much different thouhg
05:03 cotto *though
05:03 soh_cah_toa ok
05:13 SHODAN joined #parrot
05:13 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:14 sorear soh_cah_toa: that's changed as of a few weeks/months ago
05:14 sorear soh_cah_toa: the original reason was simplicity
05:14 soh_cah_toa ok
05:15 cotto yup
05:15 cotto don't give the pir book too much weight
05:19 SHODAN joined #parrot
05:35 dalek parrot: 5f3976d | benabik++ | src/pmc/packfiledebug.pmc:
05:35 dalek parrot: Update Packfile* PMC documentation
05:35 dalek parrot:
05:35 dalek parrot: Packfile:
05:35 dalek parrot:  - Does not have a uuid_length key
05:35 dalek parrot:  - unpack takes a string, does not return one
05:35 dalek parrot:
05:35 dalek parrot: PackfileDebug:
05:35 dalek parrot:  - Doesn't have two get_string_keyed_int methods
05:35 dalek parrot:
05:35 dalek parrot: PackfileOpMap
05:35 dalek parrot:  - Isn't a debug segment
05:35 dalek parrot:  - Has opcode mappings, not filename mappings
05:35 dalek parrot: review: https://github.com/parrot/parrot/commit/5f3976d015
05:35 dalek parrot: 8f0ec0d | petdance++ | config/auto/warnings.pm:
05:35 dalek parrot: added a new warning, -Wunused-local-typedefs, from the development branch of gcc 4.7.0
05:35 dalek parrot: review: https://github.com/parrot/parrot/commit/8f0ec0d2d5
05:35 dalek parrot: ededc46 | petdance++ | ChangeLog:
05:35 dalek parrot: Fixed spelling of "Trac" and add a link to it
05:35 dalek parrot: review: https://github.com/parrot/parrot/commit/ededc46f50
07:18 aloha joined #parrot
07:57 mj41 joined #parrot
08:00 lucian joined #parrot
09:54 lucian_ joined #parrot
10:06 lateau__ joined #parrot
10:17 ambs joined #parrot
10:19 ambs joined #parrot
11:00 mj41 joined #parrot
11:03 smash joined #parrot
11:03 smash hello everyone
11:13 smash joined #parrot
11:37 Psyche^ joined #parrot
11:42 GodFather joined #parrot
11:51 benabik joined #parrot
11:51 benabik o/ #parrot
11:58 benabik benabik-- # apparently I forgot to _compile_ what I pushed.
12:01 dalek parrot: d90df33 | benabik++ | src/pmc/packfileannotations.pmc:
12:01 dalek parrot: PackfileAnnotations: Fix decl-after-statement
12:01 dalek parrot:
12:01 dalek parrot: Apparently benabik-- somehow forgot to test the code he pushed.  My
12:01 dalek parrot: guess is that it late and this one slipped through some cleanups.
12:01 dalek parrot: gerd++ for noticing.
12:01 dalek parrot: review: https://github.com/parrot/parrot/commit/d90df334f0
12:07 dalek parrot/kid51/testsets2: ff6eea9 | jkeenan++ | / (2 files):
12:07 dalek parrot/kid51/testsets2: Change 'make fulltest' to use 't/fullharness'.
12:07 dalek parrot/kid51/testsets2: review: https://github.com/parrot/parrot/commit/ff6eea9be5
12:23 whiteknight joined #parrot
12:25 whiteknight good morning, #parrot
12:25 benabik o/ whiteknight
12:25 whiteknight benabik++ for the commits last night
12:26 benabik Would be more awesome if I hadn't broken the build.  Good thing we don't have a dunce cap tradition.
12:28 whiteknight no worries, broken build can be fixed
12:34 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 benabik (Real exciting part is PCC, actually, but I hope to steal code from PIRATE for that.)
12:36 moritz seen bacek
12:36 aloha bacek was last seen in #parrot 138 days 1 hours ago joining the channel.
12:49 benabik bacek kinda just fell off the face of the channel, didn't he?
12:50 benabik I'm sure $life or $work is just keeping him busy.
12:52 whiteknight yeah, he hasn't been around in a while
13:31 whiteknight benabik: I merged that pull request, by the way
13:32 benabik whiteknight: Woo!
13:35 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.
13:36 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:37 GodFather joined #parrot
13:39 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:40 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:41 benabik *gvim
13:41 atrodo benabik> better than emacs
13:41 benabik atrodo: So very very agreed.
13:41 whiteknight atrodo: hardly a ringing endorsement
13:42 atrodo before i learned vi, i could exit from vi.  Emacs always resulted in killing it from another terminal.
13:42 atrodo whiteknight> Very true
13:42 benabik Actually, vim has an easy mode that makes insert the default mode…  Although that makes using commands more difficult.
13:43 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 :-)
13:44 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
13:44 benabik Ctrl-C in emacs eventually results in "C-c C-c is undefined"
13:44 benabik I think that sums up why I use Vim over emacs.
13:45 moritz try ed
13:45 atrodo ed++
13:45 moritz you enter 'help'
13:45 moritz it respons with '?'
13:45 moritz you enter '?'
13:45 moritz it responds with '?'
13:46 moritz you enter 'quit'
13:46 moritz it responds with '?'
13:46 moritz I've selodmly seen such a consistent user interface :-)
13:46 atrodo ed++
13:46 benabik ^C, it responds with '?'
13:46 benabik At least it goes away with ^D.
13:47 whiteknight As far as I am concerned, any console program which does not immediately exit with ^C is a bug
13:49 benabik :map <C-C> :qa!<Enter>
13:50 benabik I accept telling me how to quit.
13:52 moritz I accept not losing data when vim refuses to quit on C-C :-)
13:52 benabik Heh.
13:53 whiteknight moritz: I don't need software to treat me like a baby and try to protect me from my own mistakes
13:54 moritz whiteknight: I do. YMV :-)
13:54 jsut joined #parrot
13:54 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
14:05 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:09 arnsholt joined #parrot
14:11 dmalcolm joined #parrot
14:13 SHODAN joined #parrot
14:17 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 whiteknight even firefox, if you set an option, will close all tabs without confirming
14:18 whiteknight alt+F4 usually does the same thing. Make the program go away
14:19 moritz well, the main difference is that vim's command for "close, really!" isn't Ctrl-C
14:19 moritz it still exists
14:25 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
14:25 lucian_ in fact, mine does
14:25 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 #parrot
14:32 benabik Although :qa doesn't give a great message if the buffer is changed.
14:34 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:35 whiteknight 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 :-)
14:35 whiteknight right, but you can't do that with cream
14:35 whiteknight at least, not in all cases
14:35 benabik vim-perl?
14:36 benabik I wonder why you can't use normal vim config with cream.  It looks like just a set of configs.
14:37 benabik Ahhhh…  They muck with color groups and the like.
14:38 whiteknight yeah
14:39 lucian_ i put up with vim because i've seen no other editor with a good modal editing scheme
14:41 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 arnsholt But yeah. Vimscript is a bit ugly
14:43 contingencyplan joined #parrot
14:55 tty234 joined #parrot
14:57 GodFather joined #parrot
14:57 lucian yeah, python is pretty much a given
14:58 lucian scripting it isn't that bad, just the UIs are a bit bad
15:06 Maddingue joined #parrot
15:07 NotFound I hate text edit wars. That's why I use my own editor ;)
15:09 NotFound Of course, it hasn't any kind of syntax highlighting or autocompletion.
15:52 gerd joined #parrot
15:52 logie joined #parrot
15:53 dalek parrot: 0a87d4d | NotFound++ | src/pmc/packfiledebug.pmc:
15:53 dalek parrot: fix C90 violation
15:53 dalek parrot: review: https://github.com/parrot/parrot/commit/0a87d4d86a
15:56 gerd dalek++; it works
15:59 whiteknight gerd++  Thanks for keeping on top of it!
16:06 NotFound That's strange, it failed only in my most up-to-date systems. Has something changed in the cflags recently?
16:07 benabik What the heck?
16:07 bluescreen joined #parrot
16:07 benabik Why didn't I get those c90 problems when I compiled it?
16:08 benabik NotFound: That's an area I changed recently.
16:08 NotFound I got it with gcc 4.6.1
16:09 NotFound 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.
16:11 benabik Or at least _should_.
16:16 * benabik adds -std=c89 to his CFLAGS.
16:29 benabik Hm.  -Werror and parrot don't seem to get along.
16:30 benabik Wait…  Parrot adds -Werror=declaration-after-statement to my CFLAGS.  How did those compile?
16:30 whiteknight we don't build error-free
16:30 whiteknight er, we don't build warnings free
16:31 benabik WTF gcc?
16:32 benabik Right…  I guess gcc got much smarter about decl-after-statement in gcc (4.3.2, 4.6.1]
16:36 benabik I'm not surprised we don't build warnings free.  It's impossible to see them go by in the build.
16:37 benabik 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
16:37 whiteknight but g++ and clang are both much more picky
16:38 whiteknight and with the code generators we now get hundreds of warnings about unused parameters which are hard to shake
16:38 benabik :-/
16:38 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
16:38 whiteknight that is, the extra verbosity of it doesn't tell us anything we don't know
16:41 NotFound benabik: make -s
16:43 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:48 benabik NotFound: Also, make appears not to propagate -s to sub-invocations of make.
16:49 NotFound Is better than nothing, anyway.
17:12 whiteknight NotFound's admission that he uses his own text editor inspires me
17:12 whiteknight I think I'm going to fork gedit
17:13 NotFound Mine is text mode only.
17:14 whiteknight I'm not crazy enough to write my own editor from scratch :)
17:14 NotFound http://www.arrakis.es/~ninsesabe/qtre/ - Spanish only
17:16 NotFound I wrote it because at the time we had a bunch of machines with limited resources and several coworkers with vi alergy.
17:17 NotFound 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
17:17 whiteknight then I can write new features in winxed :)
17:18 NotFound That is one of my old ideas never materialized.
17:19 NotFound The name qtre is a pun. 'cutre' in spanish means 'poor, ugly, cheap...'
17:22 whiteknight :)
17:24 fperrad joined #parrot
17:36 dalek parrot: bf51f45 | mls++ | / (4 files):
17:36 dalek parrot: add Hash.update(Hash) method to speed up rakudo/nqp startup
17:36 dalek parrot: review: https://github.com/parrot/parrot/commit/bf51f457b6
17:40 tadzik haha, it slipped in just before the master freeze :)
17:41 mls (I was worried that it is already frozen...)
17:41 tadzik looking at dukeleto++'s email, you barely made it :)
17:41 tadzik oh, that does mean that we're rolling out our release in two days or so?
17:41 mls seems like it
17:42 Bog joined #parrot
17:42 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 #parrot
17:43 whiteknight who is doing the release today?
17:43 marcel_r joined #parrot
17:43 tadzik dukeleto I suppose
17:43 nine whiteknight: comments on this? http://perl6.niner.name/parrot/getti​ng_rid_of_nested_runloops/index.html
17:44 whiteknight nine: the biggest source of nested runloops is vtable overrides in custom types
17:45 nine whiteknight: does this happen as often as it sounds like?
17:45 whiteknight nine: very, very often
17:45 nine darn
17:45 whiteknight look at src/pmc/object.c (it's generated during the build)
17:45 whiteknight almost every single vtable access on one of those types calls a nested runloop
17:46 whiteknight the solution there is to avoid vtables completely on Object, and use only methods
17:46 whiteknight 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
17:47 whiteknight I like the idea of using tasks and getting the scheduler involved
17:47 whiteknight but we need to be very careful that we don't destroy performance of existing code
17:48 nine If anything, improved performance should be the target
17:48 dalek nqp: 514d0fe | mls++ | / (2 files):
17:48 dalek nqp: use parrot's new Hash.update method to speed up method cache generation
17:48 dalek nqp: review: https://github.com/perl6/nqp/commit/514d0fe722
17:48 whiteknight vtable overrides have the worst peformance of any call mechanism in parrot
17:48 whiteknight so limiting those is key
17:48 mls Why are they so bad?
17:48 whiteknight because of the nested runloop
17:49 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
17:49 whiteknight it's not a lot worse than method calls, but it is measurably worse
17:49 nine I'd guess the argument processing is the worst offender here
17:49 whiteknight yes
17:49 whiteknight the runloop overhead is just a little extra
17:50 whiteknight http://whiteknight.github.com/2011/​05/10/timings_vtable_overrides.html
17:50 mls argument setup is two PMCs, right?
17:50 whiteknight mls: yes. We can reduce that. I have plans to fix it, but haven't gotten there yet
17:50 benabik There still hasn't been movement on improving PCC, has there?
17:50 whiteknight http://whiteknight.github.com/201​1/05/12/pcc_refactor_timings.html
17:51 whiteknight benabik: I put my ideas out there. besides some words of caution, I didn't see any major disagreements
17:51 mls perfect. whiteknight++
17:51 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
17:52 whiteknight 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:53 whiteknight but if we write that off as being a known worst-case, at least there wont be any surprises
17:56 * 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?
17:56 dukeleto moritz: perhaps it was all the negativity
17:56 whiteknight moritz: I don't see one from you
17:57 moritz whiteknight: in the "Looking for something to hack on" thread
17:57 whiteknight oh, I see it now
17:58 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.
18:02 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:03 moritz my point is that a non-migration plus a switch is also painful
18:03 moritz and dukeleto++ seemed to gloss over that point
18:03 dukeleto moritz: stating that parrot devs purposefully ignore our trac tickets is not productive
18:03 dukeleto moritz: everybody in the parrot and perl 6 world is a volunteer
18:03 moritz nine: but that could be a reason, yes
18:04 moritz 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
18:04 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 #parrot
18:05 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?
18:05 dukeleto nine: yes, pain in every direction.
18:06 dukeleto 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
18:06 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.
18:07 mls whiteknight: speaking of parrot hacking, do you think "push_pad/pop_pad" opcodes would be useful?
18:07 benabik_ mls: I do!
18:07 whiteknight mls: in what sense?
18:07 whiteknight like for lexpads?
18:07 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?
18:07 dukeleto moritz: i hear your concerns
18:07 benabik_ Avoiding PCC because you want to shadow a lexical is obnoxious.
18:07 dukeleto moritz: but discussing isn't doing
18:07 mls yes, for lexpads. to get rid of sub calls
18:07 whiteknight mls: yes, I think there are major savings to be had therein
18:07 benabik_ Er…  I switched meaning in the middle of the sentence there.
18:08 moritz dukeleto: you can both lead the effort *and* discuss *first*
18:08 dukeleto moritz: consider the discussion started :)
18:08 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.
18:08 moritz dukeleto: ok. What do you plan to do with currently open trac tickets?
18:09 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?
18:09 dukeleto moritz: i think we have enough hackers to write a script to mostly automate the process, and petdance++ has even volunteered to help
18:09 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
18:09 whiteknight okay, that makes sense
18:10 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?
18:10 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
18:10 mls Good. That'll be my parrot project for this week
18:10 whiteknight mls++
18:10 dukeleto that should close about 1/3 of our TT's
18:11 dukeleto 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.
18:11 dukeleto moritz: the 1 year mark can be tweaked to a different time frame, but something similar, etc...
18:11 tadzik cool
18:12 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)
18:12 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
18:12 moritz dukeleto: sorry, will have to go afk for a while, will be happy to continue the discussion later
18:12 dukeleto Migrating every currently open TT would, in my opinion, be a mistake.
18:13 moritz (on the order of ~20min)
18:13 dukeleto moritz: ok. I guess I should work on doing the release ;)
18:14 benabik Do we have Parrot::Embed anymore?
18:14 nine funny: the oldest TT I find is "Implement Async I/O" :)
18:14 dukeleto benabik: it exists.
18:14 cotto ~~
18:15 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 #parrot
18:17 whiteknight mls: which opcodes?
18:17 contingencyplan_ joined #parrot
18:18 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
18:18 mls push_pad, pop_pad, peek_pad...
18:18 benabik mls: peek_pad?
18:18 whiteknight mls: no, I'm not aware that we ever had such opcodes
18:18 mls (I implemented very differently)
18:19 mls peek_pad: Store the current lexical scope pad in a PMC
18:19 marcel_r left #parrot
18:19 mls ch10_opcode_reference.pod
18:19 mls (and no peek_pad for me ;) )
18:20 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.
18:20 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 #parrot
18:21 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.
18:22 mls push_pad also takes a lexinfo name as argument
18:22 whiteknight oh wow, that sounds very powerful
18:22 whiteknight I can haz see patch?
18:22 benabik mls: What does lexinfo compile to?
18:22 benabik I'd rather see ops than PIR directives.
18:22 mls whiteknight: not yet ;)
18:22 benabik (Speaking as someone trying to replace PIR.)
18:22 whiteknight benabik: probably nothing. LexInfo PMCs are stored as constants in the packfile
18:23 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
18:24 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.
18:24 whiteknight benabik: at least his patch seems to be explicit about it. Currently, LexInfos are constructed implicitly by IMCC from the .lex directives
18:24 whiteknight so, this actually is a little less magically
18:25 benabik heh
18:25 mls Well, actually you also need the .lex command sto fill the lexinfo
18:25 mls still magical, I'm afraid
18:25 whiteknight of course, when your reference point is "absolute maximum magic", anything else seems like a little less
18:25 benabik But that's old magic.
18:25 benabik Old magic I already have to deal with.  :-D
18:25 mls True.
18:26 mls ok, I gotta do some $dayjob work and then I'll head home. Speak to you guys tomorrow...
18:27 whiteknight later
18:39 jsut_ joined #parrot
18:39 schmooster joined #parrot
18:46 dukeleto mozilla crash reports are pretty spiffy: https://crash-stats.mozilla.com/report/in​dex/0c1d9cbe-0fd8-4597-b6eb-092812111015
18:47 dukeleto we could have an environment variable which, if defined, told parrot to attempt to submit a crash report if badness happens...
18:48 benabik bleh.
18:48 benabik Doing so in a cross-platform way is painful, I'd think.
18:48 * tadzik just realized Parrot Socket has non-blocking capabilities for I-don't-even-know-how-long
18:49 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 :)
18:49 dukeleto whiteknight: i like that too
18:50 benabik dukeleto: Can we share the server they submit to?
18:50 NotFound That may need to resurrect the hcf opcode.
18:50 whiteknight NotFound: I was thinking the same thing :)
18:50 benabik … hcf?
18:50 NotFound Halt and Catch Fire
18:50 whiteknight benabik: basically, it was a forced segfault
18:50 dukeleto benabik: do a search for halt and catch fire. Amusement will occur.
18:50 whiteknight I think it may have been used in the early days as a debugging tool, but we removed it
18:51 benabik Error: lp0 on fire
18:52 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
18:54 benabik I like HSC (Halt and Spontaneously Combust).
18:54 NotFound I had a wifi access point that did that.
18:54 NotFound The first hour of usage.
18:57 Lma joined #parrot
19:02 dalek parrot: 80f8508 | dukeleto++ | ChangeLog:
19:02 dalek parrot: update and reformat changelog
19:02 dalek parrot: review: https://github.com/parrot/parrot/commit/80f8508649
19:06 * 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_?
19:07 dukeleto benabik: the CPU silicon literally cracked open and caught fire
19:08 dukeleto 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.
19:08 * benabik hopes he didn't do it.
19:08 dukeleto https://gist.github.com/1296368
19:09 dukeleto ./parrot t/library/pg.t is coredumping on my machine
19:09 Coke joined #parrot
19:09 benabik Uhm.  I don't think I touched any of that.  Still not good.
19:09 dukeleto the GC is coredumping...
19:09 benabik Ahhh…  "#skip no Pg connection; skipping remaining tests"
19:11 NotFound t/dynpmc/select.t TODO passed:   13
19:12 benabik NotFound: That's probably the test that passes on Linux, but not elsewhere.
19:12 benabik It's more TODO "find a better way to test this" than TODO "make this work"
19:13 dukeleto this looks like a GC bug. Sucks hard.
19:13 benabik_ joined #parrot
19:14 moritz did parrot's exit handling change?
19:14 dukeleto moritz: not sure. But the kill_threads branch touched a lot of stuff.
19:15 * dukeleto takes tools/release/auto_release.pl for a whirl
19:15 * dukeleto is going to continue with the release process, for now
19:15 NotFound The no_pg branch lacks finalize
19:16 dukeleto NotFound: huh? I am working on the master branch
19:17 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?
19:17 NotFound Aye
19:17 moritz current rakudo fails some exit related tests on parrot master
19:17 NotFound There is no exit op in that path
19:18 moritz t/spec/S29-context/exit.rakudo and t/spec/S32-temporal/local.rakudo for example
19:19 benabik NotFound: I have no problem with the test though.
19:19 benabik NotFound: Works with or without finalize for me.
19:19 NotFound Ah, sorry, I mean dukeleto
19:20 mj41 joined #parrot
19:21 NotFound Ugh, that test is using load_bytecode with .pir files
19:23 jlaire joined #parrot
19:24 NotFound prove -v t/library/pg.t emits 'ok NN #skip skipped'. Shouldn't be '#skip REASON_SUPPLIED" ?
19:24 cotto #ps in 6
19:27 benabik moritz: I'm grabbing a more recent Rakudo.  Any idea when those tests started to fail?
19:28 dalek parrot: d5f7440 | dukeleto++ | / (7 files):
19:28 dalek parrot: Update some stuff to 3.9.0
19:28 dalek parrot: review: https://github.com/parrot/parrot/commit/d5f7440845
19:29 moritz benabik: I didn't have them on my last spectests, so it must be related to recompiling parrot/master
19:30 benabik moritz: Any idea what the old version of Parrot was?  (Assuming new is master)
19:32 moritz benabik: might have been 4934d51
19:33 * benabik fails to see anything suspicious in git-log.
19:35 marcel_r joined #parrot
19:36 dukeleto msg soh_cah_toa the release script died on me: https://gist.github.com/1296456
19:36 aloha OK. I'll deliver the message.
19:36 dukeleto msg soh_cah_toa it would be nice if it printed out exactly which commands it is running in the background
19:36 aloha OK. I'll deliver the message.
19:37 ambs_ joined #parrot
19:44 bluescreen joined #parrot
19:45 dalek parrot: f3f9158 | dukeleto++ | / (3 files):
19:45 dalek parrot: Update PBC_COMPAT and native pbc tests
19:45 dalek parrot: review: https://github.com/parrot/parrot/commit/f3f9158135
19:47 dalek parrot: 3f0688b | dukeleto++ | docs/project/release_manager_guide.pod:
19:47 dalek parrot: remove pending release from docs/project/release_manager_guide.pod
19:47 dalek parrot: review: https://github.com/parrot/parrot/commit/3f0688bb5f
19:49 benabik … Poll is implemented in terms of select?
19:50 SHODAN joined #parrot
19:50 tadzik what is "in terms of select"?
19:50 benabik tadzik: Parrot_io_poll calls select()
19:50 tadzik oh cool
19:50 benabik fsvo cool.
19:52 dalek parrot: 07eb6e9 | dukeleto++ | docs/project/release_manager_guide.pod:
19:52 dalek parrot: Remove a step from the release process, since we don't use milestones currently
19:52 dalek parrot: review: https://github.com/parrot/parrot/commit/07eb6e92af
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.
19:52 benabik *usec, not used
19:52 dalek winxed: 5fa2a54 | NotFound++ | / (2 files):
19:52 dalek winxed: jump version to 1.4 devel, fix __ASSERT__ to emit absolutely nothing in non debug mode
19:52 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/5fa2a540c1
19:52 tadzik I can fix that
19:58 * 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.  :-/
20:02 cotto excuses, excuses
20:03 whiteknight dukeleto: done any bisecting?
20:03 dukeleto whiteknight: trying to find a starting rev... 3.8.0 has the same bug
20:04 whiteknight ouch
20:04 dukeleto trying 3.6.0 now
20:04 whiteknight are we sure it's a parrot problem, not a test problem?
20:04 NotFound whiteknight: bootstrap-prt0 is supposed to not emit source annotations?
20:04 whiteknight NotFound: I think not. I can't remember
20:04 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.
20:05 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?
20:05 dukeleto whiteknight: not sure about anything yet
20:05 dukeleto cotto: yes
20:06 Coke .
20:06 NotFound The current version has annotations, the regenerated hasn't
20:06 cotto I really hope this isn't a parrot problem.
20:06 dukeleto cotto: but my new_parrot alias rm -rf's my installed parrot, so I don't think that is it
20:06 whiteknight moritz mentioned that Rakudo has been seeing problems related to program exit. I would like more details about that
20:06 whiteknight I don't think I've seen any tickets to that effect yet
20:06 NotFound dukeleto: Can I commit a fix for frontend/parrot2 ?
20:07 * benabik is running Rakudo's spectest while in class.
20:08 soh_cah_toa joined #parrot
20:08 davidfetter joined #parrot
20:09 dukeleto NotFound: go for it. will i need to change PBC_COMPAT ?
20:09 dukeleto same bug on 3.6.0. double ouch.
20:10 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
20:10 NotFound dukeleto: no, is just a minimal fix
20:10 cotto +1 until we get verification from another machine
20:11 dukeleto NotFound: ok. go for it
20:11 dukeleto i may be the only person running those tests with Postgres 8.4.8
20:11 dukeleto it works on 3.0.0 for me
20:11 benabik oog
20:11 * dukeleto crafts a bisect
20:11 whiteknight the test sounds shakey to me
20:12 dukeleto whiteknight: yes, the test is shoddily-written
20:14 Coke IWBNI if aloha told you WHERE someone gave you the message.
20:15 whiteknight Coke: like a timestamp?
20:15 benabik whiteknight: Not when, where.  Like #parrot
20:15 whiteknight okay, I wasn't sure if aloha was present in other channels
20:16 benabik It's over in #perl6, although it's very quiet there.
20:16 dalek parrot: 4833d68 | NotFound++ | frontend/parrot2/prt0. (2 files):
20:16 dalek parrot: check lenght before substr'ing in frontend
20:16 dalek parrot: review: https://github.com/parrot/parrot/commit/4833d682d6
20:17 * dukeleto kicks off a bisect
20:19 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
20:21 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
20:23 NotFound "that" == 4833d682d6
20:30 dukeleto NotFound++
20:30 dukeleto NotFound: for future reference, if you include the string "fixes #167" in the commit message, it will autoclose the issue
20:30 dukeleto blarg. still tryinig to craft the bisect script correctly
20:30 dukeleto evidently, exiting with an exit code >128 aborts the bisect
20:31 dukeleto and the test exits with a 139
20:31 cotto not sure why that's a feature
20:31 benabik It's generally assumed you're trying to bisect a failing test and something like a segfault is exceptional.
20:31 NotFound dukeleto: ok
20:31 marcel_r_ joined #parrot
20:32 marcel_r_ left #parrot
20:35 dukeleto ok, i think i crafted the bisect script correctly. It will probably take about 15 builds or so
20:40 dukeleto parrot bisect visualize is kinda cool, but some kind of OpenGL rendering would be better
20:42 dukeleto the race is on. What will finish first? Bisect or my battery life?
20:42 dukeleto It isn't looking good...
20:45 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 benabik … Terminal.app crashed?
20:48 cotto screen ftw
20:48 dukeleto but a trusty power cord saved the day, just before a forced hibernation
20:54 cotto I love happy endings.
20:55 dalek plumage: 004b3a1 | soh_cah_toa++ | / (3 files):
20:55 dalek plumage: 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 dalek plumage: review: https://github.com/parrot/​plumage/commit/004b3a14b0
20:58 benabik moritz: It looks like NQP is adding an exception handler that is catching the exit exception.
21:00 * benabik hates that NQP and nom broke --target=past
21:01 benabik_ joined #parrot
21:01 tadzik benabik: I don't remember --target=past working since I work on rakudo
21:01 benabik tadzik: It worked on b.
21:01 tadzik really?
21:01 benabik Pretty sure.
21:01 tadzik mebbe
21:01 benabik It at least worked for nqp-rx, and doesn't for nqp.
21:03 benabik When last I tried it gave a bunch of errors…  now it's just empty.
21:03 dukeleto 0a8cc07d1cc5ec2a91355f5d17f3317b18ed36d1 is the first bad commit
21:03 dukeleto commit 0a8cc07d1cc5ec2a91355f5d17f3317b18ed36d1
21:03 dukeleto Author: Peter Lobsinger <plobsing@gmail.com>
21:03 dukeleto Date:   Fri Apr 22 16:42:36 2011 -0400
21:03 dukeleto remove support for deprecated "t" nci signatures
21:05 benabik 124 lines of PIR for -e 'pir::exit(0)'  wow
21:06 dalek plumage: edef6aa | soh_cah_toa++ | t/02-load-all.t:
21:06 dalek plumage: Added Plumage/Interactive.pbc and Plumage/Command.pbc to test_load_pbcs() test.
21:06 dalek plumage: review: https://github.com/parrot/​plumage/commit/edef6aa1fe
21:09 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:10 benabik Yeah…  I don't even see an exception handler in the PIR for pir::exit(0).
21:10 Coke joined #parrot
21:11 benabik Ahhhh…  It works fine when compiled.
21:11 benabik The exception handler somewhere in HLL::Compiler is catching it.
21:13 benabik moritz: HLL::Compiler is catching the exception.
21:14 benabik dukeleto: Rakudo exit problem seems to be rooted in NQP.
21:15 benabik dukeleto: So probably not a release blocker.
21:18 dd070 joined #parrot
21:19 dd070 left #parrot
21:22 dalek parrot: e608208 | tadzik++ | src/pmc/socket.pmc:
21:22 dalek parrot: Fix typo in socket.pmc
21:22 dalek parrot: review: https://github.com/parrot/parrot/commit/e608208863
21:25 jsut joined #parrot
21:26 GodFather joined #parrot
21:38 benabik more like a thinko
21:41 tadzik mebbe
21:42 dalek rakudo/nom: bed705e | tadzik++ | src/core/IO/Socket.pm:
21:42 dalek rakudo/nom: Implement IO::Socket.poll (unspecced)
21:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bed705e1b3
21:57 benabik Very strange that that commit causes the error.  Nothing in runtime/parrot/library/postgres.t uses t
21:58 benabik 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.
22:05 benabik The error is caused by sub 'cstring_ret_wrapper'.
22:08 benabik Ahah…  Parrot_str_new (interp=0x8d8d6b, buffer=0x0, len=9435376)
22:08 benabik $P1 = dlfunc $P1, "Parrot_str_new", "Spi"
22:08 benabik $S0 = $P1($P0, 0)
22:09 benabik I find that heartily suspicious.
22:12 * benabik adds notes to issue.
22:16 benabik dukeleto: See https://github.com/parrot/parrot/issues/168 for a probable fix.
22:18 benabik Heck, I have a commit bit and a couple minutes...
22:18 tadzik I like the attitude
22:23 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:26 benabik msg dukeleto Probable fix committed as 1ec04f6.
22:26 aloha OK. I'll deliver the message.
22:27 benabik I love the feeling of pushing untested code to master right before a release.  :-/
22:27 benabik <.<  >.>
22:27 benabik Gotta run.
22:27 dalek parrot: 1ec04f6 | benabik++ | runtime/parrot/library/postgres.pir:
22:27 dalek parrot: postgres: Pass interp to Parrot_str_new
22:27 dalek parrot:
22:27 dalek parrot: This was segfaulting because Parrot_str_new expects an interp, a
22:27 dalek parrot: buffer, and a length but we were only passing a buffer and length.
22:27 dalek parrot: The result was... not good.  See gh-168 for gory details.
22:28 dalek parrot: review: https://github.com/parrot/parrot/commit/1ec04f63af
22:53 whiteknight joined #parrot
22:58 whiteknight how are we looking for the release? that test failure get sorted out?
23:01 jsut_ joined #parrot
23:08 benabik joined #parrot
23:13 benabik back.
23:14 benabik whiteknight: I have a probable fix for it.  Waiting for dukeleto to test.
23:18 whiteknight ok
23:24 dalek parrot: 7683718 | dukeleto++ | t/library/pg.t:
23:24 dalek parrot: Todo a test failure that is blocking the release
23:24 dalek parrot: review: https://github.com/parrot/parrot/commit/7683718be2
23:24 benabik I guess it didn't fix it?

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

Parrot | source cross referenced