Index

Show enters and exits. Hide enters and exits.

00:42:35seydarw3rd, kids
00:44:15seydarbrixen: ping!
00:48:25seydarfades
00:58:32brixenseydar: sup yo?
01:30:47seydarbrixen: so i found a bit of time to try to rebuild rubinius
01:31:08seydarbeen watching the commits daily on github, so i *kinda* know what's changed in the recent past
01:31:15seydarbut i'm still having mmap issues
01:31:25seydardid we ever get to the bottom of it last time/
01:32:05brixenhm, someone was working on that recently
01:32:16brixenbut I don't think the put together a patch
01:32:33brixenthere is still an issue with mmap, yes
01:33:04seydardo you remember what fileishness they tracked it down to?
01:33:14seydar(i'm assuming you don't recall the nombre)
01:33:23brixenyakischloba: ping
01:33:33brixenseydar: yakischloba was working on it iirc
01:33:54seydaryakischloba: double ping
01:38:58seydarbrixen: so what have you and evan been doing in your extremely productive gramming sessions?
01:39:42yakischlobawtf?!
01:39:43yakischlobaoh.
01:39:59yakischlobaits in uhm
01:40:57yakischlobavm/util/immix.hpp
01:41:21yakischlobaline 280 and 296
01:41:32yakischlobathose calls to mmap need to have the fd argument changes to -1 instead of 0
01:41:42yakischlobaso, the second to last arg in each one
01:41:55seydaryou are a godsend
01:42:03seydardoes this fix work for all platforms, or just ours?
01:42:30yakischlobanot sure. i would imagine it should be for all platforms, since fd 0 is always stdin on posix?
01:42:37yakischlobabut i guess its the mmap impl.
01:42:56yakischlobathe fact that it was 0 in the first place leads me to believe that it works on someones machine
01:43:43seydarwhat box do you have?
01:43:49yakischlobai am on tiger
01:43:54yakischloba10.4.11
01:43:58seydarPPC?
01:44:04yakischlobano intel
01:44:19seydarwell, we should still be best friends regardless
01:44:31yakischlobaoh, i see. it looks like the mmap on modern linux simply ignores the fd argument for MAP_ANONYMOUS
01:45:13seydarso i'll see you at GoRuCo, then?
01:45:52yakischlobanaw, no time/monies right now :(
01:47:16yakischlobai dont know if i should make an itty bitty patch for that or if somenoe else will do it. i duno how you rubinius guys roll
01:48:20seydari can do it if you want
01:48:34brixensomeone on ppc tiger
01:48:37seydari throw in the quote "mad shoutz to yakischloba for writing this"
01:48:45brixenI don't have access to such a system at the moment
01:48:51seydaris ppc tiger
01:49:05brixenheh
01:49:11seydarwhy ppc though?
01:49:15yakischlobaseydar: do you have the __WORDSIZE problem?
01:49:25brixenah, maybe any arch for tiger
01:49:27seydarnot yet. i may in a minute or two
01:49:30brixenI wouldn't know
01:49:55yakischlobaseydar: __WORDSIZE was not defined on my tiger system. had to hard core to 32 or use WORD_BIT
01:50:17yakischlobaseydar: there is a 'todo' about it in the code
01:51:08seydarglorp, what file (don't have the error yet)
01:51:33yakischlobaeh it was in 2 files i think, maybe 3-4 places
01:51:45yakischlobatoward the end of the build iirc
01:53:54seydargod dammit you're all telling me where and when i'm going to die
01:53:59seydarnot cool guys not cool
01:54:51yakischlobahar
02:00:24seydaromfg readline is fucking me over. all of my bugs appear with readline: http://pastie.org/459194
02:01:41seydaryakischloba: do you know what that means?
02:04:27yakischlobaheh
02:04:39yakischlobameans an assertion failed at line 114 of vm/exception.cpp :)
02:04:53yakischloba(no, i have no idea)
02:09:35seydarbrixen: what would cause rubinius to say "no backtrace available"?
02:11:13brixenseydar: the vm didn't create one when an exception was raised
02:11:38brixenseydar: that's a weird error for you to get
02:13:21brixenseydar: that was trying to build the readline extension?
02:13:26seydaryargh
02:13:48brixenwhat does bin/rbx -v give you?
02:13:51seydaraccording to my calculations, RBX_RUNTIME isn't getting something done to it that it should
02:14:25seydarsame error
02:14:26seydarexactly
02:14:56brixentry RBX_RUNTIME=runtime bin/rbx -v from the root of rbx source
02:15:08brixendo you have a runtime/ dir btw?
02:28:14seydaroh shit i closed it. lemme try agai
02:28:52seydarit works! and yes i do
02:40:31brixenseydar: hmm
02:40:47brixenbut plain bin/rbx -v raises an exception?
02:43:22brixenupgrades to jaunty jackas^hlope
02:45:31seydarbrixen: plain bin/rbx -v fails with the abort
03:01:11boyscoutfixed mmap bug MAD SHOUTZ TO yakischloba!!!!! - a349cd2 - Ari Brown
03:01:11boyscoutMerge branch 'master' of git@github.com:evanphx/rubinius - eabf5ec - Ari Brown
03:02:06sbryantbrixen: jaunty pisses me off
03:02:15sbryantthe notification system is obnoxious
03:05:34seydar:-( mkmf doesn't like me
03:06:04boyscoutCI: eabf5ec success. 1503 files, 7251 examples, 23662 expectations, 0 failures, 0 errors
03:09:12brixenseydar: vm/drivers/cli.cpp in main
03:09:20brixenI can't see why that's not working for you
03:09:41brixenyou could try adding some printfs or running in the debugger
03:10:37seydarhah gdb isn't built right on my machine and requires ridiculous dependencies to be rebuilt. i can try some printfs
03:10:43seydari got it to compile everything though
03:10:44brixenk
03:10:50seydarnow i'm testing out rbx gem install
03:10:57brixencool
03:11:11brixenone option is just to export RBX_RUNTIME in your env
03:11:24seydarbut it has some complaints about requiring mkmf. a quick irb test tells me that it's missing the header files (which are clearly there), so i'm assuming it isn't being built fully
03:11:25brixenbut you could try printf'ing RBA_PATH
03:11:32seydarre: RBX_RUNTIME, that's what I did
03:12:09brixensounds like the configure tasks aren't running right
03:12:19brixenwhat version of rake do you have installed?
03:14:00seydar0.8.4
03:14:29brixenok
03:17:19seydarwhere can i go to manually build the mkmf stuff?
03:17:25seydari'm poking around but not seeing it
03:19:32brixenthere's nothing to build for mkmf
03:19:44brixenmaybe the rbconfig stuff isn't being built
03:19:58brixenwhat gem did you try to install?
03:20:12seydarquoth rubinius: "mkmf.rb can't find header files for ruby at /Volumes/music/src/rubinius/vm/capi/ruby.h"
03:20:30seydarbut the file is _there_
03:20:43brixensilly
03:20:54brixenI wonder if your stat is the problem
03:21:02seydarstat?
03:21:12brixensys call for finding out about a file
03:21:22brixencould be the same problem as RBX_RUNTIME
03:21:34seydarOOOOOOOOOOOOOOOH
03:21:37seydarOHOHOH
03:21:52seydarok so when i pulled, i forgot to specify to pull to rubinius.code
03:21:58seydarso i just did a mv rubinius/ rubinius.code/
03:21:58rueseydar: (`man 2 stat`)
03:22:07seydar(kiitos rue!)
03:22:21seydarso the path it gives is looking for rubinius/vm
03:22:25seydarnot rubinius.code/vm
03:22:45seydarbut why is it specifically looking for rubinius/vm instead of ./vm in the first place?
03:23:27brixenseydar: do you have a vm dir in the root of your source dir?
03:23:41seydaryes
03:23:57brixenso bin/rbx and run this: File.stat("./vm/capi/ruby.h")
03:24:02brixenwhat do you get?
03:25:06seydarit exists
03:25:17seydaroh boy you're gonna have to give me another 30 min
03:25:21seydari failed at using mv
03:26:09brixenwhy do you need mv?
03:26:30seydari mv'd rubinius.code/ to rubinius/, so that mkmf could find things
03:27:46brixenum ok
03:28:03brixenI recognize all those letters but I have no idea what you're saying :P
03:28:27seydarirb(main):001:0> require 'mkmf'
03:28:35seydarmkmf.rb can't find header files for ruby at /Volumes/music/src/rubinius/vm/capi/ruby.h
03:28:52seydarit was looking in rubinius/ as the root dir, but that's not the root dir
03:28:56seydarit's actually rubinius.code/
03:29:05brixenoh lordy
03:29:29seydarwhat?
03:29:37brixenheh that
03:29:54yakischlobaseydar: you are still fighting to get this running eh ;)
03:30:06seydaryakischloba: i have such bad luck with computers you have no idea
03:30:17seydarcomputers and girls, actually. but that's a story for a different day
03:30:22brixenseydar: vm stores the dir it was built in
03:30:35brixenyou can move vm/vm but you cannot change the name of its dir
03:30:38seydar*slap*
03:30:45seydarFML|
03:31:06brixenso finish moving the dir and then rake clean; rake
03:31:47brixenthe configure tasks set up a bunch of vars when they run
03:32:07brixenif you change the name of the rbx root dir, you have to rebuild
03:42:30seydargnight kids
03:42:35seydari'll catch you cats later
03:42:48seydarhigh expectations for seeing you all at GoRuCo
04:30:28ddubis setting up a new VPS running jaunty tonight
17:30:28brixenusing method_missing is an open invitation to stage coach bandits to comes steal your jewels
17:30:33brixenwhenever they want
18:24:40brixenevan: guess what this does: ns[:trigger].call(value) if ns[:trigger].respond_to?(:call)
18:24:53evanhm.
18:25:02brixenyeah, we have #call on NilClass
18:25:06brixenso...
18:25:09evanac.
18:25:10evanack.
18:25:20brixenwe could also define #respond_to?
18:25:30brixenwe could make our call send to private #call
18:25:33brixenand make it private
18:25:39brixenor rework LJE
18:25:44brixenI like #2
18:26:04evanwell.
18:26:19evanactually, since we have yield instructions now
18:26:23evanthey could check that block is not nil
18:26:29evanand raise LJE if it is
18:26:32brixenok
18:26:40evanthe reason we had nil#call was because yield compiled down to calling #call
18:26:45evanbut we have a difference now
18:26:49brixenright
18:36:45brixenok, this is working
18:37:02brixenI think it was kinda elegant just calling on nil
18:37:12brixenbut it was likely to bite us eventually
18:37:41brixenmaybe
19:20:09brixenevan: what do you think of Rubinius.load 'file' in place of our # depends on
19:35:00boyscoutMove open3.rb to lib directory. - dbd2507 - Brian Ford
19:35:00boyscoutDon't use method_missing finder in sydney_rewriter. - af11797 - Brian Ford
19:35:00boyscoutRaise LocalJumpError in yield instructions. - 3723959 - Brian Ford
19:35:00boyscoutSplit out kernel/common/misc.rb. - 349411c - Brian Ford
19:37:51evanbrixen: and have Rubinius.load be a bootstrap prim?
19:38:19brixenyeah
19:38:23brixenwe already have a prim
19:38:30brixenthat loads an rbc
19:38:39evanwell
19:38:44evanit doesn't check $: or anything
19:38:52evanso it doesn't replace depends on
19:38:54brixenit wouldn't
19:39:06evanbecause depends on lists the same file many times
19:39:23brixenright, but that tree is flattened
19:39:26brixenby tsort
19:39:46evani'm confused
19:39:56evanwould Rubinius.load be executed?
19:39:59evanor is it a hint?
19:40:05brixenthe depends on requires an additional build step
19:40:18brixen the files are eventually loaded in linear order
19:40:33brixenso, thinking how we can remove that build step
19:40:38brixenand just process a list
19:40:59evanyou want to remove the load_order.txt generation step?
19:41:22brixenyeah, thinking about it
19:41:51evanhow would the results of depends on be communicated to the VM?
19:42:00brixenwe've got a bunch of extraneous depends on now that headius added
19:42:36brixenit would just load a list, but if a.rb needed b.rb to load first, it would it directly
19:42:53evan"just load a list" == load_order.txt?
19:43:05brixenright, without the depends on step
19:43:08brixenjust a list
19:43:19evani don't get it.
19:43:25brixenok nvm
19:43:33brixendo you feel like fixing constants?
19:43:41evanare they broken?
19:43:49rueThere is the question of how to load it, too.
19:43:59brixenI'll check the specs again
19:44:03brixenthey were not all passing
19:44:23brixenand I'm seeing odd errors related to constants missing when trying to run stuff
19:45:00tilmanmaybe all the kernel rbcs could be merged into one rbc, too?
19:45:34brixenbin/mspec spec/frozen/language/constants_spec.rb has 3 errors
19:45:40evanug
19:45:42evani had no idea
19:45:51evanthis is the downside of tags
19:45:58evanit's easy to forget that stuff
19:46:01evanat least for me it is
19:46:07brixenbin/mspec spec/frozen/core/module/const*.rb has 6
19:46:24brixentilman: we had that, it was an rba
19:46:42tilmani know, that's not what i'm talking about
19:46:58brixenI'm just irritated finding all these extraneous depends on in files
19:47:12brixenit's just a big nebulous wtf about how kernel loads
19:47:41brixentilman: what would one big rbc give you, except a headache?
19:47:42evanwell
19:47:47evanwe could remove depneds on entirely
19:47:51evanand load_order.txt
19:47:52tilmanbrixen: no need to read .load_order.txt on startup
19:48:02tilmanbecause the compiledmethod objects would be stored in order
19:48:06evanand have a hard maintained file of the files to lead in what order
19:48:17evantilman: thats... not how it works.
19:48:47evanplus it destroys backtraces
19:49:03evanif they're all just concat'd then compiled
19:49:37tilmanok
19:52:44rueWe could try using magic
19:52:48rueI levitated today
19:53:52brixenevan: the manual list would be fine. I can take the existing load_order files and put them in kernel/**, then copy them to runtime/** during build
19:53:59brixenthen remove all the depends on
19:54:17evani think thats ok to do now
19:54:28brixenk
19:54:33evanwe don't add files very often now
19:54:46brixenyeah
20:02:07evanbrixen: another option is to leave depends on in there
20:02:21evanand use them to compute one list
20:02:24evanthat we check in
20:02:30evanand isn't automatically regenerated
20:04:11brixenmy problem with depends on is that there are a bunch of extraneous ones
20:04:19brixenit's ambiguous
20:04:31evanok
20:04:31brixenthe list either works or it blows up
20:04:36evansure
20:04:50evanmanual is easier than that it was before too because we have alpha.rb
20:04:57brixentrue
20:04:59evanthat flattens deps a lot
20:05:23evanwe should probably have a rule too
20:05:38evannew files to directories must go at the end of the existing list for that directory
20:05:51evanie, a new file in common goes at the end of the list of common files
20:05:58brixencould
20:06:05evanthat would likely eliminate the problem for the future
20:06:06brixenI'll add it to the bootstrap docs
20:06:25brixencould also just go alphabetical unless a file is depended on
20:06:32brixenthen in has to go above all the dependees
20:06:32evansure
20:21:40rueCould use SYSV loading.
22:49:26dgtizedwe still don't handle return in a Thread or return in a block outside of a method properly
22:50:39slavadgtized: what happens if the same block returns twice?
22:51:05slavayou can implement 'return' in full generality using multi-shot continuations
23:24:50slavaevan: ping
23:48:47peterhilbrixen: Any news on building NArray?
23:53:13brixenpeterhil_: kinda on the back burner for the moment
23:53:20brixenrailsconf is next week
23:54:41rueHave you committed any changes for it thus far?
23:56:37brixenit builds but is missing a symbol when loading
23:56:50rueWhich?
23:56:56brixenand someone needs to make a patch for the RCLASS(obj)->m_tbl stuff
23:57:01brixenwhich what?
23:59:29rueWhich symbol?