Show enters and exits. Hide enters and exits.
| 00:28:19 | boyscout | Add tags for bad/unstable specs - 3a33086 - Evan Phoenix |
| 00:28:19 | boyscout | Remove VMManager, simply SharedState/VM workflow - 41400f4 - Evan Phoenix |
| 00:30:28 | boyscout | CI: Build 41400f4 failed. http://ci.rubini.us/rubinius/builds/41400f47c4b9c582d1d7ba15f5bcc4673d31de37 |
| 00:30:52 | headius | FAILED |
| 00:30:56 | headius | YOU'RE A FAILURE |
| 00:33:57 | evan | ruro |
| 00:34:15 | rue | evan: Hm, maybe un-magic-numberize the...stack size? |
| 00:34:19 | evan | ah shit |
| 00:34:26 | evan | pthread_t is typedef'd to int on linux |
| 00:34:27 | evan | fail. |
| 00:34:34 | evan | ok, ok. |
| 00:34:35 | evan | fixing. |
| 00:35:41 | rue | Just have the NativeThread own it altogether? |
| 00:36:19 | evan | it == ? |
| 00:36:52 | rue | The pthread |
| 00:37:32 | evan | it does |
| 00:37:37 | evan | via thread::Thread |
| 00:37:40 | evan | it's the same |
| 00:41:57 | rue | I mean why would you pass in a pthread |
| 00:42:52 | evan | the default thread |
| 00:42:56 | evan | the initial one |
| 00:47:07 | boyscout | Rework how pthread_t is passed down - d0dbabb - Evan Phoenix |
| 00:51:59 | boyscout | CI: Build d0dbabb failed. http://ci.rubini.us/rubinius/builds/d0dbabbf623e08befdb845cd458ad6370804619c |
| 00:52:22 | evan | GR. |
| 00:56:59 | boyscout | CI: d0dbabb success. 2647 files, 10131 examples, 32370 expectations, 1 failure, 3 errors |
| 00:57:59 | evan | sweet |
| 02:34:45 | brixen | dur, I forgot ci.rubini.us has the CI run output |
| 02:35:10 | brixen | why capi thread spec, did you start failing? |
| 03:10:34 | brixen | I think I need to make a facility in mspec for registering resources like dirs created during a run so they are cleaned in the end no matter what |
| 03:18:40 | evan | yeah |
| 03:18:46 | evan | probably not a bad idea |
| 03:19:35 | brixen | not a substitute for proper specs, but a clean sweep mechanism |
| 03:19:42 | evan | right |
| 03:20:21 | evan | i'm adding a proper Configuration class |
| 03:20:23 | evan | like we talked about |
| 03:20:31 | brixen | ahh ok |
| 03:20:33 | brixen | cool |
| 03:20:40 | evan | i should be working on the jit |
| 03:20:46 | brixen | yes :) |
| 03:20:47 | evan | but i was refactoring this and it was just so glaring |
| 03:20:57 | brixen | yeah, it's needed for sure |
| 03:21:19 | brixen | I'm really happy overall with the arch and code atm |
| 03:21:24 | evan | me too |
| 03:21:57 | brixen | I've been holding off writing the roadmap email while I discover some other issues fixing stuff |
| 03:22:08 | brixen | but overall, things are pretty polished atm |
| 03:22:18 | brixen | I'll write it up tonight |
| 03:22:47 | brixen | I've added a couple things |
| 03:24:32 | boyscout | Rework capi thread specs again. - 54dfc8e - Brian Ford |
| 03:24:32 | boyscout | Some fix-ups for socket specs. - 72d5ffe - Brian Ford |
| 03:24:46 | brixen | what say ye now boyscout |
| 03:26:53 | boyscout | CI: 72d5ffe success. 2647 files, 10140 examples, 32380 expectations, 0 failures, 0 errors |
| 03:27:00 | evan | success! |
| 03:30:51 | brixen | yay |
| 03:31:28 | brixen | I feel incomplete when boyscout is unhappy |
| 05:59:57 | boyscout | Add real Configuration infrastructure - 37dc489 - Evan Phoenix |
| 06:00:16 | evan | brixen: check that out |
| 06:00:25 | evan | brixen: you around? |
| 06:00:57 | boyscout | CI: Build 37dc489 failed. http://ci.rubini.us/rubinius/builds/37dc48942cc0b10894ff33ef32a798106c0d8ffb |
| 06:01:01 | evan | BOOO |
| 06:01:12 | evan | BAH |
| 06:03:48 | boyscout | Add missing includes - 0cf15c9 - Evan Phoenix |
| 06:04:08 | boyscout | CI: Build 0cf15c9 failed. http://ci.rubini.us/rubinius/builds/0cf15c9767ee00e6ea47e1d8aca214c11babb6ee |
| 06:04:22 | evan | blah |
| 06:06:49 | boyscout | More include fixes for linux - ae75e2f - Evan Phoenix |
| 06:07:16 | brixen | checking.. |
| 06:07:41 | evan | mainly vm/configuration.hpp |
| 06:08:01 | evan | thats my cut at centralizing and unified the configuration |
| 06:08:11 | evan | you can see that 2 lines are needed for each variable added |
| 06:08:19 | evan | but they're automatically imported after that |
| 06:08:40 | brixen | k |
| 06:08:48 | evan | if you pass -Xconfig.print |
| 06:08:56 | evan | it will print out the current configuration |
| 06:08:59 | evan | before it runs |
| 06:09:01 | brixen | oh nice |
| 06:09:05 | brixen | very handy |
| 06:09:10 | evan | yep :D |
| 06:14:18 | boyscout | CI: ae75e2f success. 2647 files, 10140 examples, 32380 expectations, 0 failures, 0 errors |
| 07:07:39 | hanrelan | hi |
| 07:07:50 | hanrelan | i'm having trouble getting rubinius to compile |
| 07:07:56 | hanrelan | it might be because i'm using ubuntu 9.04 |
| 07:08:15 | hanrelan | ./lib/ffi/struct_generator.rb:85:in `calculate': Compilation error generating struct digest (struct env_md_st): |
| 07:08:16 | hanrelan | /tmp/digest.struct_generator20090430-11434-99bzti-0:2:30: error: openssl/ossl_typ.h: No such file or directory |
| 07:08:16 | hanrelan | /tmp/digest.struct_generator20090430-11434-99bzti-0:3:25: error: openssl/evp.h: No such file or directory |
| 07:08:20 | hanrelan | is the error i'm getting |
| 07:08:30 | hanrelan | i've tried googling it but haven't found anything |
| 07:08:36 | hanrelan | is there a library i'm missing? |
| 07:10:43 | hanrelan | rbx -v still works |
| 07:10:50 | hanrelan | but it doesn't pass the bin/mspec ci |
| 07:10:51 | erikh | openssl? |
| 07:10:56 | erikh | and devel headers? |
| 07:11:06 | erikh | that's my guess from the output, but I'm new to rubinius |
| 07:11:27 | brixen | yeah, that's probably it |
| 07:11:37 | brixen | I'm running it fine on jaunty 32bit |
| 07:11:38 | hanrelan | yup i tried installing any openssl related package |
| 07:12:03 | hanrelan | unless it's libcrypt |
| 07:12:19 | hanrelan | brixen, do you have an openssl-dev installed? i can't find it in my repositories |
| 07:12:32 | brixen | hanrelan: le'me boot my vm and I'll check |
| 07:13:01 | hanrelan | thanks |
| 07:13:08 | hanrelan | this is my first day at rubinius |
| 07:13:14 | hanrelan | but i think i fixed a failing spec |
| 07:13:21 | brixen | cool! |
| 07:13:34 | hanrelan | just wanted to make sure i'm not causing regressions so don't want to commit with running the ci specs |
| 07:13:36 | hanrelan | :) |
| 07:13:44 | brixen | right |
| 07:15:21 | hanrelan | ah it may be libssl-dev |
| 07:15:24 | brixen | hanrelan: openssl and libssl-dev |
| 07:15:26 | brixen | yep |
| 07:15:54 | hanrelan | great! it's working |
| 07:15:58 | hanrelan | thanks |
| 07:16:17 | hanrelan | do you run jaunty within vbox or something? |
| 07:18:00 | brixen | yep |
| 07:18:05 | erikh | vbox rules. |
| 07:18:10 | brixen | totally |
| 07:18:23 | erikh | heh, i'm on a windows box, running irssi in an arch vbox right now ;) |
| 07:18:33 | brixen | nice |
| 07:18:42 | erikh | no dual booting and I can stillg ame |
| 07:18:59 | erikh | (and hack) |
| 07:19:12 | hanrelan | i use wine to play starcraft |
| 07:19:14 | hanrelan | works really well |
| 07:19:44 | hanrelan | need vbox for ie6 and 7 though (web developer) |
| 07:50:33 | evan | wonderful |
| 07:50:49 | evan | sinatra uses catch/throw and REQUIRES that catch/throw aren't treated as exceptions |
| 07:50:53 | evan | wonderful. |
| 07:50:54 | evan | thanks guys. |
| 07:50:57 | evan | le sigh. |
| 12:12:48 | rue | Requires how? |
| 12:15:49 | rue | throw/catch has some very peculiar unwind semantics |
| 15:50:49 | headius | woah |
| 15:51:08 | headius | the most recent pi script appears to explode rbx |
| 15:51:20 | headius | immediately consumed all my available memory |
| 15:51:27 | headius | fyi |
| 16:14:15 | sbryant_work | Sounds like some awesome leaking |
| 16:23:58 | rue | That is intentional |
| 16:24:19 | rue | It is but a reminder of the awesome power of Pi and how you should go out and draw circles in the sand more |
| 16:25:52 | brixen | headius: where is this script? |
| 16:26:18 | headius | brixen: posted on ruby ml, latest quiz thread |
| 16:27:49 | brixen | k |
| 16:34:32 | brixen | headius: oh, have a link handy? I only read ruby-core ml |
| 16:34:52 | headius | I think so |
| 16:35:10 | headius | http://www.ruby-forum.com/attachment/3635/pi.rb |
| 16:35:22 | brixen | zweet, thanks |
| 16:35:22 | headius | run with e.g. bin/rbx pi.rb 100000 |
| 16:35:27 | headius | bloze up gud for me |
| 16:35:31 | brixen | heh |
| 16:39:30 | brixen | ok, sum bignum shizit be whack |
| 16:46:35 | headius | brixen: yeah, that's what I figured |
| 16:46:39 | headius | has happened previously |
| 17:49:44 | rue | Hm, got an error building exts |
| 18:02:34 | rue | It does not fail on build:debug, just build |
| 18:02:45 | evan | whats the error |
| 18:04:17 | rue | "no method 'unshift' on an instance of NilClass" near (unknown):0 |
| 18:04:41 | rue | Then an error about missing #to_description...but I was not fully up to head |
| 18:05:34 | evan | hm |
| 18:06:34 | rue | Rebuilding now to check |
| 18:14:50 | rue | Same on HEAD |
| 18:15:38 | rue | http://gist.github.com/104554 |
| 18:16:02 | rue | I will poke at it a while later, mayhaps...doing some MIME stuffs |
| 18:17:02 | evan | ok |
| 18:17:26 | evan | thats pretty strange.. |
| 18:41:51 | rue | :debug is just peachy |
| 18:42:54 | evan | whats weird is no one else gets that |
| 18:56:45 | rue | Something in the compiler is brokended |
| 18:57:14 | evan | not that i'm seeing |
| 18:57:21 | evan | i haven't been able to repro that |
| 19:05:21 | rue | Yeah, it is strange...trying a fresh clone. |
| 19:20:52 | rue | Same. |
| 19:21:10 | evan | so weird. |
| 19:21:27 | rue | Hm, well, I am running the Apple GCC 4.2.1 |
| 19:21:36 | rue | Mayhaps that is the crucial difference? |
| 19:21:40 | evan | maybe |
| 19:21:43 | evan | try with 4.0.1 |
| 19:32:49 | rue | Yep, runs fine on 4.0.1 |
| 19:44:20 | sbryant_work | rue: any optimization flags on 4.2.1? |
| 19:45:17 | rue | Yeah, it is -O2 when just building |
| 19:45:56 | sbryant_work | does it run fine without it? |
| 19:46:09 | rue | build:debug is -O0 |
| 19:46:23 | rue | Also -fno-inline, though, poor inlining might be an issue too |
| 19:46:35 | rue | And, yes, it runs fine on :debug |
| 19:46:58 | sbryant_work | The obvious solution is to set gcc on fire. |
| 19:47:46 | evan | we should not be using -finline |
| 19:47:58 | evan | it has given us slower code a lot |
| 19:49:13 | rue | On debug, 'course we should |
| 19:49:20 | rue | Oh, nm, misread. |
| 19:49:45 | rue | Although I also said -fno-inline, not -finline :) |
| 19:53:18 | evan | yeah |
| 19:53:40 | evan | just wanted to be clear that we should not use -finline in any mode |
| 20:08:58 | sbryant_work | why is that? |
| 21:14:06 | headius | evan: ping |
| 21:14:12 | headius | got a fun one for you |
| 21:15:29 | headius | ➔ ../rubinius/bin/rbx -e "def method_missing(*); super; end; foo" |
| 21:15:30 | headius | An exception has occurred: |
| 21:15:30 | headius | No method 'foo' on an instance of Object. (NoMethodError) |
| 21:15:42 | headius | that should be a NameError |
| 21:16:32 | evan | PONG |
| 21:16:44 | evan | yeah |
| 21:16:46 | evan | because it's private |
| 21:16:47 | evan | i know. |
| 21:16:51 | evan | i busted that at one point |
| 21:17:10 | evan | to fix it, I need to add first class Message objects to the system |
| 21:17:18 | evan | so that method_missing can be passed the full info about the send |
| 21:20:17 | headius | I don't think it's worth it |
| 21:20:43 | evan | what is? |
| 21:20:51 | evan | even bothering? |
| 21:20:58 | headius | the problem here is that you have to pass it through two levels |
| 21:21:01 | headius | not one |
| 21:21:18 | headius | the fact that it was a vcall gets lost because of the intermediate m_m and super |
| 21:21:23 | evan | ah |
| 21:21:27 | evan | very true |
| 21:21:30 | evan | how does MRI detect that |
| 21:21:39 | headius | MRI maintains separate thread state for "last call type" |
| 21:21:50 | headius | which I eliminated in 1.2 and broke this |
| 21:21:58 | evan | perhaps it's ok to be broken. |
| 21:22:12 | headius | yeah, I think it is...NameError for vcall is a relic of it being ambiguous in the past |
| 21:22:18 | evan | after all: |
| 21:22:24 | evan | >> NoMethodError.ancestors |
| 21:22:24 | evan | => [NoMethodError, NameError, StandardError, Exception, Object, Kernel] |
| 21:22:31 | headius | yeah |
| 21:22:42 | evan | so it is actually raising a NameError :) |
| 21:22:44 | headius | the reason vcall produces NameError is because it used to check first if the variable was defined |
| 21:22:51 | evan | right |
| 21:22:53 | headius | now it's unambiguous in all impls |
| 21:22:55 | evan | but no one does that anymore |
| 21:23:07 | headius | this broke a spec in rspec |
| 21:23:17 | headius | I just found this reduction and I'm going to say we won't fix it |
| 21:23:30 | headius | because it requires passing call type all the way through multiple levels of calls |
| 21:23:59 | evan | agreed. |
| 21:24:08 | evan | i still want first class Message objects though :) |
| 21:24:54 | headius | heheh |
| 21:25:02 | rue | Without O2 it is not failing on 4.2.1...trying O1 still, then time to head out |
| 21:25:04 | headius | what exactly do you mean by that? |
| 21:25:12 | evan | rue: ok |
| 21:25:15 | rue | Builtins? |
| 21:25:26 | evan | headius: like |
| 21:25:30 | evan | if you define |
| 21:25:43 | evan | def method_missing_better(msg) |
| 21:25:44 | evan | then |
| 21:25:48 | evan | msg.name # => :foo |
| 21:25:55 | evan | msg.args # => [...] |
| 21:26:01 | evan | etc. |
| 21:26:55 | evan | and then |
| 21:26:58 | evan | msg.apply obj |
| 21:27:19 | headius | mmm...so this is a rubinius-specific thing? |
| 21:27:31 | evan | not if you decide to implement it |
| 21:27:32 | evan | :) |
| 21:27:36 | headius | heheh |
| 21:27:43 | evan | just spit balling |
| 21:27:45 | evan | it's not implemented |
| 21:27:54 | headius | primarily useful for m_m I suppose....better information |
| 21:28:06 | headius | that would solve this problem |
| 21:28:14 | headius | super would pass through the original message |
| 21:28:32 | headius | as with most headaches in ruby, it's the implicitness that's the problem |
| 21:29:26 | rue | O1 is fine too |
| 21:29:46 | evan | headius: right |
| 21:30:03 | evan | basically, i've always wanted them for 2 reasons |
| 21:30:11 | evan | 1) they convey info better |
| 21:30:26 | evan | 2) they avoid the issues of having to constantly splat and unsplat to forward things on |
| 21:32:03 | evan | the protocol for method_missing is a little too simple for my tastes |
| 21:32:16 | evan | passing an explicit object is better for this |
| 21:32:47 | headius | yes |
| 21:33:10 | headius | in order to eliminate that thread state what I do now is have several different method_missing types that handle particular types of calls |
| 21:33:42 | headius | so when dispatching eventually to Kernel.method_missing, I don't actually dispatch to it; I select the right method_missing method object based on the incoming call type, and it does things only one way |
| 21:34:01 | evan | what are the possible call types? |
| 21:34:10 | evan | you mean like vcall, fcall, etc |
| 21:34:38 | headius | this allows inlining to work even in the presence of method_missing, since the resulting method retrieved is always either the found method, a custom method_missing (which can't look at call types) or a core method_missing appropriate to the call type |
| 21:34:44 | headius | yes |
| 21:34:58 | headius | really only vcall is important, though super produces a different error message |
| 21:35:22 | evan | right |
| 21:35:22 | headius | so the reason it's breaking now for us is because I assume custom method_missing impls can't use call type, so I don't provide it |
| 21:35:33 | evan | yep yep. |
| 21:35:36 | headius | but this case in rspec has both a custom method_missing and a super |
| 21:35:41 | headius | oh well |
| 21:35:57 | evan | just can't win :D |
| 21:36:05 | headius | not fixable without your method objects or some kind of out-of-band data like MRI |
| 21:36:14 | evan | right |
| 21:36:14 | headius | er message |
| 22:39:31 | boyscout | Replaced the recursive Integer#bits implementation with an iterative one. - a2e1519 - Tilman Sauerbeck |
| 22:42:46 | boyscout | CI: a2e1519 success. 2647 files, 10140 examples, 32380 expectations, 0 failures, 0 errors |