Index

Show enters and exits. Hide enters and exits.

00:28:19boyscoutAdd tags for bad/unstable specs - 3a33086 - Evan Phoenix
00:28:19boyscoutRemove VMManager, simply SharedState/VM workflow - 41400f4 - Evan Phoenix
00:30:28boyscoutCI: Build 41400f4 failed. http://ci.rubini.us/rubinius/builds/41400f47c4b9c582d1d7ba15f5bcc4673d31de37
00:30:52headiusFAILED
00:30:56headiusYOU'RE A FAILURE
00:33:57evanruro
00:34:15rueevan: Hm, maybe un-magic-numberize the...stack size?
00:34:19evanah shit
00:34:26evanpthread_t is typedef'd to int on linux
00:34:27evanfail.
00:34:34evanok, ok.
00:34:35evanfixing.
00:35:41rueJust have the NativeThread own it altogether?
00:36:19evanit == ?
00:36:52rueThe pthread
00:37:32evanit does
00:37:37evanvia thread::Thread
00:37:40evanit's the same
00:41:57rueI mean why would you pass in a pthread
00:42:52evanthe default thread
00:42:56evanthe initial one
00:47:07boyscoutRework how pthread_t is passed down - d0dbabb - Evan Phoenix
00:51:59boyscoutCI: Build d0dbabb failed. http://ci.rubini.us/rubinius/builds/d0dbabbf623e08befdb845cd458ad6370804619c
00:52:22evanGR.
00:56:59boyscoutCI: d0dbabb success. 2647 files, 10131 examples, 32370 expectations, 1 failure, 3 errors
00:57:59evansweet
02:34:45brixendur, I forgot ci.rubini.us has the CI run output
02:35:10brixenwhy capi thread spec, did you start failing?
03:10:34brixenI 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:40evanyeah
03:18:46evanprobably not a bad idea
03:19:35brixennot a substitute for proper specs, but a clean sweep mechanism
03:19:42evanright
03:20:21evani'm adding a proper Configuration class
03:20:23evanlike we talked about
03:20:31brixenahh ok
03:20:33brixencool
03:20:40evani should be working on the jit
03:20:46brixenyes :)
03:20:47evanbut i was refactoring this and it was just so glaring
03:20:57brixenyeah, it's needed for sure
03:21:19brixenI'm really happy overall with the arch and code atm
03:21:24evanme too
03:21:57brixenI've been holding off writing the roadmap email while I discover some other issues fixing stuff
03:22:08brixenbut overall, things are pretty polished atm
03:22:18brixenI'll write it up tonight
03:22:47brixenI've added a couple things
03:24:32boyscoutRework capi thread specs again. - 54dfc8e - Brian Ford
03:24:32boyscoutSome fix-ups for socket specs. - 72d5ffe - Brian Ford
03:24:46brixenwhat say ye now boyscout
03:26:53boyscoutCI: 72d5ffe success. 2647 files, 10140 examples, 32380 expectations, 0 failures, 0 errors
03:27:00evansuccess!
03:30:51brixenyay
03:31:28brixenI feel incomplete when boyscout is unhappy
05:59:57boyscoutAdd real Configuration infrastructure - 37dc489 - Evan Phoenix
06:00:16evanbrixen: check that out
06:00:25evanbrixen: you around?
06:00:57boyscoutCI: Build 37dc489 failed. http://ci.rubini.us/rubinius/builds/37dc48942cc0b10894ff33ef32a798106c0d8ffb
06:01:01evanBOOO
06:01:12evanBAH
06:03:48boyscoutAdd missing includes - 0cf15c9 - Evan Phoenix
06:04:08boyscoutCI: Build 0cf15c9 failed. http://ci.rubini.us/rubinius/builds/0cf15c9767ee00e6ea47e1d8aca214c11babb6ee
06:04:22evanblah
06:06:49boyscoutMore include fixes for linux - ae75e2f - Evan Phoenix
06:07:16brixenchecking..
06:07:41evanmainly vm/configuration.hpp
06:08:01evanthats my cut at centralizing and unified the configuration
06:08:11evanyou can see that 2 lines are needed for each variable added
06:08:19evanbut they're automatically imported after that
06:08:40brixenk
06:08:48evanif you pass -Xconfig.print
06:08:56evanit will print out the current configuration
06:08:59evanbefore it runs
06:09:01brixenoh nice
06:09:05brixenvery handy
06:09:10evanyep :D
06:14:18boyscoutCI: ae75e2f success. 2647 files, 10140 examples, 32380 expectations, 0 failures, 0 errors
07:07:39hanrelanhi
07:07:50hanrelani'm having trouble getting rubinius to compile
07:07:56hanrelanit might be because i'm using ubuntu 9.04
07:08:15hanrelan./lib/ffi/struct_generator.rb:85:in `calculate': Compilation error generating struct digest (struct env_md_st):
07:08:16hanrelan /tmp/digest.struct_generator20090430-11434-99bzti-0:2:30: error: openssl/ossl_typ.h: No such file or directory
07:08:16hanrelan /tmp/digest.struct_generator20090430-11434-99bzti-0:3:25: error: openssl/evp.h: No such file or directory
07:08:20hanrelanis the error i'm getting
07:08:30hanrelani've tried googling it but haven't found anything
07:08:36hanrelanis there a library i'm missing?
07:10:43hanrelanrbx -v still works
07:10:50hanrelanbut it doesn't pass the bin/mspec ci
07:10:51erikhopenssl?
07:10:56erikhand devel headers?
07:11:06erikhthat's my guess from the output, but I'm new to rubinius
07:11:27brixenyeah, that's probably it
07:11:37brixenI'm running it fine on jaunty 32bit
07:11:38hanrelanyup i tried installing any openssl related package
07:12:03hanrelanunless it's libcrypt
07:12:19hanrelanbrixen, do you have an openssl-dev installed? i can't find it in my repositories
07:12:32brixenhanrelan: le'me boot my vm and I'll check
07:13:01hanrelanthanks
07:13:08hanrelanthis is my first day at rubinius
07:13:14hanrelanbut i think i fixed a failing spec
07:13:21brixencool!
07:13:34hanrelanjust wanted to make sure i'm not causing regressions so don't want to commit with running the ci specs
07:13:36hanrelan:)
07:13:44brixenright
07:15:21hanrelanah it may be libssl-dev
07:15:24brixenhanrelan: openssl and libssl-dev
07:15:26brixenyep
07:15:54hanrelangreat! it's working
07:15:58hanrelanthanks
07:16:17hanrelando you run jaunty within vbox or something?
07:18:00brixenyep
07:18:05erikhvbox rules.
07:18:10brixentotally
07:18:23erikhheh, i'm on a windows box, running irssi in an arch vbox right now ;)
07:18:33brixennice
07:18:42erikhno dual booting and I can stillg ame
07:18:59erikh(and hack)
07:19:12hanrelani use wine to play starcraft
07:19:14hanrelanworks really well
07:19:44hanrelanneed vbox for ie6 and 7 though (web developer)
07:50:33evanwonderful
07:50:49evansinatra uses catch/throw and REQUIRES that catch/throw aren't treated as exceptions
07:50:53evanwonderful.
07:50:54evanthanks guys.
07:50:57evanle sigh.
12:12:48rueRequires how?
12:15:49ruethrow/catch has some very peculiar unwind semantics
15:50:49headiuswoah
15:51:08headiusthe most recent pi script appears to explode rbx
15:51:20headiusimmediately consumed all my available memory
15:51:27headiusfyi
16:14:15sbryant_workSounds like some awesome leaking
16:23:58rueThat is intentional
16:24:19rueIt 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:52brixenheadius: where is this script?
16:26:18headiusbrixen: posted on ruby ml, latest quiz thread
16:27:49brixenk
16:34:32brixenheadius: oh, have a link handy? I only read ruby-core ml
16:34:52headiusI think so
16:35:10headiushttp://www.ruby-forum.com/attachment/3635/pi.rb
16:35:22brixenzweet, thanks
16:35:22headiusrun with e.g. bin/rbx pi.rb 100000
16:35:27headiusbloze up gud for me
16:35:31brixenheh
16:39:30brixenok, sum bignum shizit be whack
16:46:35headiusbrixen: yeah, that's what I figured
16:46:39headiushas happened previously
17:49:44rueHm, got an error building exts
18:02:34rueIt does not fail on build:debug, just build
18:02:45evanwhats the error
18:04:17rue"no method 'unshift' on an instance of NilClass" near (unknown):0
18:04:41rueThen an error about missing #to_description...but I was not fully up to head
18:05:34evanhm
18:06:34rueRebuilding now to check
18:14:50rueSame on HEAD
18:15:38ruehttp://gist.github.com/104554
18:16:02rueI will poke at it a while later, mayhaps...doing some MIME stuffs
18:17:02evanok
18:17:26evanthats pretty strange..
18:41:51rue:debug is just peachy
18:42:54evanwhats weird is no one else gets that
18:56:45rueSomething in the compiler is brokended
18:57:14evannot that i'm seeing
18:57:21evani haven't been able to repro that
19:05:21rueYeah, it is strange...trying a fresh clone.
19:20:52rueSame.
19:21:10evanso weird.
19:21:27rueHm, well, I am running the Apple GCC 4.2.1
19:21:36rueMayhaps that is the crucial difference?
19:21:40evanmaybe
19:21:43evantry with 4.0.1
19:32:49rueYep, runs fine on 4.0.1
19:44:20sbryant_workrue: any optimization flags on 4.2.1?
19:45:17rueYeah, it is -O2 when just building
19:45:56sbryant_workdoes it run fine without it?
19:46:09ruebuild:debug is -O0
19:46:23rueAlso -fno-inline, though, poor inlining might be an issue too
19:46:35rueAnd, yes, it runs fine on :debug
19:46:58sbryant_workThe obvious solution is to set gcc on fire.
19:47:46evanwe should not be using -finline
19:47:58evanit has given us slower code a lot
19:49:13rueOn debug, 'course we should
19:49:20rueOh, nm, misread.
19:49:45rueAlthough I also said -fno-inline, not -finline :)
19:53:18evanyeah
19:53:40evanjust wanted to be clear that we should not use -finline in any mode
20:08:58sbryant_workwhy is that?
21:14:06headiusevan: ping
21:14:12headiusgot a fun one for you
21:15:29headius➔ ../rubinius/bin/rbx -e "def method_missing(*); super; end; foo"
21:15:30headiusAn exception has occurred:
21:15:30headius No method 'foo' on an instance of Object. (NoMethodError)
21:15:42headiusthat should be a NameError
21:16:32evanPONG
21:16:44evanyeah
21:16:46evanbecause it's private
21:16:47evani know.
21:16:51evani busted that at one point
21:17:10evanto fix it, I need to add first class Message objects to the system
21:17:18evanso that method_missing can be passed the full info about the send
21:20:17headiusI don't think it's worth it
21:20:43evanwhat is?
21:20:51evaneven bothering?
21:20:58headiusthe problem here is that you have to pass it through two levels
21:21:01headiusnot one
21:21:18headiusthe fact that it was a vcall gets lost because of the intermediate m_m and super
21:21:23evanah
21:21:27evanvery true
21:21:30evanhow does MRI detect that
21:21:39headiusMRI maintains separate thread state for "last call type"
21:21:50headiuswhich I eliminated in 1.2 and broke this
21:21:58evanperhaps it's ok to be broken.
21:22:12headiusyeah, I think it is...NameError for vcall is a relic of it being ambiguous in the past
21:22:18evanafter all:
21:22:24evan>> NoMethodError.ancestors
21:22:24evan=> [NoMethodError, NameError, StandardError, Exception, Object, Kernel]
21:22:31headiusyeah
21:22:42evanso it is actually raising a NameError :)
21:22:44headiusthe reason vcall produces NameError is because it used to check first if the variable was defined
21:22:51evanright
21:22:53headiusnow it's unambiguous in all impls
21:22:55evanbut no one does that anymore
21:23:07headiusthis broke a spec in rspec
21:23:17headiusI just found this reduction and I'm going to say we won't fix it
21:23:30headiusbecause it requires passing call type all the way through multiple levels of calls
21:23:59evanagreed.
21:24:08evani still want first class Message objects though :)
21:24:54headiusheheh
21:25:02rueWithout O2 it is not failing on 4.2.1...trying O1 still, then time to head out
21:25:04headiuswhat exactly do you mean by that?
21:25:12evanrue: ok
21:25:15rueBuiltins?
21:25:26evanheadius: like
21:25:30evanif you define
21:25:43evandef method_missing_better(msg)
21:25:44evanthen
21:25:48evanmsg.name # => :foo
21:25:55evanmsg.args # => [...]
21:26:01evanetc.
21:26:55evanand then
21:26:58evanmsg.apply obj
21:27:19headiusmmm...so this is a rubinius-specific thing?
21:27:31evannot if you decide to implement it
21:27:32evan:)
21:27:36headiusheheh
21:27:43evanjust spit balling
21:27:45evanit's not implemented
21:27:54headiusprimarily useful for m_m I suppose....better information
21:28:06headiusthat would solve this problem
21:28:14headiussuper would pass through the original message
21:28:32headiusas with most headaches in ruby, it's the implicitness that's the problem
21:29:26rueO1 is fine too
21:29:46evanheadius: right
21:30:03evanbasically, i've always wanted them for 2 reasons
21:30:11evan1) they convey info better
21:30:26evan2) they avoid the issues of having to constantly splat and unsplat to forward things on
21:32:03evanthe protocol for method_missing is a little too simple for my tastes
21:32:16evanpassing an explicit object is better for this
21:32:47headiusyes
21:33:10headiusin 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:42headiusso 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:01evanwhat are the possible call types?
21:34:10evanyou mean like vcall, fcall, etc
21:34:38headiusthis 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:44headiusyes
21:34:58headiusreally only vcall is important, though super produces a different error message
21:35:22evanright
21:35:22headiusso 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:33evanyep yep.
21:35:36headiusbut this case in rspec has both a custom method_missing and a super
21:35:41headiusoh well
21:35:57evanjust can't win :D
21:36:05headiusnot fixable without your method objects or some kind of out-of-band data like MRI
21:36:14evanright
21:36:14headiuser message
22:39:31boyscoutReplaced the recursive Integer#bits implementation with an iterative one. - a2e1519 - Tilman Sauerbeck
22:42:46boyscoutCI: a2e1519 success. 2647 files, 10140 examples, 32380 expectations, 0 failures, 0 errors