Show enters and exits. Hide enters and exits.
| 00:00:14 | dbussink enters the room. | |
| 00:06:33 | imajes leaves the room. | |
| 00:07:14 | imajes enters the room. | |
| 00:07:40 | daesan leaves the room. | |
| 00:09:24 | imajes_ enters the room. | |
| 00:09:34 | imajes leaves the room. | |
| 00:13:03 | dbussink | brixen: still there? |
| 00:13:23 | pietia leaves the room. | |
| 00:13:55 | meisdave enters the room. | |
| 00:15:20 | brixen | hey dbussink |
| 00:15:35 | dbussink | see you've been working on the file stat / dir stuff again |
| 00:15:41 | brixen | yeah |
| 00:15:45 | dbussink | i see a lot of things i also tried in the logs ;) |
| 00:15:53 | brixen | I reverted everything, and I have a single commit here that changes stat to use ffi |
| 00:15:59 | brixen | but it fails bad on Dir stuff |
| 00:16:04 | brixen | so I'm trying to fix taht |
| 00:16:07 | dbussink | with LFS enabled? |
| 00:16:10 | brixen | fails on osx no less |
| 00:16:22 | brixen | well, that's the thing, I'm not really clear what's enabled by default on osx |
| 00:16:32 | dbussink | it's not enabled by default |
| 00:16:40 | dbussink | i've created a dummy test c app for it |
| 00:16:48 | brixen | k |
| 00:17:10 | brixen | do you know all the flags that are need to enable it? |
| 00:17:12 | dbussink | brixen: http://pastie.caboo.se/149830 |
| 00:17:22 | dbussink | on os x _DARWIN_USE_64_BIT_INODE should be enough |
| 00:17:28 | brixen | e.g. for struct dirent, there's ... yeah that |
| 00:17:29 | dbussink | i found in the apple documentation |
| 00:17:31 | brixen | ok, good to know |
| 00:17:44 | dbussink | for linux, the two we already had should be enough |
| 00:17:54 | dbussink | they also enable lfs dirent structs |
| 00:18:02 | brixen | oh, good |
| 00:18:04 | dysinger leaves the room. | |
| 00:18:07 | brixen | that was one of my Q's |
| 00:18:42 | dbussink | i don't think we need something to differentiate between the dirent's |
| 00:19:00 | dbussink | because they have some fields that are defined, and we should only expose those in the ffi |
| 00:19:18 | brixen | well, offset of d_name will differ, but the struct generator should resolve that fine |
| 00:19:34 | dbussink | it always has an inode and name |
| 00:19:39 | brixen | right |
| 00:19:44 | dbussink | yeah, the generator should fix that anyway |
| 00:19:49 | brixen | I did d_ino, d_reclen and d_name |
| 00:20:00 | brixen | funny thing is, on linux man page, d_namlen is not included |
| 00:20:06 | dbussink | http://www.opengroup.org/onlinepubs/009695399/basedefs/dirent.h.html |
| 00:21:03 | brixen | ugh, use of sizeof(d_name) is incorrect |
| 00:21:12 | brixen | use strlen(d_name) |
| 00:21:42 | brixen | hmm |
| 00:21:50 | dbussink | but i don't think the problem lies with the struct there |
| 00:22:15 | dbussink | from what i've seen, the problem is that the primitive for Dir#read appeared to return a non LFS dirent struct |
| 00:22:37 | brixen | ah, ok, haven't gotten that far yet :P |
| 00:23:10 | dbussink | because all the sizes where correctly computed and the offset for d_name was correct |
| 00:23:26 | brixen | yeah, that's what I'm seeing too |
| 00:23:34 | brixen | when you say "primitive" what do you mean? |
| 00:23:38 | brixen | we're using ffi, right? |
| 00:23:49 | dbussink | yeah, sorry for the confusion |
| 00:23:54 | dbussink | ffi i mean |
| 00:24:14 | brixen | ah ok |
| 00:25:39 | dbussink | does the Dir#read depend on some external lib in some possible way? |
| 00:25:51 | dbussink | that isn't compiled with LFS? |
| 00:26:11 | dewd enters the room. | |
| 00:27:01 | brixen | dunno, but curious if we need to link to certain libs |
| 00:27:23 | brixen | probably the defines cause different functions to be used, all of them in the same lib, right? |
| 00:28:01 | dbussink | i think that is very well possible |
| 00:28:02 | dbussink | http://developer.apple.com/releasenotes/Darwin/SymbolVariantsRelNotes/index.html |
| 00:28:18 | dbussink | that's how os x implements the LFS stuff |
| 00:32:07 | brixen | mm, good stuff |
| 00:36:17 | dbussink | glad i'm still making sense after some beers :P |
| 00:36:27 | dbussink | but i'm going to get some sleep |
| 00:37:13 | dbussink | brixen: maybe it's an idea to set up a separate branch for this stuff? |
| 00:38:38 | brixen | certainly could |
| 00:39:32 | kemet enters the room. | |
| 00:40:00 | dysinger enters the room. | |
| 00:40:53 | dbussink | but i'm off, i'll see what has happened in the morgen |
| 00:40:55 | dbussink | morning |
| 00:41:00 | brixen | heh, ok |
| 00:41:06 | dbussink | argh, i'm even starting to type dutch :P |
| 00:41:07 | dbussink | nite |
| 00:41:11 | brixen | nite |
| 00:41:18 | dbussink leaves the room. | |
| 00:41:41 | menator leaves the room. | |
| 00:48:03 | brixen | hmm, seems that stables use runtime/platform.conf too |
| 00:48:05 | brixen | that sucks |
| 00:48:37 | KirinDave leaves the room. | |
| 00:57:13 | zimbatm leaves the room. | |
| 00:58:37 | dysinger leaves the room. | |
| 01:08:49 | kemet leaves the room. | |
| 01:14:31 | boyscout | 2 commits by Brian Ford |
| 01:14:32 | boyscout | * New dirent struct in platform.rake.; 62a0e42 |
| 01:14:33 | boyscout | * Ensure platform.conf is saved with other stable files.; c11dfb5 |
| 01:15:17 | kemet enters the room. | |
| 01:15:24 | smartocci enters the room. | |
| 01:18:36 | meisdave leaves the room. | |
| 01:18:58 | brixen | dammit, this problem compiling ext on linux has got to be fixed |
| 01:18:58 | Arjen_ leaves the room. | |
| 01:22:03 | rubuildius | Brian Ford: 62a0e4265; build failed! http://rafb.net/p/pMcGQi21.html |
| 01:25:16 | lopex leaves the room. | |
| 01:25:33 | dysinger enters the room. | |
| 01:26:03 | brixen | the extension compiling needs to be fixed |
| 01:26:09 | brixen | have to run some errands, bbiab.. |
| 01:27:00 | meisdave enters the room. | |
| 01:42:52 | rubyconsumer leaves the room. | |
| 01:42:56 | kamal_fariz_ enters the room. | |
| 01:43:54 | rubyconsumer enters the room. | |
| 01:44:40 | dysinger leaves the room. | |
| 01:57:45 | jeremydurham enters the room. | |
| 02:02:28 | jeremydurham leaves the room. | |
| 02:06:02 | rubyconsumer leaves the room. | |
| 02:23:53 | VVSiz_ enters the room. | |
| 02:29:11 | cored enters the room. | |
| 02:30:58 | _VVSiz_ leaves the room. | |
| 02:31:50 | KirinDave enters the room. | |
| 02:48:08 | _mutle enters the room. | |
| 02:48:58 | macournoyer enters the room. | |
| 02:56:48 | kofno_away leaves the room. | |
| 03:00:06 | kemet leaves the room. | |
| 03:04:14 | mutle leaves the room. | |
| 03:10:12 | wmoxam leaves the room. | |
| 03:16:58 | defunkt leaves the room. | |
| 03:19:21 | meisdave leaves the room. | |
| 03:22:03 | pergesu enters the room. | |
| 03:23:24 | rubyconsumer enters the room. | |
| 03:24:58 | macournoyer leaves the room. | |
| 03:26:32 | vatic42 enters the room. | |
| 03:26:48 | tlockney leaves the room. | |
| 03:26:58 | cored leaves the room. | |
| 03:28:14 | macournoyer enters the room. | |
| 03:29:37 | tlockney enters the room. | |
| 03:31:37 | meisdave enters the room. | |
| 03:34:20 | KirinDave leaves the room. | |
| 03:37:28 | rue | Hola |
| 03:51:06 | macournoyer leaves the room. | |
| 03:54:20 | macournoyer enters the room. | |
| 03:56:26 | wycats leaves the room. | |
| 03:59:29 | wycats enters the room. | |
| 04:11:46 | meisdave_ enters the room. | |
| 04:12:37 | meisdave leaves the room. | |
| 04:13:06 | cjheath enters the room. | |
| 04:13:45 | kemet enters the room. | |
| 04:15:35 | pergesu leaves the room. | |
| 04:17:22 | b3b0p enters the room. | |
| 04:21:07 | wycats leaves the room. | |
| 04:22:05 | wycats enters the room. | |
| 04:30:24 | macournoyer leaves the room. | |
| 04:32:04 | macournoyer enters the room. | |
| 04:42:59 | defunkt enters the room. | |
| 04:45:52 | _ADS enters the room. | |
| 04:50:05 | vatic42 leaves the room. | |
| 04:52:08 | agardiner leaves the room. | |
| 04:53:10 | defunkt leaves the room. | |
| 04:55:36 | be9 enters the room. | |
| 04:57:09 | rue | drbrain: Re: opcode doc, I think it would be handy to name the frame pointer explicitly |
| 05:01:32 | daesan enters the room. | |
| 05:02:47 | rue | brixen: I may be thinking of something different but the sizeof(d_name) should be right |
| 05:03:10 | brixen | rue: that was from this page: http://www.opengroup.org/onlinepubs/009695399/basedefs/dirent.h.html |
| 05:03:24 | brixen | rue: I'm trying to track down why these stupid builds are failing on the ext |
| 05:04:20 | rue | Hm, wait, where is this? |
| 05:07:33 | daesan leaves the room. | |
| 05:07:38 | rue | No, that should definitely work correctly |
| 05:08:51 | kofno enters the room. | |
| 05:11:43 | dewd leaves the room. | |
| 05:20:57 | macournoyer leaves the room. | |
| 05:21:25 | macournoyer enters the room. | |
| 05:24:54 | imperator enters the room. | |
| 05:25:58 | defunkt enters the room. | |
| 05:26:44 | b3b0p leaves the room. | |
| 05:32:29 | brixen | well, that's the problem, damn Dir[] |
| 05:32:47 | brixen | line 184 of lib/bin/compile.rb |
| 05:37:30 | brixen | rue: do you think we should add lib/bin/compile.rbc to the stables? |
| 05:55:06 | TheVoice leaves the room. | |
| 05:58:47 | rue | Well, the compiler *uses* the stables |
| 06:01:40 | drbrain | rue: re: "I think it would be handy to name the frame pointer explicitly" |
| 06:01:44 | drbrain | rue: can you explain? |
| 06:04:27 | rue | drbrain: Right now the stack looks like | ... | value1 | etc., make it | ... | <green> frame pointer </green> | value1 | or summit |
| 06:04:48 | rue | Or put an arrow there or whatever |
| 06:04:59 | drbrain | rue: for the top of the stack? |
| 06:05:34 | rue | No, the stack fp for the current method |
| 06:05:56 | drbrain | can you mock it up for me? I'm being dense |
| 06:07:27 | drbrain | you may also have to consult with agardiner, as I'm just using the existing stuff in doc/mv/op_codes/ |
| 06:08:19 | rue | Frame pointer as in the "stuff below this does not belong to me"? |
| 06:08:47 | macournoyer leaves the room. | |
| 06:09:13 | rue | The boundary between the stack index that the sender uses vs. what the current method is using |
| 06:09:42 | drbrain | ah, the ... should be highlighted special? |
| 06:10:34 | ezmobius enters the room. | |
| 06:11:11 | drbrain | (the bottom one) |
| 06:11:36 | rue | Well, the boundary yeah so an arrow would probably be best or make a little cell inbetween that just says frame pointer or ^ my frame v sender's frame or whatever |
| 06:11:49 | rue | Just easier to read |
| 06:12:04 | drbrain | that wouldn't be hard to add |
| 06:12:20 | rue | Yeah, if you are tinkering with that, it would be really nice |
| 06:12:37 | drbrain | can you keep it in your head for a bit? |
| 06:12:41 | rue | Yah |
| 06:12:56 | drbrain | I'd like to get this in first, before I get lost in a bunch of requests for improvements |
| 06:13:10 | rue | drbrain: Sounds like you could beta-test Oughtve too :P |
| 06:13:34 | brixen | heh |
| 06:13:58 | rue | ruerue@meow > todo Add frame pointer highlight/something to opcode docs, remind drbrain |
| 06:19:18 | wycats_ enters the room. | |
| 06:19:59 | rue | How is the conf, gents? |
| 06:20:10 | rue | Anyone writing blog entries about it? |
| 06:21:36 | nicksieger leaves the room. | |
| 06:24:04 | wycats_ leaves the room. | |
| 06:24:30 | wycats_ enters the room. | |
| 06:26:45 | binary42 enters the room. | |
| 06:27:45 | wycats leaves the room. | |
| 06:29:15 | meisdave_ leaves the room. | |
| 06:40:31 | meisdave enters the room. | |
| 06:43:17 | binary42_ leaves the room. | |
| 06:45:23 | GMFlash leaves the room. | |
| 06:45:32 | GMFlash enters the room. | |
| 06:51:13 | meisdave leaves the room. | |
| 06:51:56 | _ADS_ enters the room. | |
| 06:53:57 | _ADS leaves the room. | |
| 06:53:57 | smartocci leaves the room. | |
| 07:03:59 | kemet leaves the room. | |
| 07:04:13 | wycats leaves the room. | |
| 07:13:28 | wycats enters the room. | |
| 07:40:37 | __johan__ enters the room. | |
| 07:48:24 | wycats leaves the room. | |
| 07:50:09 | mdavid enters the room. | |
| 07:50:10 | xmlhacker leaves the room. | |
| 07:53:25 | boyscout | 7 commits by Evan Phoenix |
| 07:53:26 | boyscout | * Fix merge errors and rebuild stables; 7712c16 |
| 07:53:27 | boyscout | * More refactoring of dispatch, improve Hash; f54811f |
| 07:53:28 | boyscout | * Modified timeout.rb to use a single controller Thread; 3a908f8 |
| 07:53:29 | boyscout | * Add AutoPrimitive plugin, new stables using SendSite; 8ba34f1 |
| 07:53:30 | boyscout | * A little VM refactoring; a723240 |
| 07:53:31 | boyscout | ... |
| 07:57:53 | brixen | sweet |
| 07:58:17 | evan | hi guys |
| 07:58:20 | evan | just headed to bed |
| 07:58:32 | evan | want to mention a couple of things |
| 07:58:55 | evan | brixen: seems like the stat stuff didn't go well at all. |
| 07:59:04 | brixen | heh |
| 07:59:05 | evan | there a few things we need to do different in the future |
| 07:59:08 | brixen | sure |
| 07:59:16 | evan | 1) don't change a primitive to have a completely new behavior |
| 07:59:17 | evan | ever. |
| 07:59:23 | rubuildius | Evan Phoenix: 7712c1617; build failed! http://rafb.net/p/4hzAAz33.html |
| 07:59:33 | evan | add a new primitive if you need new behavior. |
| 07:59:47 | evan | the back and forth of stat_file cause me great merge pain. |
| 07:59:54 | evan | caused me |
| 08:00:00 | brixen | sorry :/ |
| 08:00:26 | evan | in addition, when we find something like that that blows up, lets get a more targetted approach to fix it |
| 08:00:30 | evan | here's my thinking |
| 08:00:48 | evan | create a public branch with the new code where it can be worked on |
| 08:00:58 | evan | and then merge that branch in when it works ok |
| 08:01:15 | evan | so that everyone doesn't have broken code hour to hour |
| 08:01:31 | evan | it's hard to know that ahead of time, which is fine |
| 08:01:35 | evan | if stuff is blowing up |
| 08:01:50 | drbrain | evan: http://izmunuti.segment7.net/~drbrain/make_array.html |
| 08:01:50 | evan | make a public branch of HEAD being blown up |
| 08:01:56 | evan | then revert the blow up on HEAD |
| 08:01:57 | drbrain | this has met with approval so far |
| 08:02:08 | evan | so that the fixes can continue to be worked on the public branch |
| 08:02:15 | drbrain | (minus the broken whitespace in the source code) |
| 08:02:28 | brixen | evan: you want to write a flow on how you want that? |
| 08:02:39 | evan | seems fine |
| 08:02:45 | evan | brixen: sure. |
| 08:02:57 | brixen | evan: somehow we've got to figure out why shit goes so bad on linux |
| 08:03:06 | brixen | since it always worked on osx |
| 08:03:07 | evan | yeah |
| 08:03:11 | evan | agreed |
| 08:03:20 | evan | but i don't want to trash HEAD while that gets sorted out. |
| 08:03:22 | drbrain | because linux didn't get their shit together soon enough |
| 08:03:22 | brixen | and the most recent 2 commits of mine I cannot figure out why they fail on linux |
| 08:03:44 | brixen | evan: also, I think lib/bin/compile.rb needs to be in stables if the build process will depend on it |
| 08:03:55 | brixen | Dir[] get's hosed, that's the best I can tell |
| 08:04:08 | evan | related to LFS? |
| 08:04:14 | brixen | nope |
| 08:04:17 | brixen | all that is out |
| 08:04:21 | evan | ok, well, i've got no clue |
| 08:04:27 | evan | and need to get to bed. |
| 08:04:31 | brixen | ok, nite |
| 08:04:37 | evan | next week, i'll have a look at linux |
| 08:04:56 | evan | anyway, we need to figure something out. |
| 08:05:00 | ezmobius | nite |
| 08:05:11 | evan | i think step one is going to be to move rubuildius to a machine under our control |
| 08:05:25 | evan | checking in stables and crossing our fingers it will fix rubuildius isn't a valid solution |
| 08:05:36 | brixen | yep |
| 08:06:16 | evan | i think from here on out. |
| 08:06:29 | evan | that if ci runs on your dev platform |
| 08:06:33 | evan | (whatever that may be) |
| 08:06:39 | evan | you're clean to check in |
| 08:06:44 | evan | and if it breaks another platform |
| 08:06:57 | evan | we need someone assigned to that platform to investigate |
| 08:07:06 | brixen | yeah, that would help |
| 08:07:09 | evan | someones |
| 08:07:16 | brixen | evan: btw, stat works great here |
| 08:07:20 | brixen | the ffi version |
| 08:07:34 | evan | the ffi version that uses the gutted primitive? |
| 08:07:43 | brixen | no, that replaces it |
| 08:07:55 | evan | wtf was that gutting stat_file primitive anyway? |
| 08:08:05 | brixen | the gotcha was that the primitive was over writing the ivars slot |
| 08:08:25 | brixen | it's 2.5x slower than mri because it precalculates all kinds of stuff |
| 08:08:28 | brixen | no need for that |
| 08:08:40 | brixen | except that I couldn't attach to minor and major through ffi |
| 08:08:45 | evan | huh? |
| 08:08:48 | evan | i'm confused. |
| 08:08:52 | evan | am I lagging? |
| 08:08:56 | brixen | so I tried to tweak the primitive to just return the struct as a memory pointer |
| 08:09:30 | brixen | no worries, I'll finish the patch and when it works on linux I'll commit |
| 08:09:53 | evan | ok |
| 08:09:58 | evan | lets try to not do this again? ok? |
| 08:10:12 | brixen | yeah |
| 08:10:27 | evan | if you want to redo something in FFI |
| 08:10:27 | brixen | like I said, it always worked |
| 08:10:33 | evan | then do it completely seperate |
| 08:10:46 | evan | so that if it doesn't work |
| 08:10:51 | evan | you can just switch the method name back |
| 08:10:54 | evan | and go on with life |
| 08:10:56 | brixen | yep |
| 08:11:12 | evan | ok, bed. |
| 08:11:12 | evan | nite. |
| 08:11:16 | brixen | night |
| 08:11:41 | dbussink enters the room. | |
| 08:13:36 | dbussink | morning |
| 08:14:22 | dbussink | brixen: any luck with the stat / dir problems? |
| 08:14:52 | brixen | dbussink: none, sorry |
| 08:15:02 | dbussink | ah, too bad |
| 08:15:10 | dbussink | but isn't it working at all on linux? |
| 08:15:18 | brixen | yeah, seriously whacked inconsistencies on linux |
| 08:15:26 | brixen | we've got to get a handle on that |
| 08:15:40 | dbussink | because i was able to get it working ok when i disabled lfs on linux |
| 08:15:57 | brixen | I checked in the new dirent struct stuff |
| 08:16:07 | brixen | and of course the extension build fails |
| 08:16:18 | brixen | I can manually rebuild the stables, but those didn't work on 64bit |
| 08:16:39 | dbussink | hmm, are all the LARGE_BLA references out or in? |
| 08:16:49 | brixen | evan just checked in some stuff, so I'm trying with that |
| 08:17:01 | brixen | large_bla? |
| 08:17:35 | dbussink | nvm, i see the lfs directives for linux are still commented out in the makefile for shotgun |
| 08:18:22 | brixen | yeah |
| 08:21:36 | ezmobius leaves the room. | |
| 08:27:31 | dbussink | hmm, i'm getting a segfault now on linux, after generating platform.conf |
| 08:36:13 | dbussink | both on 32 and 64 archs |
| 08:38:33 | brixen | generating how? |
| 08:39:09 | thewoolleyman enters the room. | |
| 08:44:17 | brixen | dbussink: I'm looking at it |
| 08:44:35 | _ADS_ enters the room. | |
| 08:45:42 | dbussink | the platform.conf looks sane to me, at least for the dirent entries |
| 08:49:40 | brixen | yeah, they do |
| 08:54:46 | brixen | dbussink: well, I think I know why |
| 08:54:51 | brixen | serious duh |
| 08:54:59 | dbussink | what is it? |
| 08:55:53 | brixen | well, we can't put platform.conf in stables :P |
| 08:56:05 | brixen | let me see if this works |
| 08:57:03 | RyanTM leaves the room. | |
| 09:01:42 | _ADS leaves the room. | |
| 09:03:15 | dbussink | there are indeed a lot of differences |
| 09:03:25 | brixen | yeah, duh, it is a platform file |
| 09:03:38 | brixen | I was trying to avoid impacting the stables when changing a struct |
| 09:03:45 | brixen | but that's obviously not the way |
| 09:03:53 | dbussink | hehe, indeed :) |
| 09:03:57 | brixen | I don't think there is a way |
| 09:04:39 | dbussink | but isn't the platform.conf compile time only? or is it used at runtime too? |
| 09:05:37 | brixen | it must use it when it loads, because compiling uses the stables, and changing the dir struct caused it to crash |
| 09:06:53 | brixen | the exception I get is kernel/core/process:606 |
| 09:07:33 | brixen | hmm, that's Struct though |
| 09:09:19 | hornbeck leaves the room. | |
| 09:09:31 | hornbeck enters the room. | |
| 09:10:49 | _ADS_ leaves the room. | |
| 09:11:54 | boyscout | 1 commit by Brian Ford |
| 09:11:55 | boyscout | * Removed storing platform.conf in stables.; 38bfbb3 |
| 09:12:22 | ragge enters the room. | |
| 09:17:56 | pietia enters the room. | |
| 09:19:06 | rubuildius | Brian Ford: 38bfbb310; build failed! http://rafb.net/p/FYVxXC44.html |
| 09:20:08 | pietia leaves the room. | |
| 09:20:26 | pietia enters the room. | |
| 09:21:17 | perplexes leaves the room. | |
| 09:25:29 | dbussink leaves the room. | |
| 09:26:18 | dbussink enters the room. | |
| 09:28:57 | dbussink | brixen: does that commit fix it for you? |
| 09:29:16 | brixen | dbussink: nope, but it's a first step |
| 09:29:28 | brixen | I think the only way to do this is create a diff for each of evan's commits |
| 09:29:43 | brixen | reset back to 7f6f77c45 |
| 09:29:57 | brixen | apply them one by one to build the stables |
| 09:30:16 | brixen | I tried to do it as a single diff, but I think too much changes in the vm |
| 09:30:52 | dbussink | don't know, i don't have a lot of experience with this stuff |
| 09:31:02 | dbussink | i do know bootstrapping is always a huge pita |
| 09:31:08 | brixen | well, I get a clean build on 7f6f77c45 |
| 09:31:26 | brixen | dang, if only it weren't so late heh |
| 09:32:06 | dbussink | and everything also works for that build? |
| 09:35:19 | brixen | bin/ci run, yes |
| 09:37:07 | dbussink | it's still broken if only 62a0e426 is reverted? |
| 09:39:21 | brixen | yeah |
| 09:39:54 | brixen | well, too late for me |
| 09:41:08 | dbussink | good night then :) |
| 09:45:08 | brixen | dbussink: with git revert -n <hash> you can revert several commits into a single changeset, commit that, then work with that single diff |
| 09:45:36 | brixen | that's how I did 87efbf9036e5 |
| 09:46:05 | brixen | might be the easiest |
| 09:46:17 | brixen | can you confirm that 7f6f77c45 builds for you? |
| 09:47:21 | dbussink | building... |
| 09:48:54 | dbussink | it's compiling the ruby files now, so looks good |
| 09:50:33 | dbussink | so, what is the best way to continue from here? |
| 09:53:51 | dbussink | brixen: ok, ./bin/ci is all ok |
| 09:57:11 | __johan__ leaves the room. | |
| 10:01:27 | brixen | dbussink: where are you at? |
| 10:01:34 | brixen | 7f6f77c45 ? |
| 10:02:30 | dbussink | yeah |
| 10:02:43 | dbussink | but if i apply the changes to the dirent struct, all hell breaks loose |
| 10:03:16 | brixen | yeah, leave those out |
| 10:03:21 | be9 | 38bf segfaults for me |
| 10:04:02 | brixen | be9: if you're on linux, they all likely will back to 7f6f77c45 |
| 10:04:26 | be9 | brixen: ok, checkout 7f6f |
| 10:05:06 | dbussink | brixen: what the easiest way to reapply the stuff after that without the dirent stuff? |
| 10:06:29 | brixen | well, here's a slightly cleaned up diff from 7f6 to head, minus the dirent changes: http://pastie.org/149933 |
| 10:06:33 | be9 | maybe create a new branch, revert master to 7f6f... and then remerge |
| 10:07:03 | brixen | I think using git revert -n <hash> back to 7f6f is the way to go |
| 10:07:18 | brixen | you can check in a single revert, and that changeset is like a diff |
| 10:07:24 | brixen | but anyway, must sleep |
| 10:07:29 | brixen | more fun tomorrow :) |
| 10:07:46 | be9 | and you can create new branch before reverting with 38bf as HEAD |
| 10:07:55 | brixen | to clarify, you can check all the reverts in as a single commit |
| 10:08:03 | brixen | instead of 9 revert commits |
| 10:08:04 | zimbatm enters the room. | |
| 10:08:17 | brixen | yeah, do it on a branch of course |
| 10:08:37 | brixen | in fact, you can push head as a public branch |
| 10:08:48 | brixen | then revert head back to 7f6f |
| 10:09:13 | be9 | 7f6f works indeed :) |
| 10:09:32 | brixen | but use a revert commit to do it, don't just revert remove commits from head |
| 10:09:48 | brixen | strike the second 'revert' |
| 10:09:51 | brixen | ok, night |
| 10:09:57 | be9 | night |
| 10:09:58 | dbussink | good night |
| 10:10:48 | cremes_ enters the room. | |
| 10:20:06 | joachimm leaves the room. | |
| 10:25:11 | cremes leaves the room. | |
| 10:25:57 | ragge enters the room. | |
| 10:27:03 | dbussink | be9: you're working in fixing this too? |
| 10:34:01 | be9 | dbussink: i still haven't got commit rights, but I could help you :) |
| 10:34:23 | dbussink | be9: http://git.rubini.us/?p=code;a=commitdiff;h=e015badfcf6d8235c0897ddd778fb5188b9c676b |
| 10:34:36 | dbussink | be9: that one looks strange with the <<<< and >>>> blocks |
| 10:35:28 | be9 | this is unfinished merge as I guess |
| 10:37:54 | be9 | hm, I see, evan has commented this out |
| 10:38:03 | be9 | http://git.rubini.us/?p=code;a=blob;f=shotgun/lib/primitives.rb;h=fca6ee4ddbf4f8a4a0e8c9fbdf06510d f08f7a1d;hb=e015badfcf6d8235c0897ddd778fb5188b9c676b |
| 10:38:24 | be9 | check line 1257 and 1357 |
| 10:38:36 | dbussink | yeah, i see it |
| 10:39:07 | dbussink | blegh, reverting and reapplying everything without brixen's changes doesn't work |
| 10:40:22 | be9 | so, make now a diff of what you got against 7f6f |
| 10:40:48 | dbussink | yeah, that's what i did |
| 10:40:56 | dbussink | but i probably have to make new stables along the way |
| 10:41:01 | dbussink | so it can't be done in a single sweep |
| 10:41:18 | jtoy enters the room. | |
| 10:43:47 | be9 | so... well maybe better do it step by step |
| 10:44:29 | be9 | you could make a new public branch called something like "dirent" with HEAD at 38bf |
| 10:45:05 | be9 | and then fallback master to working state 7f6f |
| 10:52:06 | _mutle leaves the room. | |
| 10:52:45 | dbussink | blegh, nasty mergers make this a pita |
| 10:52:45 | mutle enters the room. | |
| 10:56:08 | thewoolleyman leaves the room. | |
| 10:56:08 | mutle leaves the room. | |
| 10:57:16 | mutle enters the room. | |
| 10:58:28 | sudoer enters the room. | |
| 11:04:30 | wifelette leaves the room. | |
| 11:06:17 | be9 | tried to revert 62a0e4, doesn't work indeed |
| 11:06:36 | dbussink | yeah, looks like there are more problems |
| 11:07:01 | jtoy leaves the room. | |
| 11:07:19 | be9 | but I have now stables from 38bf |
| 11:07:37 | dbussink | you got those working? |
| 11:08:30 | be9 | I'm afraid no |
| 11:09:38 | Arjen_ enters the room. | |
| 11:13:08 | be9 | stables from 7f6f77 don't bring it as well with reverted 62a0e4 |
| 11:14:09 | wycats enters the room. | |
| 11:16:19 | dbussink | i think we need evan to take a look at this |
| 11:17:26 | be9 | What we got into is the other side of self-hosting :) |
| 11:17:35 | rubyconsumer_ enters the room. | |
| 11:18:59 | jtoy enters the room. | |
| 11:19:55 | be9 | Do I understand right that changes introduced by 62a0e4 found their way into latest stables and they don't work with this change undone? |
| 11:20:58 | dbussink | yeah, something like that |
| 11:23:12 | be9 | But why then stables from 7f6f77 don't work? |
| 11:23:32 | dbussink | well, evan also regenerated stables half way through |
| 11:23:44 | dbussink | but we can't easy switch to those because of the merger problems |
| 11:25:25 | sudoer leaves the room. | |
| 11:31:10 | octopod enters the room. | |
| 11:31:27 | wycats leaves the room. | |
| 11:34:02 | rubyconsumer leaves the room. | |
| 11:38:01 | antares_ enters the room. | |
| 12:23:10 | ctennis leaves the room. | |
| 12:53:01 | ctennis enters the room. | |
| 13:12:14 | rubyconsumer_ leaves the room. | |
| 13:12:23 | rubyconsumer enters the room. | |
| 13:25:24 | chris2 enters the room. | |
| 13:46:15 | dbussink leaves the room. | |
| 13:59:04 | dewd enters the room. | |
| 14:07:03 | edward_g leaves the room. | |
| 14:29:30 | kofno leaves the room. | |
| 14:53:52 | imperator leaves the room. | |
| 14:58:08 | headius enters the room. | |
| 14:58:21 | enebo enters the room. | |
| 15:05:37 | dewd leaves the room. | |
| 15:11:37 | femtowin enters the room. | |
| 15:13:16 | lypanov enters the room. | |
| 15:14:55 | lypanov | hey * |
| 15:19:26 | chris2 leaves the room. | |
| 15:25:35 | geekounet leaves the room. | |
| 15:30:18 | headius leaves the room. | |
| 15:53:05 | Arjen_ leaves the room. | |
| 15:53:24 | femtowin leaves the room. | |
| 16:04:09 | thehcdreamer enters the room. | |
| 16:12:14 | thehcdreamer leaves the room. | |
| 16:13:21 | jessop enters the room. | |
| 16:14:17 | thehcdreamer enters the room. | |
| 16:22:38 | thehcdreamer leaves the room. | |
| 16:29:45 | Arjen_ enters the room. | |
| 16:31:03 | thehcdreamer enters the room. | |
| 16:31:50 | thehcdreamer leaves the room. | |
| 16:36:12 | robinhoode leaves the room. | |
| 16:37:11 | meisdave enters the room. | |
| 16:39:33 | probablycorey enters the room. | |
| 16:42:40 | MenTaLguY enters the room. | |
| 16:48:41 | lopex enters the room. | |
| 16:52:47 | probablycorey leaves the room. | |
| 16:57:21 | meisdave leaves the room. | |
| 17:07:32 | nicksieger enters the room. | |
| 17:08:25 | MenTaLguY leaves the room. | |
| 17:10:03 | benburkert enters the room. | |
| 17:15:53 | benburkert leaves the room. | |
| 17:16:06 | benburkert enters the room. | |
| 17:17:21 | skaar leaves the room. | |
| 17:20:16 | chris2 enters the room. | |
| 17:21:06 | rue | Morning |
| 17:25:08 | RyanTM enters the room. | |
| 17:32:05 | rue | I think we need to roll back HEAD a couple days and completely redo this |
| 17:32:41 | rue | Branch the current HEAD somewhere to store the commits, then cherry-pick merge it |
| 17:33:55 | vatic42 enters the room. | |
| 17:35:24 | vruz enters the room. | |
| 17:51:54 | jtoy leaves the room. | |
| 18:18:39 | brixen | rue: do you want to push HEAD as a public branch? |
| 18:18:55 | brixen | I'm working on a commit to revert to last known good, which is 7f6f7 |
| 18:30:23 | skaar enters the room. | |
| 18:34:54 | boyscout | 1 commit by Brian Ford |
| 18:34:55 | boyscout | * Reverts 62a0e4..7712c1 as a single diff. Test on linux.; fcd9250 |
| 18:35:06 | brixen | that should say *tested* on linux |
| 18:35:30 | brixen | rue: can you please push 7712c16175c9 as a public branch, if you can |
| 18:35:42 | brixen | ok, off to breakfast before I get killed by gf |
| 18:35:56 | brixen | (getting killed by evan is slightly less deadly :P ) |
| 18:42:25 | rubuildius | Brian Ford: fcd925075; build failed! http://rafb.net/p/xZzx4u61.html |
| 18:43:12 | fork leaves the room. | |
| 18:45:17 | rue | I can ty to do it when I get home |
| 18:45:27 | GMFlash leaves the room. | |
| 18:45:31 | GMFlash enters the room. | |
| 18:55:20 | benburkert_ enters the room. | |
| 19:01:36 | smartocci enters the room. | |
| 19:05:02 | dbussink enters the room. | |
| 19:05:33 | vatic42 leaves the room. | |
| 19:07:40 | Fullmoon_ enters the room. | |
| 19:09:53 | dbussink | brixen: i see you just committed some reverts? does this also revert all the stuff from evan? |
| 19:12:16 | benburkert leaves the room. | |
| 19:13:52 | benburkert_ leaves the room. | |
| 19:15:14 | pietia leaves the room. | |
| 19:15:39 | pietia enters the room. | |
| 19:16:24 | meisdave enters the room. | |
| 19:19:42 | imperator enters the room. | |
| 19:22:27 | dbussink | brixen: i've got it working now in linux, with a rebuild of the stables |
| 19:22:35 | dbussink | should i commit that? |
| 19:24:13 | enebo leaves the room. | |
| 19:25:08 | antares_ leaves the room. | |
| 19:31:00 | boyscout | 1 commit by Dirkjan Bussink |
| 19:31:01 | boyscout | * Rebuild stables because of revert. Now works in linux; d5826b0 |
| 19:31:22 | benburkert enters the room. | |
| 19:31:57 | kofno enters the room. | |
| 19:33:55 | imajes leaves the room. | |
| 19:34:38 | wycats enters the room. | |
| 19:34:51 | imajes enters the room. | |
| 19:36:48 | vruz leaves the room. | |
| 19:40:30 | evan | so |
| 19:40:36 | evan | my commit broke linux? |
| 19:40:56 | evan | arg. |
| 19:40:57 | dbussink | well, i tried reverting only brixen's stuff |
| 19:41:14 | evan | that problem is the fucking dirent problems |
| 19:41:22 | dbussink | but it was too intertwined and merged i couldn't fix it |
| 19:41:32 | dbussink | not with all the intermediate stable build etc. |
| 19:41:44 | evan | ok |
| 19:41:54 | dbussink | but brixen reverted it, i just rebuild the stables so we're ok on linux again |
| 19:42:02 | evan | we're not going to be using FFI for dir at all anymore. |
| 19:42:06 | evan | only primitives. |
| 19:42:13 | evan | we MUST get past this problem. |
| 19:42:23 | evan | and platform issues with Dir are the cause. |
| 19:42:36 | evan | from here on out. |
| 19:42:37 | dbussink | well, i don't see an inherent problem with it |
| 19:42:45 | evan | rebuilding of stables is not a valid solution to any problem. |
| 19:42:56 | evan | platform wise. |
| 19:43:00 | dbussink | well, i don't get the cause of the problem |
| 19:43:07 | dbussink | because dirent is already using ffi |
| 19:43:24 | wifelette enters the room. | |
| 19:43:45 | evan | and is busted. |
| 19:43:53 | evan | because no one can generate stables now EXCEPT for linux users |
| 19:44:05 | dbussink | yeah, that's true |
| 19:44:45 | dbussink | but i don't think i'm the one who should make a call on this, brixen has been working a lot more on this |
| 19:44:57 | evan | from here on out |
| 19:44:57 | MenTaLguY enters the room. | |
| 19:45:03 | evan | do not revert code because linux is broken. |
| 19:45:08 | evan | FIX The code. |
| 19:45:36 | dbussink | well, that's basically why i didn't revert it |
| 19:45:38 | evan | i want linux to be busted until it's fixed properly. |
| 19:45:55 | rubuildius | Dirkjan Bussink: d5826b014; 4717 examples, 17239 expectations, 0 failures, 0 errors |
| 19:46:00 | evan | that seems to be the only way we're going to actually get past this problem. |
| 19:48:37 | evan | i'm rewriting core/dir.rb to no longer use any ffi. |
| 19:48:39 | evan | only primitives. |
| 19:48:39 | dewd enters the room. | |
| 19:49:18 | MenTaLguY | evan: incidentally, thoughts on implementing Fiber in Rubinius? |
| 19:49:32 | evan | seems like it would just be a wrapper around Task |
| 19:49:39 | MenTaLguY | mostly |
| 19:49:49 | MenTaLguY | it carries some things like a distinct thread-local variable set too |
| 19:49:54 | dbussink | check, that is at least the best for now, maybe someone wants to take it on again at some points in the future, but that would have to be done in a complete separate branch that is thoroughly tested |
| 19:50:14 | evan | very much so. |
| 19:50:33 | evan | we have spent FAR too much time dealing with brokeness caused by Dir at this point. |
| 19:51:50 | dbussink | evan: but i would love to find out at some point what the problem is :P |
| 19:52:02 | dbussink | evan: because everything like offset etc for the ffi is the same |
| 19:52:27 | evan | there is some platform offset information being carried along by stable |
| 19:52:39 | evan | thats the only reason it could be. |
| 19:52:47 | dbussink | yeah ok, but that shouldn't be a problem is the offset is still the same |
| 19:53:00 | evan | it must not be. |
| 19:53:12 | dbussink | well, platform.conf says the same :) |
| 19:53:15 | evan | or there is some other info thats platform specific. |
| 19:55:33 | rue | evan: The FFI was not the problem |
| 19:55:39 | evan | what is? |
| 19:55:50 | rue | The primitive changes and I think something with the platform |
| 19:56:10 | evan | well |
| 19:56:16 | rue | The FFI was not active because brixen could not link to major and minor (they are macros) |
| 19:56:28 | evan | thats stat. |
| 19:56:34 | dbussink | the problem is not stat anymore |
| 19:56:34 | evan | thats not what the latest problem was. |
| 19:56:36 | evan | it was Dir related. |
| 19:56:55 | dbussink | the problems that stat revealed the problems with dir |
| 19:57:41 | rue | Hu, which commits changed Dir? |
| 19:57:47 | dbussink | rue: that's not a proper sentence, but anyway, working on the File::Stat resulted in finding out that Dir had some serious problems |
| 19:57:56 | evan | brixen changed it |
| 19:57:58 | dbussink | rue: dir always had problems, but they didn't show |
| 19:58:03 | evan | but didn't generate stables |
| 19:58:09 | evan | then I made new stables |
| 19:58:11 | evan | and it broke. |
| 19:58:23 | dbussink | well, even before those new stables, only linux generated stables would work ok |
| 19:58:27 | evan | yep |
| 19:58:30 | evan | exactly. |
| 19:58:34 | evan | so i'm removing all doubt. |
| 19:58:42 | dbussink | so that should have been a warning |
| 19:59:04 | be9 leaves the room. | |
| 19:59:35 | rue | Hm, these last days of commits are all kinds of messed up |
| 19:59:50 | evan | very. |
| 20:00:01 | rue | Oh, found the commit. HRm |
| 20:00:43 | rue | Need some work on the commit messages |
| 20:01:23 | evan | plus, we've had long term problems with Dir |
| 20:01:31 | evan | it rears it's ugly head every month |
| 20:01:42 | evan | so i'm exercising the nuclear option. |
| 20:01:45 | Fullmoon_ leaves the room. | |
| 20:02:10 | dbussink | better safe than sorry for know |
| 20:02:12 | dbussink | for now |
| 20:02:23 | rue | We should try to address the entire platform arch a bit probably |
| 20:02:46 | evan | yes |
| 20:02:59 | evan | FFI has shown to be far too brittle, platform wise. |
| 20:03:02 | rue | Right now we have kernel/platform and all but not really, it still pretty much implements a single layer |
| 20:03:04 | dbussink | well, ffi should take care of that, i don't see architectural problems with it that prevent working with different archs properly |
| 20:03:15 | dbussink | but indeed, it has been very brittle |
| 20:03:27 | evan | it's all fixable. |
| 20:03:50 | rue | It should be that we have essentially a Platform interface and various implementations thereof |
| 20:03:50 | octopod leaves the room. | |
| 20:04:15 | dbussink | what kind of implementations do you mean? |
| 20:04:56 | rue | Say, Platform has the common interface. POSIX implements Platform in terms of, well, POSIX. Then e.g. FreeBSD can subclass POSIX and override what is necessary |
| 20:05:27 | rue | Right now Platform is basically just a namespace for platform interface methods |
| 20:06:10 | imperator leaves the room. | |
| 20:06:18 | dbussink | yeah ok, but i don't think that would solve the problems we're currently having |
| 20:06:42 | rue | It is not a specific solution, but I think it should be addressed first |
| 20:07:46 | macournoyer enters the room. | |
| 20:07:55 | rue | We can have a Platform.generate_consts and whatnot |
| 20:09:11 | evan | i think we're getting there |
| 20:09:14 | evan | with structgen and constgen |
| 20:09:20 | evan | but we're obviously missing something. |
| 20:10:08 | dbussink | well, i really the way their working and i don't see anything wrong with those atm, because i've checked them over and over again with simple c test programs |
| 20:10:16 | dbussink | on the offsets, sizes etc. |
| 20:10:20 | rue | Yeah, but having FFI and primitive and native code and structgen and constgen and Rakefile and kernel and platform and runtime and Rubinius:: and rbconfig and all are a part of the problem |
| 20:12:24 | evan | how so? |
| 20:12:29 | evan | you think we have too many things? |
| 20:12:45 | rue | The responsibilities and relationships are a bit mixed up. I think we could really benefit from a structured design |
| 20:13:24 | _ADS_ enters the room. | |
| 20:13:30 | evan | i'm open to suggestions |
| 20:13:35 | rue | Now, certainly, we need to generate the constants etc. at build time but the responsibility for defining those should be associated with the appropriate platform implementation |
| 20:14:11 | djwhitt enters the room. | |
| 20:14:14 | aotearoa enters the room. | |
| 20:14:22 | rue | That way we can clearly implement any additions, subtractions and modifications to the structs, for example |
| 20:14:49 | evan | could you give me an example of what you mean? |
| 20:15:10 | rue | So Platform expects to have some type of a Dir backend structure. POSIX expects it to be in a certain form, with certain fields |
| 20:15:34 | rue | Then, if Platforms::Plan9 deviates from that, it can override the POSIX definition of the struct |
| 20:16:00 | rue | The generator just asks the platform for the dir stuff to be generated and ends up with whatever the chain leads to |
| 20:17:08 | rue | This is the big-picture type thing. Everything can certainly be done by extending what we have now, no question about that. But it will be cleaner and easier to understand and change if we get the Platform design and flow right |
| 20:17:42 | evan | sure |
| 20:18:13 | rue | I have not had enough time to really see what the specific problem with Dir is right now so I cannot address it directly |
| 20:18:30 | rue | But the above general pattern should allow us to simplify this whole thing |
| 20:19:42 | rue | Just your standard abstraction--but I think we do not have it in the code now |
| 20:22:30 | _ADS | my opinion doesn't count, but that sounds great to me. 1/2 the problem I've had with patching for cygwin so far have to do with where to put cygwin-specific stuff. |
| 20:25:06 | antares_ enters the room. | |
| 20:27:56 | dbussink | i agree that the abstraction could be a lot better yeah, but i think the current ffi structure is a good way to go, but with one additional abstraction layer like rue suggests |
| 20:28:59 | evan | agreed. |
| 20:29:17 | wycats | so where is the compiled_method's bonus set? |
| 20:29:37 | evan | in the compiler. |
| 20:29:50 | wycats | right... I see where the arguments are set and such |
| 20:30:04 | wycats | (converted into bytecode) |
| 20:30:21 | wycats | but I don't see where bonus is actually set |
| 20:32:11 | evan | you're not looking very hard at all. |
| 20:32:15 | evan | cm.local_names = ... |
| 20:32:21 | evan | calls CompiledMethod#locals_names |
| 20:32:28 | evan | which sets some bonus slot entry. |
| 20:33:24 | wycats | evan: it's not so much that I'm not looking very hard at all, as much as I'm poking around to try and grok it |
| 20:33:41 | evan | check out compiled_method.rb then. |
| 20:33:53 | wycats | yep |
| 20:33:54 | wycats | did |
| 20:34:01 | wycats | and it deals with @bonus and bonus = |
| 20:34:30 | wycats | yeah |
| 20:34:32 | wycats | and now I see it :P |
| 20:36:13 | _ADS | anyone know offhand why rubinius.bin would fail with exitcode 53? Or where I should search to find out? |
| 20:36:58 | octopod enters the room. | |
| 20:37:39 | b3b0p enters the room. | |
| 20:38:05 | wycats | being able to do rake and then test changes to the compiler without a whole rigamarole is really quite helpful :) |
| 20:38:45 | evan | yeah |
| 20:38:49 | evan | it was a big step forward |
| 20:39:28 | evan | right now we're doing the Texas 2 step wrt platform code |
| 20:39:34 | evan | 2 steps forward, one step back. |
| 20:39:47 | wycats | lol |
| 20:40:01 | wycats | 1 big step and 1 little step forward; one little step back |
| 20:49:23 | pietia leaves the room. | |
| 20:49:40 | tomfarm enters the room. | |
| 20:50:34 | dbussink | evan: it's more like a waltz, we keep spinning round and round |
| 20:51:32 | boyscout | 1 commit by Evan Phoenix |
| 20:51:33 | boyscout | * Remove FFI from being used in Dir, only uses primitives; 06b8d0c |
| 20:53:56 | lypanov | waves randomly |
| 20:54:03 | evan | heyt here |
| 20:54:16 | lypanov | evan: /me just got a ror job |
| 20:54:21 | evan | congrats! |
| 20:54:37 | lypanov | thx :) |
| 20:54:57 | evan | where at? |
| 20:55:15 | lypanov | goes priv |
| 20:56:09 | brixen | evan: I'm here for a minute, I'm going to a functional programming language group on monday, a guy from haskell is going to give a talk on their FFI layer |
| 20:56:22 | brixen | so, I'll have a bunch of questions for him |
| 20:56:35 | evan | ok |
| 20:56:40 | lypanov | did you guys read the insane ffi overview chris2 posted on anarch a few days back? |
| 20:56:42 | evan | i'm going to revert the revert of my code |
| 20:56:43 | brixen | I think rue |
| 20:56:44 | evan | if it breaks linux |
| 20:56:46 | evan | tough |
| 20:56:46 | evan | :) |
| 20:56:51 | lypanov | link that is |
| 20:56:52 | evan | we need to fix it then. |
| 20:56:54 | brixen | rue's idea makes a lot of sense |
| 20:56:59 | Defiler | brixen: I found a kickass 'super' bug |
| 20:57:11 | brixen | evan: yeah, I know, can you write a thing for how to push a public branch? |
| 20:57:11 | dbussink | Defiler: tell us, tell us! |
| 20:57:19 | evan | Defiler can |
| 20:57:23 | brixen | evan: ok |
| 20:57:25 | brixen | Defiler: do tell |
| 20:57:51 | dbussink | brixen: it's really simple, i accidently removed Defiler's public branch once and had to put it back :p |
| 20:58:27 | brixen | dbussink: ok, cool. if anyone can write it up, that'd be great :) |
| 20:58:43 | brixen | evan: I think we should also revisit being able to bootstrap directly from MRI |
| 20:59:18 | evan | ok, but i don't want us to start using it as a crutch. |
| 20:59:24 | brixen | true |
| 20:59:37 | brixen | there's far too many moving parts right now |
| 20:59:44 | brixen | especially between primitives and ffi |
| 20:59:48 | evan | yep |
| 20:59:58 | brixen | and const gen needs a way to allow changing the structs |
| 21:00:02 | evan | we've accidently put our hand between 2 moving cogs and gotten it crushed |
| 21:00:09 | evan | changing? |
| 21:00:09 | brixen | right now, if you change them, it will break stables |
| 21:00:22 | brixen | yeah, if you take out, e.g. platform.dir |
| 21:00:25 | brixen | the stables will break |
| 21:02:42 | brixen | I know we don't want to use autoconf, but we should have some facility to query a platform for expected posix functions |
| 21:02:54 | brixen | at least for the posix functions we map with ffi |
| 21:03:21 | brixen | evan: one last thing, since the build depends on lib/bin/compile.rb, I think that needs to be in stables also |
| 21:05:13 | rubuildius | Evan Phoenix: 06b8d0c37; 4717 examples, 17239 expectations, 0 failures, 0 errors |
| 21:06:11 | rue | lypanov: You have a link to the FFI? I cannot find |
| 21:06:46 | lypanov | http://autocad.xarch.at/lisp/ffis.html |
| 21:06:46 | TheVoice enters the room. | |
| 21:07:01 | evan | brixen: ok |
| 21:08:22 | boyscout | 3 commits by Wilson Bilkovich |
| 21:08:23 | boyscout | * Add 'has_key?' alias to ENV (for Rake); f96bc1a |
| 21:08:24 | boyscout | * Make LoadError message match MRI; 8ad06de |
| 21:08:25 | boyscout | * SystemExit exception should have a 'status' accessor, not 'code'; 93e5e3b |
| 21:11:08 | brixen | lypanov: nice |
| 21:12:12 | dbussink | evan: hmm, i have two failing specs on linux now for Dir stuff |
| 21:13:00 | evan | fix them. |
| 21:13:55 | wycats | evan: I think you need a donut :P |
| 21:13:57 | wycats | j/k |
| 21:14:19 | hornbeck leaves the room. | |
| 21:14:25 | evan | i've gotten very tired of this bug. |
| 21:14:27 | evan | very. |
| 21:14:45 | wycats | :( |
| 21:14:45 | evan | so we will no longer be going backwards to fix it |
| 21:14:48 | evan | only forward. |
| 21:14:54 | wycats | "keep moving forward" |
| 21:14:55 | wycats | :) |
| 21:15:23 | rue | A donut might help though |
| 21:15:35 | lypanov | wants a donut too |
| 21:15:42 | dbussink | doesn't like donuts |
| 21:15:53 | brixen | dbussink: you've got better than donuts there :) |
| 21:16:06 | brixen | dbussink: I'm looking at it now |
| 21:16:11 | dbussink | brixen: most definitely :) |
| 21:16:41 | lypanov | nothing is better than custard creme filled choco coated donuts |
| 21:16:51 | dbussink | brixen: i already know one thing i'm gonna hate when i'm in the usa, and that's gonna be breakfast, al that nasty sweet stuff in the morning, yuk |
| 21:16:59 | rue | lypanov: Crepes |
| 21:17:15 | lypanov | nope, crepes pale in comparison |
| 21:17:17 | wycats | evan: incidentally, Jamis tried to use Ruby/DL for some stuff a few years ago, and got hosed because of lack of 64-bit support |
| 21:17:26 | evan | aah |
| 21:17:29 | rue | dbussink: Contrary to belief, it is quite possible to have sane food here. Particularly in Oregon : |
| 21:17:29 | rue | ) |
| 21:17:30 | evan | i knew it was something. |
| 21:17:33 | brixen | dbussink: totally |
| 21:17:38 | wycats | plus there's a hard-limit on callbacks |
| 21:17:40 | wycats | which is stupid |
| 21:17:44 | dbussink | rue: i know, but in hotels it's hard :) |
| 21:17:49 | wycats | the guy who wrote DL wrote a new thing called DL2 |
| 21:17:50 | brixen | dbussink: stayed 3 weeks in stuttgart, the breakfast buffet at the hotel was the best ever |
| 21:17:50 | evan | wycats: our FFI doesn't support callbacks |
| 21:17:52 | wycats | which he abandoned |
| 21:18:00 | wycats | evan: yeah |
| 21:18:04 | wycats | but it does support 64-bit |
| 21:18:10 | evan | that it does. |
| 21:18:11 | rue | dbussink: So dun eat at the hotel :) There are about eight coffee shops a block |
| 21:18:14 | dbussink | brixen: yeah, that's what i'm used to too |
| 21:18:47 | lypanov | was meant to be debugging an infinite loop in his ruby vm thingy but now is thinking about donuts |
| 21:19:01 | brixen | lypanov: resist! |
| 21:19:04 | evan | lypanov: working on a ruby vm thingy? |
| 21:19:11 | dbussink | rue: do they have sandwiches without a huge amount of stuff on them? so with just some simple cheese? |
| 21:19:12 | rue | Maybe the donut is the answer.. the donut is an infinite loop too! |
| 21:19:32 | rue | dbussink: Yeah. Weirdly, they actually do not usually put butter/margarine on bread though |
| 21:19:54 | lypanov | evan: got bored and took up rubydium again in a moment of insanity |
| 21:20:14 | evan | heh |
| 21:20:19 | dbussink | rue: we often went to something like a subway out of sheer misery, because we couldn't find anything more decent for breakfast |
| 21:20:19 | rubuildius | Wilson Bilkovich: f96bc1a49; 4717 examples, 17239 expectations, 0 failures, 0 errors |
| 21:20:22 | rue | lypanov: So if you take a bite out of the donut, it ceases to be an infinite loop! |
| 21:20:29 | lypanov | lol |
| 21:20:35 | rue | Solved! |
| 21:20:51 | lypanov | lemme just take a quick flight to the us and find a dunkin donuts |
| 21:21:02 | lypanov | no doubt the bug will be fixed 1000 euro and 24 hours from now |
| 21:21:11 | evan | Eero: supplying donut based wisdom since 2004 |
| 21:21:19 | brixen | lypanov: oh god, the new dunkin donuts commercial is "america runs on dunkin" |
| 21:21:24 | brixen | lypanov: it's horrible |
| 21:21:27 | lypanov | hehehe |
| 21:21:37 | lypanov | ummmmdonuts..... |
| 21:21:40 | dbussink | rue: didn't go to the subway here in the netherlands since then, just didn't like it anymore |
| 21:21:51 | brixen | dbussink: what failures are you getting on linux? not getting any here |
| 21:21:52 | dbussink | brixen: that's now new, that more then a year old |
| 21:22:02 | brixen | dbussink: ah, just saw it recently |
| 21:22:08 | rue | dbussink: Hehe.. an omelette would not be a bad choice |
| 21:22:08 | brixen | dbussink: I was appalled |
| 21:22:11 | dbussink | brixen: hmm, i'm getting failures on Dir#pos and Dir@seek |
| 21:22:25 | lypanov | you guys are making me hungry, now the frozen pork dim sum i have 10 meters away seems awfully tempting |
| 21:22:26 | brixen | dbussink: what platform again? |
| 21:22:35 | dbussink | brixen: debian etch 32 bit |
| 21:22:43 | dbussink | same on etch 64 though |
| 21:22:51 | brixen | ah ok |
| 21:23:07 | lypanov | admits to not really eating donuts, just craving the idea of them |
| 21:23:07 | brixen | hmm, is that a lot different than ubuntu gutsy? have they diverged much? |
| 21:23:11 | TheVoice | evan: is there going to be a video of the merb and rubinius talks? |
| 21:23:18 | evan | i think so |
| 21:23:32 | dbussink | brixen: etch has a glibc that is not the most recent |
| 21:23:33 | brixen | dbussink: I'm going to try to get a freebsd and debian vm instance up |
| 21:23:41 | brixen | ahh, of course |
| 21:23:46 | brixen | debian's glacial pace |
| 21:23:57 | wycats | so re: holding onto arguments; the information is available in both the :args node and the :defn node... trying to figure out how to push it up to the scope |
| 21:24:03 | dbussink | brixen: maybe we should have some vm's where other developers can log in too? |
| 21:24:28 | lypanov | what parser does rubinius use? |
| 21:24:29 | brixen | hmm, we really should have several platforms available, true |
| 21:25:12 | evan | lypanov: a 1.8.2 parse.y thats been extracted and refactored slightly |
| 21:25:43 | lypanov | you guys edging towards 1.9? |
| 21:26:01 | lypanov | or have plans to do so? |
| 21:26:20 | evan | no |
| 21:26:26 | evan | not until way post 1.9 |
| 21:26:27 | wycats | no plans to do so? |
| 21:26:33 | evan | er. |
| 21:26:35 | evan | post 1.0 |
| 21:26:39 | evan | rubinius 1.0 |
| 21:26:40 | lypanov | k. makes sense |
| 21:26:44 | dbussink | 1.9 is still a moving target too |
| 21:26:45 | evan | 1.9 is not yet a viable platform |
| 21:26:50 | evan | no one is using it. |
| 21:26:56 | lypanov | figured thaht |
| 21:27:17 | lypanov | went to port rubydium to work on top of it only to find out that parsetree/rubyparser doesn't work on it :) |
| 21:27:24 | dbussink | brixen: i'm testing with enabling LFS now, seems to work ok on both linux and os x |
| 21:27:37 | dbussink | brixen: dunno what the bsd directives for it are |
| 21:27:38 | brixen | dbussink: nice |
| 21:27:39 | boyscout | 1 commit by Evan Phoenix |
| 21:27:40 | boyscout | * Revert "Reverts 62a0e4..7712c1 as a single diff. Test on linux."; a56104f |
| 21:27:47 | evan | ok |
| 21:27:50 | evan | if that breaks linux |
| 21:27:52 | evan | tough shit. |
| 21:27:58 | evan | fix the breakage. |
| 21:28:02 | evan | i'm about to run to the airport |
| 21:28:09 | wycats | peace |
| 21:28:15 | wycats | did you guys enjoy Universal |
| 21:28:15 | evan | if linux is busted and hasn't been fixed |
| 21:28:18 | evan | i'll work on it when I get home. |
| 21:28:25 | dbussink | going back to la? |
| 21:28:27 | evan | wycats: went go-carting instead. |
| 21:28:33 | wycats | nice |
| 21:28:36 | wycats | was it fun? |
| 21:28:41 | lopex leaves the room. | |
| 21:28:52 | lypanov enters the room. | |
| 21:28:52 | macournoyer leaves the room. | |
| 21:28:55 | lypanov | oops |
| 21:29:07 | lypanov | remembers that he doesn't have dircproxy running |
| 21:29:45 | wycats | :/ |
| 21:30:16 | brixen | dbussink: give me the command to push the branch. I'll put the File::Stat stuff in on top of evan's commit and see if it works |
| 21:30:23 | brixen | dbussink: the public branch |
| 21:30:35 | dbussink | brixen: i'm testing evan's stuff now, but it breaks on linux |
| 21:30:37 | brixen | dbussink: then we can add the LFS and test |
| 21:30:57 | langenberg enters the room. | |
| 21:31:01 | brixen | ahh, yeah figured. I couldn't get it to work in pieces |
| 21:31:10 | lypanov | ADDING range [13] TO CACHE - assumptions == [] - notes == {:statically_dispatches_to=>[[13, nil]]} |
| 21:31:13 | lypanov | can't be good |
| 21:31:21 | lypanov | bites into the donut |
| 21:32:51 | wycats | anyone have any thoughts on how I would get info that's available inside a NodeType class into the actual compiled object (in this case, method) |
| 21:33:29 | wycats | I tracked down exactly where the info I need is defined in the compilation process |
| 21:34:17 | wycats | lypanov: you got a donut :-d |
| 21:34:25 | rubuildius | Evan Phoenix: a56104f15; build failed! http://rafb.net/p/YDhhcZ17.html |
| 21:34:57 | dbussink | brixen: git push origin my_branch |
| 21:35:05 | brixen | dbussink: sweet, thanks |
| 21:35:12 | brixen | building now |
| 21:35:29 | dbussink | your working with or without evan's last commit? |
| 21:35:37 | brixen | with |
| 21:35:43 | brixen | but on osx |
| 21:37:11 | dbussink | ah, because that breaks on linux |
| 21:37:29 | chris2 leaves the room. | |
| 21:37:38 | brixen | dbussink: hmm, still failing in Dir stuff with the new File::Stat |
| 21:37:47 | brixen | I'll look into it, later |
| 21:37:54 | dbussink | brixen: same problem as with the primitive version? |
| 21:37:55 | brixen | house shopping :) |
| 21:38:00 | brixen | seems to be |
| 21:38:32 | brixen | bbl.. |
| 21:38:37 | dbussink | later |
| 21:40:29 | langenberg leaves the room. | |
| 21:43:46 | lypanov | wycats: metaphorical donut really only alas :( |
| 21:43:51 | wycats | too bad |
| 21:45:00 | imajes leaves the room. | |
| 21:45:28 | imajes enters the room. | |
| 21:49:00 | lypanov | ruby isn't that bad really :) |
| 21:49:39 | rue | wycats: Where are you looking in the compiler |
| 21:49:59 | rue | It does some reshuffling in the process where the arg "duplication" is removed if I recall correctly |
| 21:50:42 | defunkt enters the room. | |
| 21:51:04 | wifelette leaves the room. | |
| 21:51:14 | wycats | rue: I think I have it |
| 21:51:26 | wycats | I'm adding it to desc in Define |
| 21:51:35 | wycats | desc.args = ... |
| 21:51:41 | wycats | where args is a new attr_accessor |
| 21:51:55 | wycats | or am I going off the deep end? |
| 21:52:40 | rue | Well, in the sexp the defn node is [:defn, [:scope], []] and the second array is the args |
| 21:53:03 | rue | But the :scope also has [:block, [:args]] or something, right? |
| 21:53:07 | rue | Those two get combined |
| 21:53:19 | wycats | right |
| 21:53:26 | wycats | so in Define I have the full @arguments |
| 21:53:36 | wycats | which is the combined set |
| 21:55:11 | rue | Right, and that gets assigned to the Define node in Define#args as @arguments eventually yeah |
| 21:56:11 | wycats | right |
| 21:56:16 | wycats | so I got it working as follows: |
| 21:56:23 | wycats | set the cm.args in Define |
| 21:56:28 | wycats | rather desc.args |
| 21:56:35 | wycats | set the cm.args = desc.args in generator |
| 21:56:42 | wycats | but I don't think I should be just hacking away here |
| 21:56:47 | wycats | because this isn't a core Ruby feature |
| 21:57:24 | rue | Yeah, that seems sane enough |
| 21:57:56 | wycats | http://pastie.caboo.se/150095 |
| 21:58:01 | wycats | that's what the API looks like |
| 21:58:53 | rue | Yeah, you can clean the arg presentation a bit |
| 21:59:03 | rue | Now @arguments is an Arguments node right? |
| 21:59:56 | wycats | what I do is extract the names out of the node |
| 22:00:01 | wycats | it's not even an arguments node |
| 22:00:15 | wycats | it's an array of Compile::Local |
| 22:00:16 | agardiner enters the room. | |
| 22:01:08 | wycats | goinna grab some food |
| 22:01:22 | wycats | I'll show you the code and you can rip it apart when I get back :) |
| 22:02:51 | lopex enters the room. | |
| 22:11:17 | _ADS leaves the room. | |
| 22:14:15 | KirinDave enters the room. | |
| 22:14:30 | vatic42 enters the room. | |
| 22:21:42 | lypanov | cute |
| 22 |