Show enters and exits. Hide enters and exits.
| 00:08:00 | boyscout | Remove tag for failing spec: IO.foreach with nil separator - dbecff8 - Jake Douglas |
| 00:08:00 | boyscout | Fix IO.foreach with a nil separator, it should yield the entire contents at once - 0f62f5e - Jake Douglas |
| 00:16:40 | boyscout | CI: rubinius: 0f62f5e successful: 3498 files, 14363 examples, 42133 expectations, 0 failures, 0 errors |
| 01:06:12 | Defiler | Hey what is that good alternative to 'dircproxy'? |
| 01:06:21 | Defiler | Shorter name, can't remember what though. |
| 01:07:04 | evan | I used bip |
| 01:07:09 | evan | er |
| 01:07:10 | evan | use. |
| 01:07:20 | Defiler | aha, right |
| 01:07:21 | Defiler | thanks |
| 01:07:27 | evan | no prob. |
| 01:22:46 | jakedouglas | evan: are there any idiosyncrasies to be aware of with Type.coerce_to and mocks?.. |
| 01:29:19 | evan | jakedouglas: not that i'm aware of, no. |
| 01:32:04 | jakedouglas | eh fuck |
| 01:32:12 | jakedouglas | i was just confused about the spec. GOOSE CHASE. |
| 02:11:24 | jakedouglas | evan: around? |
| 02:14:03 | jakedouglas | the issue is that when IO.select needs to call #to_io on one of the passed objects, it's supposed to return the original object in the result, not what it gets from #to_io |
| 02:14:42 | jakedouglas | wondering if i should make the change in the C++ function or if i should just use the return value of that and do it in the ruby IO.select wrapper |
| 02:16:25 | jakedouglas | i guess to do it in C++ you'd have to push the type coercion stuff down into there, it's currently being done in Ruby |
| 02:17:27 | boyscout | Add more description to an IO.select spec - f424655 - Jake Douglas |
| 02:26:06 | boyscout | CI: rubinius: f424655 successful: 3498 files, 14363 examples, 42133 expectations, 0 failures, 0 errors |
| 02:50:34 | boyscout | fix for "IO#readpartial discards the existing buffer content upon error" - 91bece4 - Jake Douglas |
| 02:50:34 | boyscout | Remove some now-passing tags for IO#readpartial - 036ba22 - Jake Douglas |
| 02:59:18 | boyscout | CI: rubinius: 036ba22 successful: 3498 files, 14366 examples, 42139 expectations, 0 failures, 0 errors |
| 03:47:13 | jakedouglas | has made the mistake of trying to fix a thread spec |
| 03:58:55 | brixen | jakedouglas: the proper way to do coercion is to have the prim fail and coerce in the fallback code, then redispatch |
| 03:59:22 | jakedouglas | do you have an example? |
| 03:59:30 | brixen | yes, getting you one :) |
| 03:59:34 | jakedouglas | thanks |
| 03:59:41 | jakedouglas | gives up on the thread issue |
| 04:00:00 | brixen | see kernel/common/array.rb:487 def concat |
| 04:01:16 | jakedouglas | so the primitive is able to return out of that method, and the code below the primitive call only gets executed if it doesnt? |
| 04:01:28 | brixen | the primitive is not a call |
| 04:01:37 | brixen | it tags the method as being a primitive |
| 04:01:52 | brixen | the vm executes the primitive when that method is called |
| 04:02:00 | brixen | if the primitive fails, the ruby code runs |
| 04:02:05 | jakedouglas | ok |
| 04:02:27 | brixen | so, the primitive should fail if eg as<IO>(arg) is used |
| 04:02:50 | jakedouglas | the IO.select case is a little more complicated |
| 04:02:56 | jakedouglas | is what's being done incorrect? |
| 04:03:03 | brixen | see vm/builtin/array.cpp ::concat |
| 04:03:15 | brixen | you can see how to force a failure based on a condition |
| 04:03:15 | jakedouglas | kernel/common/io.rb:567 def self.select |
| 04:03:23 | brixen | eg if(is_frozen_p()) return force_as<Array>(Primitives::failure()); |
| 04:03:57 | brixen | I don't know about IO.select, I'm just giving you the pieces you probably need |
| 04:04:07 | jakedouglas | thanks |
| 04:04:07 | brixen | and I have to get back to my slides :/ |
| 04:04:20 | jakedouglas | ok |
| 04:31:53 | boyscout | fix failure for "Fiber.new raises an ArgumentError if called without a block" - 11f379b - Jake Douglas |
| 04:31:54 | boyscout | Remove fail tag for "Fiber.new raises an ArgumentError if called without a block" - 8d3e482 - Jake Douglas |
| 04:40:24 | boyscout | CI: rubinius: 8d3e482 successful: 3498 files, 14367 examples, 42140 expectations, 0 failures, 0 errors |
| 05:00:50 | jakedouglas | whats the status on fibers? half done? |
| 07:22:54 | dbussink | brixen: t-mobile has the iphone in the netherlands and it has been pretty much like the at&t experience in the us here with them... |
| 13:26:22 | dbussink | goyox86: ping? |
| 13:27:21 | goyox86 | dbussink: here i am |
| 13:27:50 | dbussink | goyox86: got a small remark on #424, i see you used tabs in your patch |
| 13:27:52 | dbussink | and not spaces |
| 13:28:27 | goyox86 | dbussink: understood |
| 13:30:09 | goyox86 | dbussink: i use textmate, i should configure it to use spaces? or something like that? :s |
| 13:30:30 | dbussink | goyox86: yeah, at the bottom you can select what type of tabs it should use |
| 13:30:36 | dbussink | should be soft tabs 2 for rbx |
| 13:30:52 | dbussink | the soft tabs / spaces is a checkmark at the bottom of the selector |
| 13:39:08 | goyox86 | dbussink: should i fix it, and gist another patch? |
| 13:41:55 | dbussink | goyox86: you can edit the gist too |
| 13:42:24 | goyox86 | dbussink: k |
| 15:34:40 | jakedouglas | morning |
| 15:56:23 | jakedouglas | almost has most of the fiber specs passing |
| 15:59:43 | goyox86 | jakedouglas: do you now that Fiber is something taht is not implemented in rbx :) |
| 16:00:18 | jakedouglas | thats not quite true. maybe they arent nice and polished, but they exist |
| 16:01:14 | goyox86 | jakedouglas: some days ago evan told me that let me look at irc logs :] |
| 16:01:32 | jakedouglas | maybe im wasting my time working on them, then |
| 16:01:58 | evan | jakedouglas: nah, carry on. |
| 16:02:03 | jakedouglas | oh. ok |
| 16:02:10 | evan | not a waste of time. |
| 16:02:21 | jakedouglas | evan: what's incomplete about them, other than the spec failures? |
| 16:02:23 | evan | Fiber is just experimental is all. |
| 16:02:30 | jakedouglas | ok |
| 16:02:39 | evan | I didn't flesh out parts of the API |
| 16:02:43 | evan | so probably just spec failures |
| 16:02:57 | jakedouglas | cool. well im down to 4 failures :) |
| 16:03:04 | goyox86 | dbussink: i've fixed the patch http://gist.github.com/485325 |
| 16:03:28 | goyox86 | jakedouglas: nice! :] |
| 16:05:01 | evan | ok boys |
| 16:05:03 | evan | i'm off |
| 16:05:08 | evan | i'm in San Diego for Comic-Con |
| 16:05:21 | evan | talk to ya later |
| 16:05:25 | brixen | hi evan! |
| 16:05:27 | brixen | have fun! |
| 16:05:30 | evan | hi brixen! |
| 16:05:34 | jakedouglas | see ya |
| 16:05:35 | goyox86 | evan: have fun! |
| 16:05:40 | evan | ok, real fast. |
| 16:05:44 | evan | brixen: hows the talk coming? |
| 16:05:47 | brixen | good |
| 16:05:56 | jakedouglas | intends to sneak in a bunch of patches while evan is gone |
| 16:06:07 | brixen | jakedouglas: git tells all :) |
| 16:06:42 | jakedouglas | heh |
| 16:07:56 | evan | all right, off to get coffee and see the nerds. :) |
| 16:08:04 | jakedouglas | later |
| 16:08:04 | brixen | woot |
| 16:08:34 | jakedouglas | brixen: yo, compiler dude |
| 16:08:37 | evan | best part is this year our hotel is next door |
| 16:08:40 | evan | anyway |
| 16:08:41 | evan | later! |
| 16:08:46 | brixen | bye! |
| 16:08:57 | brixen | jakedouglas: sup? |
| 16:09:39 | goyox86 | brixen: how was OSCON? :) |
| 16:09:53 | jakedouglas | brixen: "Fiber.new raises a SyntaxError when the block contains a retry statement" |
| 16:10:05 | jakedouglas | brixen: is that something that needs to be dealt with in the parser/compiler? |
| 16:11:04 | brixen | jakedouglas: hm, not sure |
| 16:11:16 | brixen | I'd have do dig into in but I need to work on slides still |
| 16:11:21 | brixen | sorry :/ |
| 16:11:25 | jakedouglas | sure |
| 16:11:29 | jakedouglas | np. |
| 16:11:39 | brixen | goyox86_: it's good, still going, my talk is this afternoon |
| 16:12:02 | brixen | fades |
| 16:12:15 | goyox86 | brixen: have fun! with those slides! |
| 16:12:25 | brixen | goyox86_: thanks |
| 16:40:57 | jakedouglas | what does try_as and as do |
| 18:54:22 | dbussink | jakedouglas: try_as will try to cast the object and return NULL if it doesn't succeed |
| 18:54:34 | dbussink | jakedouglas: as will cast it and blow up if it fails |
| 18:55:11 | jakedouglas | i see |
| 18:59:58 | dbussink | jakedouglas: you can also see how it's used with that then, try_as is almost always in an if statement |
| 19:00:03 | dbussink | to check some different types |
| 19:10:59 | boyscout | Module#class_variable_set now raises a TypeError when self is frozen - 32cb3ca - Jose Narvaez |
| 19:11:00 | boyscout | Remove tag for passing Module.class_variable_set specs - 8c022b2 - Jose Narvaez |
| 19:11:05 | dbussink | goyox86_: there you go |
| 19:11:29 | goyox86 | dbussink: :] |
| 19:19:47 | boyscout | CI: rubinius: 8c022b2 successful: 3498 files, 14368 examples, 42142 expectations, 0 failures, 0 errors |
| 19:28:51 | jakedouglas | dbussink: so if i had an Object that could potentially be an Array, would i want to use try_as? |
| 19:29:18 | dbussink | jakedouglas: yeah, but if you know it always should be an array, you should use as<> |
| 19:29:26 | jakedouglas | ok. |
| 19:30:47 | jakedouglas | dbussink: are u familiar with the fibers stuff? |
| 19:32:43 | dbussink | jakedouglas: no, not really |
| 19:32:58 | jakedouglas | k |
| 19:34:46 | goyox86 | jakedouglas: how is it going with Fiber specs? |
| 19:35:01 | jakedouglas | i have 2 faliures left |
| 19:35:21 | dbussink | jakedouglas: running the 1.9 specs against it? |
| 19:35:23 | jakedouglas | both of them probably have to be handled in the compiler so i dont know where to start |
| 19:35:48 | jakedouglas | dbussink: i duno, im just running bin/mspec spec/ruby/core/fiber/ |
| 19:35:57 | jakedouglas | dbussink: is that it? or is that different |
| 19:36:44 | dbussink | jakedouglas: yeah, that's correct |
| 19:36:55 | jakedouglas | ok |
| 19:37:12 | jakedouglas | well ya…the last 2 failures are |
| 19:37:19 | jakedouglas | "Fiber.new raises a SyntaxError when the block contains a retry statement" |
| 19:37:24 | jakedouglas | "Fiber#resume executes the ensure clause" |
| 19:37:35 | jakedouglas | the first one is straight forward |
| 19:37:40 | jakedouglas | the second one basically says |
| 19:37:54 | jakedouglas | begin; Fiber.yield; ensure; puts "BLAM"; end |
| 19:38:03 | jakedouglas | should puts "BLAM" before yielding |
| 19:38:12 | jakedouglas | i dont know where to start for either one |
| 19:38:31 | dbussink | hmm, both probably require some work in the compiler |
| 19:38:39 | jakedouglas | yea. figured |
| 19:39:16 | Defiler | every method call should puts BLAM |
| 19:39:55 | jakedouglas | is it different because it's a primitive or something? |
| 19:41:20 | jakedouglas | the spec is a little more complicated I guess |
| 19:42:32 | jakedouglas | maybe im not understanding it or the ruby_bug stuff correctly |
| 19:42:56 | jakedouglas | it's in spec/ruby/core/fiber/resume_spec.rb |
| 19:43:23 | jakedouglas | can someone clarify whether i should be trying to make it pass? |
| 19:44:38 | jakedouglas | http://redmine.ruby-lang.org/issues/show/595 discusses it |
| 19:44:56 | jakedouglas | but i only speak english |
| 19:45:05 | dbussink | jakedouglas: ruby_bug means that it's a confirmed bug in ruby |
| 19:45:13 | dbussink | so that means that rbx should pass it |
| 19:45:22 | jakedouglas | ok |
| 19:46:05 | dbussink | but it's marked with ruby_bug so a run on mri is clean |
| 19:46:14 | jakedouglas | i dont really understand why fork for the spec |
| 19:46:47 | dbussink | dunno, maybe it was only occurring then in mri |
| 19:47:14 | dbussink | if you want to know for sure, you should try creating a spec without fork and run that on 1.9.1 and the 1.9.2-rc |
| 19:47:25 | dbussink | so you can see whether it indeed fails on 1.9.1 and passes on 1.9.2 |
| 19:47:36 | dbussink | but i don't know the details of this either |
| 19:48:40 | jakedouglas | it doesnt appear to work on either heh |
| 19:50:15 | jakedouglas | i guess it's still 'open' |
| 19:51:12 | dbussink | jakedouglas: yeah, looks like it |
| 19:51:39 | jakedouglas | any idea where i would look to fix this in rbx? |
| 19:52:01 | dbussink | not really |
| 19:52:05 | dbussink | maybe Defiler has an idea? |
| 19:52:13 | dbussink | Defiler: or are you too much out already |
| 19:52:13 | dbussink | ? |
| 19:52:17 | jakedouglas | is there something i can grok from some piece of the environment in C++ about whether theres an 'ensure' supposed to be going on? |
| 19:53:01 | dbussink | nah, this is more something you should look up in the compiler |
| 19:53:09 | dbussink | to see how code for an ensure is emitted |
| 19:53:25 | Defiler | Sorry, have to make a phone call right now, but I can look in a minute |
| 19:53:27 | jakedouglas | hmm. ok |
| 19:53:33 | jakedouglas | i mean |
| 19:53:39 | jakedouglas | i guess the behavior of ensure is like |
| 19:54:21 | jakedouglas | if the code after begin succeeds, the ensure block is executed after. if it raises, then ensure is run before propogating the raise |
| 19:54:47 | jakedouglas | theres no exception being raised from Fiber.yield and its just pulling the rug out so it has no idea |
| 19:55:05 | jakedouglas | so the compiler would have to know that we're inside a fiber and about to call Fiber.yield and that it should run ensure first i guess |
| 19:55:50 | jakedouglas | but i dont really know how the compiler works so thats just speculation |
| 19:56:45 | dbussink | jakedouglas: well, the vm has no knowledge of an ensure concept |
| 19:56:51 | jakedouglas | oh, ok. |
| 19:57:05 | dbussink | so that's all about what bytecode the compiler outputs |
| 20:02:03 | dbussink | jakedouglas: you can look at lib/compiler/ast/exceptions.rb to see how an ensure is translated into bytecode |
| 20:02:29 | dbussink | jakedouglas: it's quite complex already :S |
| 20:03:31 | jakedouglas | :( |
| 20:04:07 | dbussink | jakedouglas: but since this still seems to be open in 1.9.2 i'd suggest focussing on something else :) |
| 20:04:33 | jakedouglas | sure. i mean i think its a similar issue though to the other spec that retry within the fiber fails |
| 20:04:53 | jakedouglas | i assume they both require some contextual awareness that they are about to be executed in a fiber |
| 20:04:58 | dbussink | yeah, i think there are easier things to persue |
| 20:05:01 | jakedouglas | but i dont know how that works so ill give up on them |
| 20:05:05 | dbussink | yeah, they probably do yeah |
| 20:05:20 | jakedouglas | sounds like a job for brixen. |
| 20:06:22 | dbussink | yeah, if it gets too hard i always do that too :p |
| 20:07:12 | jakedouglas | :p |
| 20:07:43 | jakedouglas | i assume that since fibers are 'experimental' i dont need to worry about breaking anyones using them right now |
| 20:07:52 | jakedouglas | (not that i intend to) |
| 20:08:54 | dbussink | jakedouglas: feel free to push fixes you have up till now :) |
| 20:09:01 | dbussink | jakedouglas: it's still experimental yeah |
| 20:09:33 | jakedouglas | k. i wanted evan to look at my fixes because the whole fiber thing is a little confusing but i guess i cant fuck anything up too bad as long as the specs pass heh |
| 20:09:44 | goyox86 | jakedouglas: i've seen a few of File specs tagged a fails, yesterday i saw you fixed some in IO, maybe you can take those down :] (abopout something else dbussink mentioned above) |
| 20:10:24 | goyox86 | jakedouglas: did you checked that ones? |
| 20:10:34 | jakedouglas | not yet..let me clean up this fiber stuff and commit it first |
| 20:10:57 | dbussink | goyox86_: hmm, i haven't touched IO, what are you referring too? |
| 20:11:28 | goyox86 | dbussink: i mean jakedouglas touched IO yesterday |
| 20:12:07 | dbussink | goyox86_: ah ok, but what can be taken down then? |
| 20:12:51 | goyox86 | thinks his english sucks :] |
| 20:13:38 | goyox86 | dbussink: when i say "take them down", i've tried to say "make them pass" |
| 20:16:38 | goyox86 | enjoys dig into rbx code base while listening some Jimi Hendrix tunes |
| 20:24:41 | jakedouglas | with_feature :fiber_library do |
| 20:24:48 | jakedouglas | how do i specify that rbx has said feature |
| 20:25:05 | jakedouglas | realized i did not execute this other spec.. |
| 20:36:09 | dbussink | jakedouglas: if you look at spec/default.mspec you see that it should be enabled for rbx |
| 20:37:26 | jakedouglas | i have to add |
| 20:37:26 | jakedouglas | MSpec.enable_feature :fiber_library |
| 20:41:22 | jakedouglas | "// Beware here, because the GC has probably run so GC pointers on the C++ stack can't be accessed." |
| 20:41:26 | jakedouglas | what does this mean |
| 20:41:53 | jakedouglas | or what is an example of something i can't do |
| 20:45:57 | boyscout | Fiber fixes: add a FiberError, raise FiberError when attempting to yield from root fiber, raise FiberError when attempting to resume dead fiber, call the fiber block with the arguments given to #resume, return the result of the fiber block to the caller after #resume returns - 8f2c492 - Jake Douglas |
| 20:45:57 | boyscout | Remove a bunch of failing tags for Fiber specs - c1ba713 - Jake Douglas |
| 20:50:23 | dbussink | jakedouglas: btw, could you make a multiline commit message from that next time? |
| 20:50:28 | jakedouglas | sure. sorry |
| 20:50:57 | dbussink | jakedouglas: convention is that if it doesn't fit in one line, is to add a one line summary, an empty line and then multiple lines of more explanation |
| 20:51:26 | dbussink | jakedouglas: something like this: http://github.com/evanphx/rubinius/commit/8c5d7012fefe0ea9358dbb4bd8f633f41bf87582 |
| 20:52:35 | jakedouglas | ok |
| 20:53:04 | jakedouglas | dbussink: i want to implement Fiber#alive?, so it just needs to check a variable. should i implement a primitive to check it, or should i just make something set an instance variable that i can check that from ruby? |
| 20:53:26 | dbussink | jakedouglas: well, if a ruby ivar suffices, i'd do with that for now |
| 20:53:36 | jakedouglas | it certainly does |
| 20:53:42 | dbussink | jakedouglas: or do you need to set / access it from a primitive too? |
| 20:53:46 | jakedouglas | nope |
| 20:53:57 | jakedouglas | when the fiber is done executing it can just set an ivar |
| 20:56:37 | jakedouglas | "// GC has run! Don't use stack vars!" |
| 20:56:41 | jakedouglas | i wish i knew what this means :p |
| 20:57:01 | dbussink | jakedouglas: you should catch even after the weekend for that i guess :) |
| 20:57:13 | jakedouglas | heh |
| 20:57:51 | boyscout | CI: rubinius: c1ba713 successful: 3498 files, 14379 examples, 42155 expectations, 0 failures, 0 errors |
| 21:12:57 | jakedouglas | yea im definitely doing something wrong, blowing up the gc. |
| 21:17:50 | brixen | jakedouglas: the GC cannot see the C stack |
| 21:17:56 | brixen | it only knows about the shadow stack |
| 21:18:20 | brixen | so if you call back into the interpreter, the GC may run and move a reference |
| 21:18:44 | brixen | when the call into the interpreter returns, the value of the reference on the C stack now points to invalid data |
| 21:18:55 | dbussink | brixen: hmm, do i remember right that you knew some fix for process.kill / process.wait failures? |
| 21:18:58 | brixen | you have to use OnStack to protect a reference that is on the C stack |
| 21:19:11 | brixen | dbussink: not offhand, no |
| 21:20:10 | brixen | jakedouglas: grep for OnStack in vm and see if it makes sense |
| 21:20:16 | brixen | goes back to slides |
| 21:21:15 | jakedouglas | 49 if(obj->zone() != YoungObjectZone) return obj; |
| 21:21:25 | jakedouglas | ^ would seg faulting here be a result of that? |
| 21:21:32 | brixen | could be, yes |
| 21:21:49 | brixen | show me the code you added |
| 21:22:24 | jakedouglas | http://github.com/evanphx/rubinius/commit/8f2c4928793a9e6fe72aae8bf7db79868869fc68 |
| 21:23:28 | brixen | yeah, you have a problem there |
| 21:23:37 | brixen | you have Object* result |
| 21:23:47 | brixen | that has to be on OnStack |
| 21:24:10 | brixen | Object* result is just a pointer on the C stack |
| 21:24:21 | brixen | the GC will move the obj it references |
| 21:24:43 | jakedouglas | i mean |
| 21:24:53 | jakedouglas | it's not pointing to anything before i call send |
| 21:24:59 | jakedouglas | so what's being moved? |
| 21:25:55 | brixen | what does dest->run() do? |
| 21:26:08 | brixen | I have not looked through this code |
| 21:26:12 | jakedouglas | it just sets 2 variables on the C++ object |
| 21:26:39 | brixen | but I can guarantee you 2 things: evan doesn't put spurious comments like this in, and Object* result is a bare reference on the C stack |
| 21:27:27 | jakedouglas | yea, you're saying the the GC will move objects |
| 21:27:42 | jakedouglas | but Object* result isn't pointing at any object until the call returns, is it? |
| 21:28:05 | brixen | no, but that's not what I'm concerned about |
| 21:28:26 | brixen | I'm concerned about what happens between that assignment and the accessor assignment |
| 21:28:32 | brixen | debug it :) |
| 21:28:35 | jakedouglas | i see. |
| 21:28:50 | jakedouglas | i'm not arguing, i'm just asking for moar info because i don't understand heh |
| 21:28:59 | brixen | gotta get back to this, but I think you have the pieces you need |
| 21:29:04 | jakedouglas | thanks |
| 21:29:12 | brixen | yeah, I know, I didn't think you were arguing :) |
| 21:29:32 | brixen | I'm only trying to explain 1. the mechanics, and 2. how to evaluate what you are looking at |
| 21:29:41 | jakedouglas | :) |
| 21:30:24 | brixen | the GC only looks in certain known locations for references, and the C stack is not one of those locations |
| 21:30:38 | jakedouglas | got it |
| 21:30:40 | brixen | the GC can run any time you call into the interpreter (which obj->send() would do) |
| 21:31:04 | jakedouglas | oh. but it's concurrent right, so it could continue running after the obj->send() returns? |
| 21:31:16 | brixen | no, the GC is stop-the-world |
| 21:31:16 | jakedouglas | oh |
| 21:31:26 | jakedouglas | or Object *result might just be nothing when obj->send() returns |
| 21:31:36 | jakedouglas | or points to bogus shit |
| 21:32:07 | brixen | hmm, no |
| 21:32:11 | brixen | let me look at this code |
| 21:32:22 | jakedouglas | ok |
| 21:32:34 | boyscout | Remove some tags that were marked as critical but run fine now - 8d9382e - Dirkjan Bussink |
| 21:41:03 | brixen | jakedouglas: I don't see a problem with the changes to start_on_stack |
| 21:41:09 | brixen | but you have a few changes in that commit |
| 21:41:14 | brixen | you'll have to try to isolate it |
| 21:41:19 | boyscout | CI: rubinius: 8d9382e successful: 3498 files, 14390 examples, 42168 expectations, 0 failures, 0 errors |
| 21:46:57 | jakedouglas | brixen: do I have to worry about 'state' changing or will that be OK |
| 21:47:35 | brixen | that would be fine |
| 21:47:42 | slava | hi brixen |
| 21:47:42 | brixen | just references to Ruby objects |
| 21:47:45 | brixen | hi slava |
| 21:47:51 | slava | going to attend my talk? |
| 21:47:54 | brixen | slava: got your neckbeard grown yet? |
| 21:48:04 | brixen | slava: mm, I'm still in NW |
| 21:48:07 | slava | working on it |
| 21:48:10 | brixen | heh |
| 21:48:13 | brixen | me too |
| 21:48:14 | slava | I haven't shaved since monday |
| 21:48:23 | brixen | me neither! |
| 21:48:33 | slava | we're practically twins |
| 21:48:39 | brixen | no doubt |
| 21:48:47 | brixen | want to trade talk slots? :) |
| 21:48:58 | slava | why don't you just give my talk? |
| 21:49:08 | brixen | I should! |
| 21:49:14 | brixen | everyone would be like "that looks a lot like Ruby" |
| 21:49:17 | brixen | :D |
| 21:49:30 | slava | all the other languages presented so far look a lot like ruby |
| 21:49:34 | brixen | heh |
| 21:49:42 | brixen | well, you should stand out then |
| 21:50:11 | slava | at this summit, I have seen the future of programming languages, and it looks a lot like the past of programming languages |
| 21:50:31 | brixen | I need to find a large steel cage on wheels soon to make my way your way |
| 21:50:54 | brixen | yeah, if there's one thing we are *really* good at, it's re-inventing the wheel |
| 21:51:43 | brixen | slava: good luck with the talk! |
| 21:51:47 | slava | thanks |
| 21:51:56 | slava | only two hours left! |
| 21:52:10 | brixen | I know! |
| 22:36:38 | jakedouglas | blah |
| 22:52:15 | jakedouglas | i don't see anywhere that i'm trying to access a stack var after evans comments |
| 22:55:07 | jakedouglas | everything after that gets accessed via Fiber::current(state) |
| 23:03:38 | matthewd | jakedouglas: Without looking closely, I'd guess maybe dest->run() could also GC? |
| 23:04:00 | jakedouglas | no |
| 23:04:45 | jakedouglas | that's deceiving, it doesn't actually do anything other than set a couple variables in C++ |
| 23:10:18 | jakedouglas | the place it crashes now is actually different than before, i guess i had made another change. the crash for the last commit i pushed is at |
| 23:10:29 | jakedouglas | rubinius::ObjectHeader::zone () at oop.hpp:280 |
| 23:10:29 | jakedouglas | 280 if(inflated_header_p()) return inflated_header()->flags(); |
| 23:59:00 | jakedouglas | uhg |
| 23:59:11 | jakedouglas | inconsistent build :/ |