Show enters and exits. Hide enters and exits.
| 00:42:35 | seydar | w3rd, kids |
| 00:44:15 | seydar | brixen: ping! |
| 00:48:25 | seydar | fades |
| 00:58:32 | brixen | seydar: sup yo? |
| 01:30:47 | seydar | brixen: so i found a bit of time to try to rebuild rubinius |
| 01:31:08 | seydar | been watching the commits daily on github, so i *kinda* know what's changed in the recent past |
| 01:31:15 | seydar | but i'm still having mmap issues |
| 01:31:25 | seydar | did we ever get to the bottom of it last time/ |
| 01:32:05 | brixen | hm, someone was working on that recently |
| 01:32:16 | brixen | but I don't think the put together a patch |
| 01:32:33 | brixen | there is still an issue with mmap, yes |
| 01:33:04 | seydar | do you remember what fileishness they tracked it down to? |
| 01:33:14 | seydar | (i'm assuming you don't recall the nombre) |
| 01:33:23 | brixen | yakischloba: ping |
| 01:33:33 | brixen | seydar: yakischloba was working on it iirc |
| 01:33:54 | seydar | yakischloba: double ping |
| 01:38:58 | seydar | brixen: so what have you and evan been doing in your extremely productive gramming sessions? |
| 01:39:42 | yakischloba | wtf?! |
| 01:39:43 | yakischloba | oh. |
| 01:39:59 | yakischloba | its in uhm |
| 01:40:57 | yakischloba | vm/util/immix.hpp |
| 01:41:21 | yakischloba | line 280 and 296 |
| 01:41:32 | yakischloba | those calls to mmap need to have the fd argument changes to -1 instead of 0 |
| 01:41:42 | yakischloba | so, the second to last arg in each one |
| 01:41:55 | seydar | you are a godsend |
| 01:42:03 | seydar | does this fix work for all platforms, or just ours? |
| 01:42:30 | yakischloba | not sure. i would imagine it should be for all platforms, since fd 0 is always stdin on posix? |
| 01:42:37 | yakischloba | but i guess its the mmap impl. |
| 01:42:56 | yakischloba | the fact that it was 0 in the first place leads me to believe that it works on someones machine |
| 01:43:43 | seydar | what box do you have? |
| 01:43:49 | yakischloba | i am on tiger |
| 01:43:54 | yakischloba | 10.4.11 |
| 01:43:58 | seydar | PPC? |
| 01:44:04 | yakischloba | no intel |
| 01:44:19 | seydar | well, we should still be best friends regardless |
| 01:44:31 | yakischloba | oh, i see. it looks like the mmap on modern linux simply ignores the fd argument for MAP_ANONYMOUS |
| 01:45:13 | seydar | so i'll see you at GoRuCo, then? |
| 01:45:52 | yakischloba | naw, no time/monies right now :( |
| 01:47:16 | yakischloba | i 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:20 | seydar | i can do it if you want |
| 01:48:34 | brixen | someone on ppc tiger |
| 01:48:37 | seydar | i throw in the quote "mad shoutz to yakischloba for writing this" |
| 01:48:45 | brixen | I don't have access to such a system at the moment |
| 01:48:51 | seydar | is ppc tiger |
| 01:49:05 | brixen | heh |
| 01:49:11 | seydar | why ppc though? |
| 01:49:15 | yakischloba | seydar: do you have the __WORDSIZE problem? |
| 01:49:25 | brixen | ah, maybe any arch for tiger |
| 01:49:27 | seydar | not yet. i may in a minute or two |
| 01:49:30 | brixen | I wouldn't know |
| 01:49:55 | yakischloba | seydar: __WORDSIZE was not defined on my tiger system. had to hard core to 32 or use WORD_BIT |
| 01:50:17 | yakischloba | seydar: there is a 'todo' about it in the code |
| 01:51:08 | seydar | glorp, what file (don't have the error yet) |
| 01:51:33 | yakischloba | eh it was in 2 files i think, maybe 3-4 places |
| 01:51:45 | yakischloba | toward the end of the build iirc |
| 01:53:54 | seydar | god dammit you're all telling me where and when i'm going to die |
| 01:53:59 | seydar | not cool guys not cool |
| 01:54:51 | yakischloba | har |
| 02:00:24 | seydar | omfg readline is fucking me over. all of my bugs appear with readline: http://pastie.org/459194 |
| 02:01:41 | seydar | yakischloba: do you know what that means? |
| 02:04:27 | yakischloba | heh |
| 02:04:39 | yakischloba | means an assertion failed at line 114 of vm/exception.cpp :) |
| 02:04:53 | yakischloba | (no, i have no idea) |
| 02:09:35 | seydar | brixen: what would cause rubinius to say "no backtrace available"? |
| 02:11:13 | brixen | seydar: the vm didn't create one when an exception was raised |
| 02:11:38 | brixen | seydar: that's a weird error for you to get |
| 02:13:21 | brixen | seydar: that was trying to build the readline extension? |
| 02:13:26 | seydar | yargh |
| 02:13:48 | brixen | what does bin/rbx -v give you? |
| 02:13:51 | seydar | according to my calculations, RBX_RUNTIME isn't getting something done to it that it should |
| 02:14:25 | seydar | same error |
| 02:14:26 | seydar | exactly |
| 02:14:56 | brixen | try RBX_RUNTIME=runtime bin/rbx -v from the root of rbx source |
| 02:15:08 | brixen | do you have a runtime/ dir btw? |
| 02:28:14 | seydar | oh shit i closed it. lemme try agai |
| 02:28:52 | seydar | it works! and yes i do |
| 02:40:31 | brixen | seydar: hmm |
| 02:40:47 | brixen | but plain bin/rbx -v raises an exception? |
| 02:43:22 | brixen | upgrades to jaunty jackas^hlope |
| 02:45:31 | seydar | brixen: plain bin/rbx -v fails with the abort |
| 03:01:11 | boyscout | fixed mmap bug MAD SHOUTZ TO yakischloba!!!!! - a349cd2 - Ari Brown |
| 03:01:11 | boyscout | Merge branch 'master' of git@github.com:evanphx/rubinius - eabf5ec - Ari Brown |
| 03:02:06 | sbryant | brixen: jaunty pisses me off |
| 03:02:15 | sbryant | the notification system is obnoxious |
| 03:05:34 | seydar | :-( mkmf doesn't like me |
| 03:06:04 | boyscout | CI: eabf5ec success. 1503 files, 7251 examples, 23662 expectations, 0 failures, 0 errors |
| 03:09:12 | brixen | seydar: vm/drivers/cli.cpp in main |
| 03:09:20 | brixen | I can't see why that's not working for you |
| 03:09:41 | brixen | you could try adding some printfs or running in the debugger |
| 03:10:37 | seydar | hah gdb isn't built right on my machine and requires ridiculous dependencies to be rebuilt. i can try some printfs |
| 03:10:43 | seydar | i got it to compile everything though |
| 03:10:44 | brixen | k |
| 03:10:50 | seydar | now i'm testing out rbx gem install |
| 03:10:57 | brixen | cool |
| 03:11:11 | brixen | one option is just to export RBX_RUNTIME in your env |
| 03:11:24 | seydar | but 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:25 | brixen | but you could try printf'ing RBA_PATH |
| 03:11:32 | seydar | re: RBX_RUNTIME, that's what I did |
| 03:12:09 | brixen | sounds like the configure tasks aren't running right |
| 03:12:19 | brixen | what version of rake do you have installed? |
| 03:14:00 | seydar | 0.8.4 |
| 03:14:29 | brixen | ok |
| 03:17:19 | seydar | where can i go to manually build the mkmf stuff? |
| 03:17:25 | seydar | i'm poking around but not seeing it |
| 03:19:32 | brixen | there's nothing to build for mkmf |
| 03:19:44 | brixen | maybe the rbconfig stuff isn't being built |
| 03:19:58 | brixen | what gem did you try to install? |
| 03:20:12 | seydar | quoth rubinius: "mkmf.rb can't find header files for ruby at /Volumes/music/src/rubinius/vm/capi/ruby.h" |
| 03:20:30 | seydar | but the file is _there_ |
| 03:20:43 | brixen | silly |
| 03:20:54 | brixen | I wonder if your stat is the problem |
| 03:21:02 | seydar | stat? |
| 03:21:12 | brixen | sys call for finding out about a file |
| 03:21:22 | brixen | could be the same problem as RBX_RUNTIME |
| 03:21:34 | seydar | OOOOOOOOOOOOOOOH |
| 03:21:37 | seydar | OHOHOH |
| 03:21:52 | seydar | ok so when i pulled, i forgot to specify to pull to rubinius.code |
| 03:21:58 | seydar | so i just did a mv rubinius/ rubinius.code/ |
| 03:21:58 | rue | seydar: (`man 2 stat`) |
| 03:22:07 | seydar | (kiitos rue!) |
| 03:22:21 | seydar | so the path it gives is looking for rubinius/vm |
| 03:22:25 | seydar | not rubinius.code/vm |
| 03:22:45 | seydar | but why is it specifically looking for rubinius/vm instead of ./vm in the first place? |
| 03:23:27 | brixen | seydar: do you have a vm dir in the root of your source dir? |
| 03:23:41 | seydar | yes |
| 03:23:57 | brixen | so bin/rbx and run this: File.stat("./vm/capi/ruby.h") |
| 03:24:02 | brixen | what do you get? |
| 03:25:06 | seydar | it exists |
| 03:25:17 | seydar | oh boy you're gonna have to give me another 30 min |
| 03:25:21 | seydar | i failed at using mv |
| 03:26:09 | brixen | why do you need mv? |
| 03:26:30 | seydar | i mv'd rubinius.code/ to rubinius/, so that mkmf could find things |
| 03:27:46 | brixen | um ok |
| 03:28:03 | brixen | I recognize all those letters but I have no idea what you're saying :P |
| 03:28:27 | seydar | irb(main):001:0> require 'mkmf' |
| 03:28:35 | seydar | mkmf.rb can't find header files for ruby at /Volumes/music/src/rubinius/vm/capi/ruby.h |
| 03:28:52 | seydar | it was looking in rubinius/ as the root dir, but that's not the root dir |
| 03:28:56 | seydar | it's actually rubinius.code/ |
| 03:29:05 | brixen | oh lordy |
| 03:29:29 | seydar | what? |
| 03:29:37 | brixen | heh that |
| 03:29:54 | yakischloba | seydar: you are still fighting to get this running eh ;) |
| 03:30:06 | seydar | yakischloba: i have such bad luck with computers you have no idea |
| 03:30:17 | seydar | computers and girls, actually. but that's a story for a different day |
| 03:30:22 | brixen | seydar: vm stores the dir it was built in |
| 03:30:35 | brixen | you can move vm/vm but you cannot change the name of its dir |
| 03:30:38 | seydar | *slap* |
| 03:30:45 | seydar | FML| |
| 03:31:06 | brixen | so finish moving the dir and then rake clean; rake |
| 03:31:47 | brixen | the configure tasks set up a bunch of vars when they run |
| 03:32:07 | brixen | if you change the name of the rbx root dir, you have to rebuild |
| 03:42:30 | seydar | gnight kids |
| 03:42:35 | seydar | i'll catch you cats later |
| 03:42:48 | seydar | high expectations for seeing you all at GoRuCo |
| 04:30:28 | ddub | is setting up a new VPS running jaunty tonight |
| 17:30:28 | brixen | using method_missing is an open invitation to stage coach bandits to comes steal your jewels |
| 17:30:33 | brixen | whenever they want |
| 18:24:40 | brixen | evan: guess what this does: ns[:trigger].call(value) if ns[:trigger].respond_to?(:call) |
| 18:24:53 | evan | hm. |
| 18:25:02 | brixen | yeah, we have #call on NilClass |
| 18:25:06 | brixen | so... |
| 18:25:09 | evan | ac. |
| 18:25:10 | evan | ack. |
| 18:25:20 | brixen | we could also define #respond_to? |
| 18:25:30 | brixen | we could make our call send to private #call |
| 18:25:33 | brixen | and make it private |
| 18:25:39 | brixen | or rework LJE |
| 18:25:44 | brixen | I like #2 |
| 18:26:04 | evan | well. |
| 18:26:19 | evan | actually, since we have yield instructions now |
| 18:26:23 | evan | they could check that block is not nil |
| 18:26:29 | evan | and raise LJE if it is |
| 18:26:32 | brixen | ok |
| 18:26:40 | evan | the reason we had nil#call was because yield compiled down to calling #call |
| 18:26:45 | evan | but we have a difference now |
| 18:26:49 | brixen | right |
| 18:36:45 | brixen | ok, this is working |
| 18:37:02 | brixen | I think it was kinda elegant just calling on nil |
| 18:37:12 | brixen | but it was likely to bite us eventually |
| 18:37:41 | brixen | maybe |
| 19:20:09 | brixen | evan: what do you think of Rubinius.load 'file' in place of our # depends on |
| 19:35:00 | boyscout | Move open3.rb to lib directory. - dbd2507 - Brian Ford |
| 19:35:00 | boyscout | Don't use method_missing finder in sydney_rewriter. - af11797 - Brian Ford |
| 19:35:00 | boyscout | Raise LocalJumpError in yield instructions. - 3723959 - Brian Ford |
| 19:35:00 | boyscout | Split out kernel/common/misc.rb. - 349411c - Brian Ford |
| 19:37:51 | evan | brixen: and have Rubinius.load be a bootstrap prim? |
| 19:38:19 | brixen | yeah |
| 19:38:23 | brixen | we already have a prim |
| 19:38:30 | brixen | that loads an rbc |
| 19:38:39 | evan | well |
| 19:38:44 | evan | it doesn't check $: or anything |
| 19:38:52 | evan | so it doesn't replace depends on |
| 19:38:54 | brixen | it wouldn't |
| 19:39:06 | evan | because depends on lists the same file many times |
| 19:39:23 | brixen | right, but that tree is flattened |
| 19:39:26 | brixen | by tsort |
| 19:39:46 | evan | i'm confused |
| 19:39:56 | evan | would Rubinius.load be executed? |
| 19:39:59 | evan | or is it a hint? |
| 19:40:05 | brixen | the depends on requires an additional build step |
| 19:40:18 | brixen | the files are eventually loaded in linear order |
| 19:40:33 | brixen | so, thinking how we can remove that build step |
| 19:40:38 | brixen | and just process a list |
| 19:40:59 | evan | you want to remove the load_order.txt generation step? |
| 19:41:22 | brixen | yeah, thinking about it |
| 19:41:51 | evan | how would the results of depends on be communicated to the VM? |
| 19:42:00 | brixen | we've got a bunch of extraneous depends on now that headius added |
| 19:42:36 | brixen | it would just load a list, but if a.rb needed b.rb to load first, it would it directly |
| 19:42:53 | evan | "just load a list" == load_order.txt? |
| 19:43:05 | brixen | right, without the depends on step |
| 19:43:08 | brixen | just a list |
| 19:43:19 | evan | i don't get it. |
| 19:43:25 | brixen | ok nvm |
| 19:43:33 | brixen | do you feel like fixing constants? |
| 19:43:41 | evan | are they broken? |
| 19:43:49 | rue | There is the question of how to load it, too. |
| 19:43:59 | brixen | I'll check the specs again |
| 19:44:03 | brixen | they were not all passing |
| 19:44:23 | brixen | and I'm seeing odd errors related to constants missing when trying to run stuff |
| 19:45:00 | tilman | maybe all the kernel rbcs could be merged into one rbc, too? |
| 19:45:34 | brixen | bin/mspec spec/frozen/language/constants_spec.rb has 3 errors |
| 19:45:40 | evan | ug |
| 19:45:42 | evan | i had no idea |
| 19:45:51 | evan | this is the downside of tags |
| 19:45:58 | evan | it's easy to forget that stuff |
| 19:46:01 | evan | at least for me it is |
| 19:46:07 | brixen | bin/mspec spec/frozen/core/module/const*.rb has 6 |
| 19:46:24 | brixen | tilman: we had that, it was an rba |
| 19:46:42 | tilman | i know, that's not what i'm talking about |
| 19:46:58 | brixen | I'm just irritated finding all these extraneous depends on in files |
| 19:47:12 | brixen | it's just a big nebulous wtf about how kernel loads |
| 19:47:41 | brixen | tilman: what would one big rbc give you, except a headache? |
| 19:47:42 | evan | well |
| 19:47:47 | evan | we could remove depneds on entirely |
| 19:47:51 | evan | and load_order.txt |
| 19:47:52 | tilman | brixen: no need to read .load_order.txt on startup |
| 19:48:02 | tilman | because the compiledmethod objects would be stored in order |
| 19:48:06 | evan | and have a hard maintained file of the files to lead in what order |
| 19:48:17 | evan | tilman: thats... not how it works. |
| 19:48:47 | evan | plus it destroys backtraces |
| 19:49:03 | evan | if they're all just concat'd then compiled |
| 19:49:37 | tilman | ok |
| 19:52:44 | rue | We could try using magic |
| 19:52:48 | rue | I levitated today |
| 19:53:52 | brixen | evan: 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:59 | brixen | then remove all the depends on |
| 19:54:17 | evan | i think thats ok to do now |
| 19:54:28 | brixen | k |
| 19:54:33 | evan | we don't add files very often now |
| 19:54:46 | brixen | yeah |
| 20:02:07 | evan | brixen: another option is to leave depends on in there |
| 20:02:21 | evan | and use them to compute one list |
| 20:02:24 | evan | that we check in |
| 20:02:30 | evan | and isn't automatically regenerated |
| 20:04:11 | brixen | my problem with depends on is that there are a bunch of extraneous ones |
| 20:04:19 | brixen | it's ambiguous |
| 20:04:31 | evan | ok |
| 20:04:31 | brixen | the list either works or it blows up |
| 20:04:36 | evan | sure |
| 20:04:50 | evan | manual is easier than that it was before too because we have alpha.rb |
| 20:04:57 | brixen | true |
| 20:04:59 | evan | that flattens deps a lot |
| 20:05:23 | evan | we should probably have a rule too |
| 20:05:38 | evan | new files to directories must go at the end of the existing list for that directory |
| 20:05:51 | evan | ie, a new file in common goes at the end of the list of common files |
| 20:05:58 | brixen | could |
| 20:06:05 | evan | that would likely eliminate the problem for the future |
| 20:06:06 | brixen | I'll add it to the bootstrap docs |
| 20:06:25 | brixen | could also just go alphabetical unless a file is depended on |
| 20:06:32 | brixen | then in has to go above all the dependees |
| 20:06:32 | evan | sure |
| 20:21:40 | rue | Could use SYSV loading. |
| 22:49:26 | dgtized | we still don't handle return in a Thread or return in a block outside of a method properly |
| 22:50:39 | slava | dgtized: what happens if the same block returns twice? |
| 22:51:05 | slava | you can implement 'return' in full generality using multi-shot continuations |
| 23:24:50 | slava | evan: ping |
| 23:48:47 | peterhil | brixen: Any news on building NArray? |
| 23:53:13 | brixen | peterhil_: kinda on the back burner for the moment |
| 23:53:20 | brixen | railsconf is next week |
| 23:54:41 | rue | Have you committed any changes for it thus far? |
| 23:56:37 | brixen | it builds but is missing a symbol when loading |
| 23:56:50 | rue | Which? |
| 23:56:56 | brixen | and someone needs to make a patch for the RCLASS(obj)->m_tbl stuff |
| 23:57:01 | brixen | which what? |
| 23:59:29 | rue | Which symbol? |