Index

Show enters and exits. Hide enters and exits.

00:03:13wdperson enters the room.
00:04:30seydarso you don't happent to be well versed in the ways of generating C code, do you?
00:04:58lstoll enters the room.
00:05:15djwhittseydar: read the logs headius has been talking about that a bit
00:05:42seydarnot cool! _I_ wanted to do that
00:05:45lstoll leaves the room.
00:05:55seydarmy life is meaningless
00:05:58lstoll enters the room.
00:06:47djwhittseydar: I think he's just working on proof of concept stuff right now
00:06:57djwhittseydar: I'm sure there will be plenty for you to do
00:07:19seydarstill, i can't even get the proof of concept down
00:07:27seydari feel like i need to know more C
00:07:37seydarso in the car today, i was like "Ruby -> Haskell!"
00:07:49djwhittproof of concept might be the hardest part
00:07:58djwhittonce you have code to work with I imagine it'll be easier
00:08:11headiusthis is doing most of the typing logic for you
00:08:50headiuspastie
00:09:02pastiehttp://pastie.org/170029 by headius.
00:10:01headiusthere's much better abstraction to be done, but that's basically what you implement for a given backend
00:10:15seydarwaitwaitwait
00:10:28seydarsince when has duby produced legitamite Java code?
00:11:16headiuswell it always has, but the first prototype produced JVM bytecode directly
00:11:34wmoxam enters the room.
00:11:34headiusthis is new work now with better type inference logic
00:11:39seydari absolutely fail
00:11:43MenTaLguY enters the room.
00:12:00headiusproducing C or Java code is harder than producing bytecode though...lots of text juggling
00:12:44seydaralthough to make myself feel better, i DID come up with the idea to piggy back on jruby and then get something stable to use to build the rest
00:13:11MenTaLguYhello
00:13:41lstoll leaves the room.
00:13:54evanMenTaLguY: allo
00:14:41headiusthis only depends on JRuby for the parser at the moment
00:14:58headiusthough obviously the JVM compiler backend will also depend on JRuby/JVM
00:15:25mark___ enters the room.
00:15:27seydarhmm.... jruby + java llvm?
00:16:36seydarnevermind. useless idea
00:18:25tarcierithere's a java frontend to llvm?
00:18:40seydarso headius, that's SERIOUSLY almost all that needs to be done?
00:19:18headiuswell, other than additional work on the inference logic and plugins to support various types and calls, yeah
00:19:56headiusthis isn't valid C or Java code yet either since there's some missing semicolons and no return keywords
00:20:01headiusbut it's along the right lines
00:20:55seydarbeautiful
00:22:03seydari pretty much love you now
00:23:12rubuildius_amd64Federico Builes: cb69bdade; 1780 files, 6201 examples, 20475 expectations, 0 failures, 0 errors; http://rafb.net/p/UB7Tzk38.html
00:23:13rubuildius_amd64Michael S. Klishin: 7131328bc; 1780 files, 6200 examples, 20474 expectations, 0 failures, 0 errors; http://rafb.net/p/bgMnpC37.html
00:23:45headiuswell, I don't know how much time I'll spend on the C stuff
00:24:02headiusI'm tossing in one more change now to show the modified type decl syntax
00:24:23fbuilesvrubuildus times keep climbing, yesterday it was at 1800
00:24:47djwhittfbuilesv: well, those are probably extra slow because there were two running at once
00:25:14fbuilesvdjwhitt: true
00:26:31djwhittso, how can I profile a ci run?
00:26:32seydaralso, there are like 6200 tests
00:26:43seydartime bin/mspec ci?
00:26:52djwhittthat's not profiling
00:27:04djwhittI want to see what functions are chewing up all that time
00:27:05brixendjwhitt: bin/mspec ci -T -p
00:27:09seydaroh right. profile != time
00:27:39djwhittbrixen: thanks,
00:27:55brixendjwhitt: if you want to use the -ps -pss, you need to give it an arg, e.g. bin/mspec ci -T '-ps 10'
00:28:00seydargrrr safari 3.1 has literally broken nearly every application of my computer. thank god terminal still works. must fix prebinding
00:28:02seydar leaves the room.
00:30:43djwhittbrixen: what does the arg do?
00:31:36headiuspastie
00:32:03pastiehttp://pastie.org/170034 by headius.
00:32:22headiusthat's the current modified syntax for arg decl
00:32:42headiusnot ruby-compatible, but the transform will use whichever syntax
00:35:56brixendjwhitt: it limits the results to that many entries. without it, you'll just get an irb prompt
00:36:08djwhittbrixen: ah, ok
00:46:15headiushttp://pastie.org/170037
00:46:22headiusso there it is working with the altered syntax
00:46:32headiusdunno if that's interesting outside JRuby or not, but it's nicer than the hash
00:47:21cored enters the room.
00:47:36evandoes that work normally?
00:47:38evanie, parse
00:48:06headiusno
00:48:17headiusbut it's not a complicated change
00:48:19evandef fib(n = Type(:fixnum))
00:48:23evanis a syntax I like
00:48:28headiusI want to support optional args
00:48:36headiusprobably not with the arrow though
00:48:40headiusmaybe with colon
00:48:55headiusdef fib(a: :fixnum = 1)
00:49:06evantoo many colons
00:49:13evanactually...
00:49:17evani wonder if
00:49:19headiusit can be def fib(a:fixnum = 1) right now as well
00:49:23evandef fib(a::fixnum)
00:49:25evanparses...
00:49:38evandarn.
00:49:38headiusthe parser just inserts that type of node into the AST as a child of TypedArgumentNode
00:49:55headiusa => <whatever> works in tom's modified parser already
00:50:18headiusdef foo(a => :fixnum, b => a)
00:50:24evanyou should let colon2 appear as an arg
00:50:26headiusnot that you'd want most of those to work
00:50:31evanthats an easy change
00:50:38evanthen you can do a::fixnum
00:50:52headiusperhaps
00:51:08headiusit makes typed optional args easier for sure
00:51:17headiusa::fixnum = 1
00:51:21evanyep
00:51:31evanit looks nice because it appears to decorate the arg name
00:51:36headiusa => :fixnum = 1 is a little cumbersome
00:51:43evanrather than standing apart from it
00:51:47evanwhich is what the => does
00:52:20enebop3k is adding an annotation system and I wonder if this could be Ruby 2 annotation system
00:52:37eneboJust a way to store additional stuff about a parm
00:52:42evanusing the old [] before the method syntax?
00:52:47eneboWhat people do with it would be limited by the API
00:53:01headiusthe p3k syntax isn't really limited to the args though
00:53:17headiusit would be more like annotate( ..... ); def fib(a) ...
00:53:22eneboyeah true...it perhaps could be expanded in some way
00:53:35eneboyou can already do that in Ruby but it is ad-hoc of course
00:53:44headiuswith some parser tweaks we could make it explicit
00:54:01headius@( anno1, anno2, anno3); def fib(a) ..
00:54:09eneboclass Foo < Bar => :some_annotations
00:54:10headiusI don't think that parses now
00:54:42eneboactually that has the same problem as trying to use aSSOC for return type values
00:54:47enebowithout massive changes
00:54:59headiusevan: [] before method would work too
00:55:02headius[] or {}
00:55:21headiusrequires a little more tree-walking than in-body or in-args-list
00:55:47headiusenebo had the idea that you could do this too...
00:56:07headiusdef foo(a); 1; end; def bar(b => foo); ....
00:56:34headiusthe args-list foo would be compiled as a vcall node, and basically this would mean "make b's type whatever foo returns"
00:56:46tmornini leaves the room.
00:56:56headiusthat also parses with this change, and would just require transformation logic to wire up
00:56:59headiusbbiab, dinner
01:12:18jrun enters the room.
01:13:55lstoll enters the room.
01:16:22rueevan, drbrain: I am adding external lib loading back to FFI. Separate method from #attach_method for now
01:21:50evanok
01:23:34imajes_ enters the room.
01:25:11djwhittargh! my ci run finally finished and I got this: http://pastie.org/170054
01:26:16rueOo, that sucks. You are still trying to find the 64-bit issue?
01:27:00djwhittrue: yeah, I'm trying to track down why it's running so slowly now on Gentoo 64
01:27:25rueevan: I dunno if you saw it in scrollback but it looks like a completely unrelated change caused a huge regression in a first-time CI run (which might imply a compiler issue)
01:27:36lachie enters the room.
01:27:41imajes__ leaves the room.
01:27:43evanwhen? where?
01:28:06rueevan: Eep, *on 64-bit*
01:28:19cremesit's running slow on osx ppc as well; running the latest on osx intel completes in a reasonable time period though
01:28:33djwhittevan: it appears to have started here: http://git.rubini.us/?p=code;a=commit;h=7f47287846fa4b7327639139068cce370bbf56f9
01:28:55evanpretty strange place to start
01:28:57djwhittevan: I have no idea why that commit would make any difference at all, but everything is nice on snapping on the previous commit
01:28:59djwhittyeah
01:29:02agile enters the room.
01:29:15djwhittI'll check again just to make sure I'm right about that
01:29:20rueYep, and everything seems normal on all other platforms
01:29:29brixendjwhitt: I get 800-3300 times on the commits before the be_empty matcher commits
01:29:33brixenfwiw
01:29:41evanwhats the error?
01:29:52evanor is it just taking a long time?
01:29:59djwhittevan: just taking a long time
01:30:02brixenI'll give $20 to the person who shows that the problem is in be_empty matcher :)
01:30:03djwhittlike 1900 secs
01:30:05evanhow long?
01:30:34rueOh, I thought you guys triangulated it
01:30:41femtowin enters the room.
01:30:42brixenrue: I could not, no
01:30:53anonyDid someone need me? the window was going crazy with notifications from this channel
01:31:14rueanony: Have you seen my mouse? :D
01:31:24anonyrue, no :(
01:31:24brixenheh
01:31:38imajes leaves the room.
01:31:43rueanony: I do not think anyone has been pinging you in all seriousness though
01:32:01anonyI gotcha
01:32:08anonybank time
01:34:02femtowinfor this, shotgun/rubinius -dc -e "Ruby.asm ..." , why doesn't it work?
01:34:03brixenawesome, finally some headway: bm_so_count_words ~18 sec -> 4.22 sec
01:34:13evannice
01:34:19evanfemtowin: it's been removed.
01:34:28evanit was a compiler1-ism
01:34:57evanfemtowin: the new form is
01:34:59femtowinso it I want to debug something, do I have a way?
01:35:19evanRubinius.asm { push :true }
01:35:28evanthe code in the block is executed at compile time
01:35:35evanwith self as the code generator object
01:35:48evanfemtowin: why would you use Ruby.asm to debug something?
01:36:10ezmobiusbrixen: what made that speed improvement?
01:36:17femtowinJust a ask, because I run into the Rubinius.asm something
01:36:35evanfemtowin: i don't follow ou.
01:36:36evanyou
01:36:40femtowinSo I ran into this post, http://donttreadonme.co.uk/rubinius-irc/archive/2007_Feb_03.html
01:36:49brixenezmobius: a number of things, some better ruby and 3 new primitives that can be composed for a number of different methods
01:36:50femtowinthis post says something about Ruby.asm
01:37:01ezmobiuscool
01:37:06femtowinbut maybe that's not matter,
01:37:07antaresevan: by the way may I get rights to edit LH pages? I want to maintain literature references page
01:37:14evansure
01:38:03evanfemtowin: thats quite old now
01:38:22brixenezmobius: http://pastie.org/170058
01:38:42brixenezmobius: I'm rewriting #tr and friends now
01:39:11brixenezmobius: mostly, we were relying on Regexp way to much, and hence doing a bunch of expensive method calls when simple loops would do
01:39:23ezmobiussweetness
01:39:28antaresbrixen: how do you usually profile Ruby code run by Rubinius?
01:39:58brixenantares: these are just benchmarks
01:40:08brixenantares: but I use the -p option to shotgun, usually
01:40:30antaresbrixen: thanks, will investigate
01:40:36ezmobiusbrixen: is this stuff commited already?
01:40:41ruebrixen: Nice perf
01:40:54brixenantares: e.g. shotgun/rubinius -p some_script.rb
01:41:09brixenezmobius: not yet, hopefully tonight after #tr is done
01:41:13brixenrue: thanks :)
01:41:14ezmobiuscool
01:41:18antaresbrixen: gotcha
01:41:38brixenezmobius: I know tom runs that one bench, I want to see him double take the monitor :)
01:41:44ezmobius;)
01:42:05femtowinyes, from the documentation, you said you the bytecode generation, is from Sexp-->AST-->bytecode
01:42:12djwhittbrixen: I just got a first ci run after compile to complete in 138secs on the commit right before the be_empty matcher was committed
01:42:20femtowinbut, from the grammar.y, I see a lot of code, directly creating node
01:42:34femtowinit seems, the parser --> AST
01:42:38evanfemtowin: thats for creating the sexp
01:42:40femtowindirectly
01:42:43brixendjwhitt: well, I could get ~120, but often got > 800, so I couldn't isolate it
01:42:43evanthats opaque to the rest of the system
01:42:50rueUgh, I wish LH finally started making sense
01:43:02brixendjwhitt: and, I kept getting "Killed" output after the Generator specs ran
01:43:05evanthe node's in grammar.y are never seen by anything outside of grammar.y and grammar_runtime.c
01:43:14rueSo we need to add antares to the account, I think
01:43:16djwhittbrixen: I doubt it's the be empty matcher that caused the problem but it definitely pushed something over the edge on my machine
01:43:20brixendjwhitt: also, if I only rm'd the spec .rbc, I got fast runs
01:43:42djwhittbrixen: I did rake distclean followed by rebuild + ci run
01:43:54brixendjwhitt: I tried leaving the spec .rbc and rm'ing the mspec .rbc, but I got "Killed" on that and didn't have more time to look at it
01:44:01femtowinyou mean, outside the grammar.y and grammar_runtime.c, the other parts sees the parser result as a Sexp?
01:44:06evanantares: ok, you have access to pages now
01:44:09femtowinand the grammar.
01:44:16antaresevan: thank you
01:44:19djwhittbrixen: I never see "Killed"
01:44:28evanfemtowin: yeah, but just as Array instances
01:44:33djwhittbrixen: how much memory do you have available on the system you're running on
01:44:33evanthere is no Sexp object in rubinius
01:44:34femtowinand grammar.y translates node to Sexp
01:44:44evanyes
01:44:52evanand the ruby code takes over from there
01:45:00djwhittbrixen: I mean the gentoo system you were testing on
01:45:01brixendjwhitt: it certainly could be cause by the method defined for be_empty. have you tried just commenting that def and running?
01:45:13brixendjwhitt: hmm, 1gb I think
01:45:23femtowinyes, evan, thanks for the explanation
01:45:29evanfemtowin: no problem.
01:45:29brixenevan: how much mem is on the ey slice I have access to?
01:45:34evanum.
01:45:38evanwhat does free() say?
01:45:50femtowinactually, I see the grammar.y a lot of resemlance to c ruby's parse file
01:46:00evanbrixen: looks like 640m
01:46:07evanfemtowin: it is c ruby's parse.y
01:46:08brixenevan: yep, thanks
01:46:20evanfemtowin: I extracted it a few years ago
01:46:21femtowinbecause c ruby's parse file, that file, generating a lot of nodes, so I assume rubinius doing the same thing
01:46:30evanand made it standalone
01:46:34evanso we could import it into rubinius
01:46:51evanit generates Node struct's, yes, but thats all internal to it
01:47:06evanthe tree of Node structs are passed to add_to_parse_tree, to create the sexp
01:47:14djwhittbrixen: you mean the be_empty method on Object?
01:47:36brixendjwhitt: this is what I was seeing going back a bunch of commits and doing "rake clean build; bin/mspec ci": http://pastie.org/170065
01:47:40femtowinyes, and for Sexp, is yourself's sexp different from the ruby_parser project (or the ParseTree project it uses)
01:47:49brixendjwhitt: yeah, just the method def for #be_empty
01:47:57evanfemtowin: no, same sexp
01:48:06femtowinbecause what I seen is, from your guys Sexp output, it has newline node, and ruby_parser project doesn't have that one
01:48:07brixendjwhitt: i.e. leave all of the commit except for that method def
01:48:07evanfemtowin: there are very minor differences, but it's almost exactly the same
01:48:07djwhittbrixen: ok, I'll give that a try
01:48:15djwhittbrixen: yeah, gotcha
01:48:15brixenk
01:48:16femtowindoesn't have that newline node
01:48:23evanfemtowin: it's an option to turn them on in ruby_parser and parse_tree
01:48:40evanor, if they're not in ruby_parser, it's because zenspider hasn't added them yet
01:49:39mark___ leaves the room.
01:52:21enebo leaves the room.
01:52:32femtowinI was trying to follow the Exception sequence
01:52:42femtowinin kernel.rb
01:52:51femtowinthings like this
01:52:52femtowinexc.set_backtrace MethodContext.current.sender unless exc.backtrace
01:52:58lstoll_ enters the room.
01:53:02femtowinRubinius.asm(exc) { |e| e.bytecode(self); raise_exc }
01:53:08evanyep
01:53:29femtowinso actually, MethodContext.current.sender is already an array?
01:53:40femtowinand I don't understand { |e| e.bytecode(self); raise_exc }
01:53:42evanno
01:54:06evanRubinius's Exception#set_backtrace is smarter than MRI's
01:54:22evanit sees if the argument is a MethodContext object, and will generate a backtrace from it
01:54:59evanthe Rubinius.asm part emits raw bytecode, to access stuff you can't get access to otherwise
01:55:25evanin this case, it's pushing the exception on the stack, then emitting the raise_exc bytecode
01:55:30evanso that the VM raises the exception
01:56:29djwhittbrixen: it is that be_empty method that does it
01:56:31femtowinyes
01:58:02evanthats it
01:58:21brixendjwhitt: heh, ok. what's it doing?
01:58:31femtowinevan, can I add your contact? preferly IM,
01:58:58djwhittbrixen: what do you mean? what is that method doing?
01:59:00evani'd prefer to use IRC
01:59:22evanunless there is some specific thing you want to talk about
02:00:16femtowinyes, maybe
02:00:25brixendjwhitt: no, how does defining that method make it go haywire? especially compilation since we both saw normal times if all the spec files were compiled
02:00:32evanlets use IRC for now then.
02:00:52djwhittdjwhitt: oh, heh, no idea yet
02:01:03djwhittoops
02:01:06evanheh
02:01:06brixenheh
02:01:13brixentalking to oneself in channel, nice :D
02:01:23djwhittyeah, I'm getting counseling for it...
02:01:24djwhitthehe
02:01:57brixendjwhitt: I commented out the require in mspec/matchers.rb, waiting for it to compile now
02:01:59lstoll leaves the room.
02:03:40mark___ enters the room.
02:04:31wycatsis there a way to do an eval without the overhead of a binding?
02:05:26evanin normal ruby or in rubinius only?
02:05:51femtowin leaves the room.
02:06:10wycatseither
02:06:15wycatsboth, ideally
02:06:23evanno
02:06:32evanthe overhead of the binding isn't really in the eval
02:06:34evanit's in everything else
02:06:38evankeeping the binding available
02:07:42cored leaves the room.
02:07:48wycatsdamn
02:07:58wycatsI want to be able to make a proc out of a string that doesn't care about its bindings
02:09:07evanand you're worried about the overhead of a binding?
02:09:26wycatsI guess I'm worried about the overhead of eval too :P
02:09:27evantrust me, thats not where your performance is going.
02:09:31jrun leaves the room.
02:09:57wycatswhat I want to be able to do is take a string and make it a lambda (like the interpreter does) as fast as possible
02:10:09evanand the string is always ruby code?
02:10:14evanof any flavor?
02:10:20wycatsright
02:10:23evancoming from where?
02:10:24mark___ leaves the room.
02:10:24VVSiz_ enters the room.
02:10:26wycatsit's fine for it to even be a C string
02:10:38wycatsit comes from a symbol
02:10:42evanno no
02:10:46wycats;)
02:10:48evanwhy do you have a string full of code
02:10:56evanthan you have to eval quickly over and over again
02:10:59wycatsI'm trying to optimize Symbol#to_proc
02:11:06evanhuh?
02:11:11evanthat has zilch to do with eval
02:11:19wycatseval is one technique
02:11:32evandear zeus, i hope not!
02:11:41wycatsit's much faster than the alternatives
02:11:49evanthat can't be
02:11:54evanit can't be faster than using send
02:12:10wycatslemme pull up a benchmark
02:12:27antaresevan: opcodes question. Blue book says there are four special return instructions for self, nil, true and false. I guess they do not operate on top of the stack? Does this apply to Rubinius as well?
02:12:43evanno
02:12:53evanrubinius doesn't use the bluebook instruction set at all
02:13:09antaresevan: ok, thanks
02:13:19evanthere are similaries, but it's not a reimplementation of it's opcode set
02:14:14femtowin enters the room.
02:14:16wycatsweird... send is actually only 50% slower than making it by hand
02:14:35brixendjwhitt: fwiw, after commenting out the require (hence, #be_empty shouldn't be defined), I'm still seeing the super slowdown. head for me is 21b07c9d
02:14:53brixendjwhitt: but I'm gonna grab some food, bbiab...
02:14:57djwhittbrixen: k
02:15:16evanwycats: if you absolutely must, write an C function for Symbol#to_proc
02:15:35evanthat returns a special MRI C proc
02:15:43wycatsevan: that is what I'm going to do
02:15:55wycatsI just can't quite figure out how to write an MRI C proc ;)
02:16:10wycatscan you convert a C func into a proc?
02:16:42evanyep
02:16:44evanrb_proc_new
02:16:52femtowin leaves the room.
02:18:19VVSiz leaves the room.
02:30:43nicksieger leaves the room.
02:31:19nicksieger enters the room.
02:31:41wycats leaves the room.
02:32:11imajes enters the room.
02:33:59jrun enters the room.
02:36:34brother_rspec enters the room.
02:46:04lachie leaves the room.
02:49:08nicksieger leaves the room.
02:50:28jrun leaves the room.
02:51:05antares leaves the room.
02:51:07radarek leaves the room.
02:55:26headiusback again
02:57:18headiusgood lord, you're not really going to implement to_proc as a C extension are you?
02:57:27djwhittis send site profiling broken for anyone else?
02:57:50djwhittsee: http://pastie.org/170110
02:58:49headiusI don't see what's wrong with def to_proc; eval "proc {|x, *args| x.#{to_s}(*args)}"; end if you want to avoid the send
02:59:07MenTaLguYthat's sarcasm, right? :)
02:59:22headiuswell you'd want to cache them of course
02:59:31headiusthere's nothing in the binding that would be in danger
02:59:54headiusdef to_proc @@proc_cache = {}; @@proc_cache[self] = eval ...
03:00:01brixendjwhitt: yeah, I get the same error doing that
03:00:05headius||= rather
03:00:09headiusanyway
03:00:10MenTaLguYpersonally I'd like to see something like Kernel.__send_to__(symbol, object, *args, &block)
03:00:21MenTaLguYthen it could get optimized by JIT
03:00:28MenTaLguYif symbol is known/fixed
03:00:42headiusonly if you allowed the jit to treat __send_to__ specially
03:00:46MenTaLguYsure
03:00:47djwhittbrixen: interestingly it works with simpler code: http://pastie.org/170114
03:00:51headiusI think rubinius is doing that already, but we aren't in JRuby at the moment
03:01:35MenTaLguYif we can get Ruby methods inlined by hotspot, and could prove to hotspot that symbol was constant, that might be enough
03:01:39brixendjwhitt: odd
03:02:02headiusMenTaLguY: yes, I've toyed with adding a special send-aware call site in JRuby for just that purpose
03:02:12headiusso far send appears to be faster than in MRI though, so I didn't do it for 1.1
03:02:25MenTaLguYnods
03:06:42imajes__ enters the room.
03:06:47srbaker enters the room.
03:06:59imajes leaves the room.
03:15:05jtoy enters the room.
03:17:50fbuilesv leaves the room.
03:21:26ezmobius leaves the room.
03:21:49fbuilesv enters the room.
03:23:45chop3 leaves the room.
03:29:02djwhittbrixen: right now I'm running ci on the lastest code with -ps 10 (-ps seems to work fine) perhaps that will shed some light on what's happening
03:34:03headiusis something wrong?
03:35:02djwhittyeah, I see huge slowdowns running ci on the latest code
03:36:03djwhittalso, I just noticed that send site profiling is broken
03:36:37djwhittit seems to have been that way for a long time though
03:36:40loincloth_ enters the room.
03:37:02brixendjwhitt: 866.49 is what I got after rake clean build and commenting the require be_empty line
03:37:09brixendjwhitt: I'll comment the method and do it again
03:37:40djwhittbrixen: weird, why would it be different for you I wonder
03:38:34brixenno idea, other than there are rarely 2 identical gentoo systems in the universe :)
03:39:46djwhittheh, yeah, that's true
03:51:56codpiece leaves the room.
03:54:38lachie leaves the room.
03:55:07brixendjwhitt: after commenting out the method, "rake clean build; bin/mspec ci -fs" was killed in Generator specs. running bin/mspec ci -fs again (i.e. up to Generator already compiled), took 334 sec but finished
03:55:10lachie enters the room.
03:56:11djwhittbrixen: interesting, I'm still waiting for my ci run with -ps to finish
03:57:21jayWHY leaves the room.
03:57:22djwhittbrixen: do you know on which commit the problem started appearing for you?
04:02:46djwhittbleh, -ps is broken to when I try to use it on a complete ci run
04:03:07djwhittit worked for a subset of the specs though
04:04:06AndrewO leaves the room.
04:07:17djwhittoh well, gotta sleep now
04:07:28brixendjwhitt: I'm seeing similar behavior at least 10-20 commits back from the be_empty matcher
04:08:06brixenI'm going to look into the memory consumption with Generator soon
04:10:18xifingenious piece of Ruby code: http://pastie.caboo.se/170024
04:12:36MenTaLguYthat's beautiful
04:12:50xifMenTaLguY: my thoughts exactly.
04:14:00whatevan enters the room.
04:21:09loincloth_ leaves the room.
04:21:27whatevanMenTaLguY, that compliment you gave the bouncing module is going on my resume :)
04:22:37MenTaLguYI'm flattered that my compliments are resume-worthy. :)
04:22:40dewd leaves the room.
04:24:09whatevanwell then everybody is happy :)
04:25:12whatevani think its cool that it is appreciated. i showed it to some non-coders today, and after a brief period of complete rejection, they read it and thought it was weird
04:25:17whatevanwhich was something, anyway
04:29:06imajesevan: ping
04:29:48whatevanimajes: don't know your irl.. but pong
04:30:13imajeswell evan knows me
04:30:16whatevanchris?
04:30:33imajesnah, i'm after evan p
04:31:18whatevanhaha. i am dumb. evan is also my name, in my list of highlight words. i have no business here right now. you guys have a nice night :)
04:31:23srbaker leaves the room.
04:32:02MenTaLguYlots of evans
04:32:32imajesheh
04:32:50srbaker enters the room.
04:33:40MenTaLguYperhaps evan's experiments with implementing Kernel.fork in Rubinius went horribly wrong
04:34:57womble leaves the room.
04:35:41mutle enters the room.
04:35:46dkubb enters the room.
04:38:48brixenMenTaLguY: I'm getting the performance of #tr up, we'll just start renaming them
04:43:53dewd enters the room.
04:48:53wmoxam leaves the room.
04:51:58headius"evan".tr 'an', 'il'
04:52:15mediogre enters the room.
04:54:02imajes leaves the room.
04:55:43lopex leaves the room.
04:56:01womble enters the room.
04:56:10brixenheadius: heh, if I were evan, that would be the title of my blog
04:56:17headiusheheh
05:06:05brother_rspec enters the room.
05:09:33lachie leaves the room.
05:13:44MenTaLguY leaves the room.
05:15:46d2dchat enters the room.
05:17:58imajes enters the room.
05:22:07lstoll_ leaves the room.
05:36:56jp_tix_ leaves the room.
05:41:44evanthtas a good one!
05:42:05brixenindeed
05:43:01jtoy leaves the room.
05:53:54jartz enters the room.
06:00:18rby enters the room.
06:17:39srbaker leaves the room.
06:18:18srbaker enters the room.
06:21:25_martinS_ leaves the room.
06:24:49imajes leaves the room.
06:25:49rby leaves the room.
06:28:42benburkert_ enters the room.
06:28:42benburkert leaves the room.
06:29:02mae leaves the room.
06:34:20jtoy enters the room.
06:41:16rby enters the room.
06:43:37dewd leaves the room.
06:48:55imajes enters the room.
06:54:02benburkert_ leaves the room.
06:54:11crafterm leaves the room.
06:58:11wycats enters the room.
06:59:41jartz_ enters the room.
07:00:08jartz leaves the room.
07:16:06rby leaves the room.
07:20:08Skip enters the room.
07:52:16jinjing enters the room.
08:10:44jptix enters the room.
08:13:25thehcdreamer enters the room.
08:30:13imajes leaves the room.
08:31:02imajes enters the room.
08:35:36zf leaves the room.
08:42:16imajes leaves the room.
08:42:44qwert666 enters the room.
08:42:51w1rele55 enters the room.
08:42:52imajes enters the room.
08:46:56jartz_ leaves the room.
08:49:14VVSiz_ enters the room.
08:57:32VVSiz leaves the room.
08:59:05jartz enters the room.
09:01:04brother_rspec enters the room.
09:07:11wombleHas anyone else noticed that when an error occurs when there is an ensure block, that the line number of the exception is the first line of the ensure, rather than the line that the exception occured on?
09:09:17jptix leaves the room.
09:11:04Cu9YpD enters the room.
09:17:14Arjen_ enters the room.
09:18:25GMFlash leaves the room.
09:18:50lachie leaves the room.
09:24:04lachie enters the room.
09:33:41brother_rspec leaves the room.
09:42:30crafterm enters the room.
09:42:39crafterm leaves the room.
10:04:24imajes leaves the room.
10:09:45fbuilesv leaves the room.
10:11:46boyscout1 commit by Matt Palmer
10:11:47boyscout * Some specs for the timeout library; c39f2cb
10:14:50jtoy leaves the room.
10:18:42olabini leaves the room.
10:23:32womble leaves the room.
10:25:51rubuildius_ppcMatt Palmer: c39f2cb70; 1781 files, 6208 examples, 20508 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/170200
10:34:37brainopia enters the room.
10:35:15headius leaves the room.
10:38:23Arjenrue, seen this: http://www.modrails.com ?
10:39:40olabini enters the room.
10:50:44zf enters the room.
10:53:48imajes enters the room.
10:56:06womble_ enters the room.
11:00:43aotearoa leaves the room.
11:02:02rubuildius_amd64Matt Palmer: c39f2cb70; 1781 files, 6205 examples, 20479 expectations, 0 failures, 0 errors; http://rafb.net/p/dPnljJ78.html
11:03:46octopod enters the room.
11:20:39ctennis leaves the room.
11:26:11radarek enters the room.
11:27:07brother_rspec enters the room.
11:36:04ctennis enters the room.
11:37:36wdperson enters the room.
11:40:11brother_rspec_ enters the room.
11:40:38hassox leaves the room.
11:43:23lachie leaves the room.
11:44:44BlackEdder enters the room.
11:46:52lstoll enters the room.
11:48:40brother_rspec leaves the room.
11:52:54womble leaves the room.
11:53:12lachie enters the room.
12:04:47brother_rspec_ leaves the room.
12:10:16brother_rspec enters the room.
12:19:40lachie leaves the room.
12:21:08wycats leaves the room.
12:21:39wycats enters the room.
12:46:15lachie leaves the room.
12:58:38jinjing leaves the room.
13:06:40webmat enters the room.
13:41:35antares enters the room.
13:44:31wycats leaves the room.
13:54:57wmoxam enters the room.
13:56:57gdagley enters the room.
14:00:46rtsuk enters the room.
14:01:49tim_w enters the room.
14:01:59moofbong enters the room.
14:08:32AndrewO enters the room.
14:10:06tim_w leaves the room.
14:32:23GMFlash enters the room.
14:36:47antares leaves the room.
14:38:49agile leaves the room.
14:44:54wycats enters the room.
14:45:56enebo enters the room.
14:48:27joel_c leaves the room.
14:49:22jtoy enters the room.
14:49:37jartz leaves the room.
14:53:01skaar enters the room.
14:54:18KirinDave enters the room.
14:54:59mae enters the room.
14:56:06jinjing enters the room.
15:09:18lachie enters the room.
15:10:03pat1 enters the room.
15:10:18pat1hiya.
15:10:22pat1rue: awake?
15:15:26menator enters the room.
15:16:34menator leaves the room.
15:18:08VVSiz_ enters the room.
15:18:08womble enters the room.
15:18:26womble_ enters the room.
15:23:45VVSiz leaves the room.
15:24:28menator enters the room.
15:26:44rtsuk leaves the room.
15:26:55KirinDave leaves the room.
15:28:29dewd enters the room.
15:28:33therealadam enters the room.
15:28:35wmoxam leaves the room.
15:29:01wmoxam enters the room.
15:29:07KirinDave enters the room.
15:36:20brother_rspec enters the room.
15:40:19womble_ leaves the room.
15:40:56womble leaves the room.
15:44:45lachie leaves the room.
15:44:47agile enters the room.
15:45:59jlindley enters the room.
15:50:26jtoy leaves the room.
16:05:49wycats leaves the room.
16:07:40KirinDave leaves the room.
16:23:54antares enters the room.
16:25:35macournoyer enters the room.
16:30:21menator leaves the room.
16:33:31DefilerAnyone tried to use -ps and/or -pss recently?
16:33:31macournoyer leaves the room.
16:33:40djwhittyes
16:33:47DefilerDid it work? Heh
16:33:57macournoyer enters the room.
16:33:58djwhitt-ps works better than -pss
16:34:04djwhittbut they're both somewhat broken for me
16:34:14DefilerOK. Glad it isn't just me
16:34:37pat1hey, if anyone sees rue, please ask him to respond to the mod_rubinius/gsoc post on the mailing list (anyone else is welcome to respond as well)
16:34:54eventualbuddha enters the room.
16:35:29djwhittpat1: ok, I'll let him know next time I see him on
16:36:08djwhittDefiler: -pss seems to have been broken for quite a while too
16:36:21djwhittDefiler: I checked all the way back before brixen's lookuptable changes
16:36:27DefilerAah
16:37:35djwhittoh, and another interesting thing
16:37:39djwhittit's not completely broken
16:38:10djwhittthis works for example ./shotgun/rubinius -pss 10 -e "puts 'test'"
16:38:11evanpat1: do you need me to do anything to get rubinius projects on the list?
16:39:23pat1let me know what you want on there
16:39:28pat1I grabbed the whole EY list
16:40:01evanwell, for now, i guess just have it listed
16:40:18evanwe'll try and put together a list of ideas
16:41:15pat1http://rubycentral.com/projects/gsoc-2008/ideas-for-gsoc-2008 is the list we have so far
16:41:49pat1I see 5 Rubinius related projects there
16:42:43evanyep
16:42:56evanwhen do you students start submitting proposals?
16:44:17pat1yesterday
16:44:23evanheh
16:44:23evanok
16:44:25pat1and mentors can start signing up now too
16:45:16KirinDave enters the room.
16:45:27dodecaphonic enters the room.
16:56:37jartz enters the room.
17:03:21macournoyer leaves the room.
17:03:33macournoyer enters the room.
17:04:30mutle leaves the room.
17:05:45lopex enters the room.
17:06:33jptix enters the room.
17:09:03macournoyer leaves the room.
17:12:41TheVoice enters the room.
17:29:25imajes__ enters the room.
17:29:36Defiler-fallow-undecidable-instances is the most Haskelly compiler option ever
17:31:26evanheheh
17:32:14Defiler"You can go this time, but let this be a warning."
17:32:28evan"next time, we're writing a note to your mother."
17:33:22thehcdreamer leaves the room.
17:37:08rueMorning
17:37:38pat1hiya rue
17:38:01rueHallo
17:38:05Arjen_ leaves the room.
17:38:43pat1rue, are you on the mailing list?
17:40:41ruepat1: 4,296,476 mailing lists to be exact.. which one? :)
17:40:55pat1rubinius development
17:41:13pat1should've been more specific
17:41:24rueMm, nothing in RSS, sec
17:41:51pat1there was an email about the mod_rubinius gsoc project
17:42:00pat1(a potential student asking for more info)
17:44:35imajes leaves the room.
17:49:29ruepat1: Got it, thanks
17:52:57ruepat1: Getting everything finalised for the conf there?
17:53:34pat1yeah ... meals are planned, shirts are coming in tomorrow, I think the schedule is ready to go to print
17:53:45pat1it's a busy/exciting week
17:54:49rueHeh, I can imagine.
18:10:01loincloth leaves the room.
18:10:39loincloth enters the room.
18:14:49loincloth leaves the room.
18:16:57boyscout9 commits by Brian Ford
18:16:58boyscout * Added String#copy_from primitive. Reworked String justify methods.; 52d81e0
18:16:59boyscout * Added Tuple.template and reworked String#tr and friends.; 1aabda5
18:17:01boyscout * Added String#dup to bm_string1 benchmarks.; 258260d
18:17:01boyscout * Rework methods that behave like String#count.; bc7d9cc
18:17:02boyscout * Fixed bm_string1 to not mutate template string.; 3029dbb
18:17:03boyscout ...
18:17:10djwhittwow, nice!
18:17:35brixenthere's some status info here: http://rubinius.lighthouseapp.com/projects/5089/tickets/359
18:18:07brixenstill working on it, but things don't look like they visited a blender anymore, so I figured I should push
18:19:50brixenI should add that the results posted in that ticket are from bm_string1, not bm_string
18:20:11brixeneventually, I'll replace bm_string with bm_string1
18:20:29rueWoOoOooOOoo
18:22:01brixenrue: making progress, stub your toe, or was that for me? :)
18:23:06rueI was imitating a crowd making the Wave
18:23:44brixenheh
18:24:28loincloth enters the room.
18:26:34cremes leaves the room.
18:26:38evanbrixen: check pm
18:26:50olabini leaves the room.
18:26:51evani wonder if IRC is being odd
18:26:58evanok, nm.
18:27:23brixenone thing I really wish I had, a C-style for loop
18:27:28brixenit's so nice and concise
18:27:31evanheh
18:28:39thehcdreamer enters the room.
18:28:40brixenwouldn't it be awesome to have a composable grammar and require e.g. type annotations and C-for loop
18:28:48brixen(rhetorical question)
18:29:21cremes enters the room.
18:30:34rubuildius_ppcBrian Ford: 52d81e059; 1787 files, 6232 examples, 22084 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/170420
18:38:26imajes__ enters the room.
18:46:09imajes leaves the room.
18:48:31rueYeah, that would be, like, totally awesome
18:50:08headius enters the room.
18:51:39cris_kiev enters the room.
18:54:59antaresrue: I see there's a student who want to help with mod_rubinius for GSoC (on rubinius-dev). Maybe we should add a page on mod rubinius to LH?
19:00:48rueTyping up a reply now
19:06:35dgtized enters the room.
19:18:00thehcdreamer leaves the room.
19:19:10fbuilesv enters the room.
19:19:17fbuilesvhola
19:20:10rueA-hoy
19:20:13fbuilesvI'm seeing on the current GSoC ideas that there's one for improving stdlib's specs, which happens to be what I'm [trying] to do right now. Any idea of who's responsible for this or a contact I can discuss the idea with?
19:20:41pat1we don't currently have mentors assigned to specific projects
19:20:52benburkert enters the room.
19:21:09fbuilesvpat1: I see
19:21:16pat1talking about it in general here or on the rubinius-dev list would both be appropriate
19:21:44fbuilesvWell, anyone has any ideas of where should the efforts focus? I'm currently working on REXML, but besides that, what are the most important libraries that need work right now?
19:22:45drbrainfbuilesv: whichever parts of the stdlib that don't work in rubinius properly are most important to write specs for
19:22:49drbrainlunches
19:22:55drbrain(sorry it's so arbitrary)
19:23:32fbuilesvdrbrain: I understand it, I just felt like asking since there are some libraries that don't have anything spec'd yet while there are other ones that have stuff but are more important (net, cgi, yaml, etc).
19:23:46fbuilesvby important I mean more generally used
19:23:53drbrainyeah
19:23:57brixenfbuilesv: iirc, Defiler is doing some work on BigDecimal, other than that, anything that Rails uses would be at the top of the list
19:24:22drbrainI've largely encouraged people to work on something *they* think is important
19:24:23dbussinkhi people
19:24:24brixenyaml specs in particular would be great
19:24:33brixendbussink!
19:24:34dbussinkbrixen: wanted to suggest yaml too
19:24:40drbrainsince that will motivate them more than telling them to work on something they think is boring
19:24:50pat1the JRuby guys would love to see IO get more coverage
19:24:51brixenyeah, what drbrain said :)
19:24:54fbuilesvbrixen: did you guys managed to see what was wrong with the builds and be_empty yesterday?
19:24:57drbrainI think there are RbYAML specs/tests that I didn't import
19:25:16drbrainit would be a good starting point if you wanted to do YAML
19:25:18brixenfbuilesv: unfortunately no, however, on my system be_empty matcher is not implicated
19:25:18pat1but drbrain is right ... as usual
19:25:19drbrainok, later
19:25:38fbuilesvbrixen: at least, I was a bit worried about freaking out the system with my first commit :)
19:25:47djwhittfbuilesv: the be_empty commit is where I started seeing the problem but it probably didn't cause it
19:25:47brixenfbuilesv: heh, no worries
19:26:28fbuilesvdjwhitt, brixen: only happens on 64 bits gentoo, right? I wasn't able to reproduce on Ubuntu32/64 or Intel Mac
19:26:34dbussinkbrixen: nice work on the string stuff
19:27:13olabini enters the room.
19:27:24brixendbussink: thanks
19:27:35djwhittfbuilesv: not sure, I'm going to try on my Gentoo 32 laptop right now
19:27:45fbuilesvWell, what would you guys think of covering YAML, finishing up REXML, try to do as much as possible on IO for the JRuby guys and one or two of the libraries that Rails depends on? Would that be too much or too little?
19:27:47brixendbussink: still a wip
19:27:48dbussinki've been really busy these days, not really any time to contribute something
19:28:25dbussinki think subtend is a good one to work on too, but dunno about the state it's in now
19:28:27brixenfbuilesv: that sounds like quite a bit, but you'll have to judge based on your familiarity
19:28:45dbussinkplus that it's there's a lot more c voodoo required there
19:28:52fbuilesvbrixen: It's like 2-3 months, right? I don't see a problem with time, IO does scare me tho
19:28:58brixensubtend is pretty solid for what is done. I'm going to fix up the spec structure for it
19:29:25dbussinkany ideas on the array problems there? or is it waiting for a new mri approach there?
19:29:52headiussomeone's going to have to suck it up and really hit IO hard...honestly the idea that libraries are more important than finishing the process of spec'ing out key core classes is rather absurd
19:29:58brixenfbuilesv: I don't know how long GSoC runs, but you can propose that and see how far you get
19:30:12headiusIO is absolutely crucial, and Socket stuff only slightly less so...but they're very thin as far as specs
19:30:27brixendbussink: array problems in subtend?
19:30:48dbussinkbrixen: well, i read the discussion on the ruby core mailing list
19:30:54dbussinkand i thought i applied to subtend too
19:30:58dbussinkit applied
19:31:03brixenfbuilesv: as far as core class specs go, I think IO and Kernel are the last 2 that have pretty sparse specs
19:31:12headiusI'm not saying that needs to be the sole focus for anyone, especially GSoC, but it's an inconvenient truth
19:31:22fbuilesvheadius: that's true, I just say that IO might scare me a bit because I've never gone in there and my "C-fu" is not as strong as it should but I still think I could give it a try
19:31:38brixendbussink: link? I didn't read it
19:31:47headiusyou shouldn't need much C-fu, but it would help
19:32:02headiuswriting specs for IO will almost certainly require reading the Ruby impl
19:32:34fbuilesvheadius: I felt comfortable going through socket.c, haven't checked out the IO operations yet
19:32:45headiussocket.c is no uglier than io.c
19:32:50headiuswhich isn't saying much :)
19:32:54fbuilesvheh
19:33:19dbussinkbrixen: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/15909
19:33:35fbuilesvI think I'll send it as: Finishing up REXML, write whatever's missing from yaml and then going into socket or io, whatever's more needed
19:35:26brixendbussink: thanks
19:36:03brixendbussink: oh yes, that. #418
19:36:30djwhittthat slowdown issue appears to be 64bit specific
19:36:31brixendbussink: it's complicated in subtend, yes. and we have to support the old semantic for a bunch of old C ext, e.g. openssl
19:36:48brixendjwhitt: I concur dr. :)
19:37:35dbussinkbrixen: well, do you have any idea on how to solve it then?
19:38:05brixenyeah, it's in the ticket
19:39:18brixenso, RSTRING() would be a function that creates a C struct and add that to a table. when you transition back from subtend, something will need to update the objects registered in the table on the shotgun side
19:39:33dbussinkah yeah, reading up on it now
19:39:35brixenin the C ext, you'll work with a C string in that struct
19:39:43dbussinkprobably the only way to do it indeed
19:40:04djwhittI wonder if there's something in the system that still isn't quite 64 bit clean
19:40:11djwhittI mean, something that never got fixed in the first place
19:40:35benburkert leaves the room.
19:40:44brixendjwhitt: could be, but isolating that is the problem. I don't see the issue if only the specs need to be compiled
19:40:56brixenso, it's hard to say it's something in the compiler
19:41:40headiusfbuilesv: another big help for the specs would be doing a sweep of other test suites, making sure one by one their cases are represented in the specs, and then officially getting that word out to anyone using them
19:41:57headiusfor example, if we could know that most of the Rubicon suite is already covered in the specs, we'd chuck it in the bin
19:41:59headiusbut we don't know that yet
19:42:10dkubb enters the room.
19:42:14brixendjwhitt: could be something in the parser
19:42:33djwhittbrixen: yeah, I'm just at a loss how to track it down
19:43:37brixendjwhitt: heh, I know. I think looking at the mem consuption in the Generator specs is the thing to do
19:44:03fbuilesvheadius: I thought of doing that from MRI to Rubinius but then I realized that it'd be far more helpful to do the other way around. I'll to mix up all the ideas and present something good.
19:45:00headiussounds good
19:45:12mediogre leaves the room.
19:45:40brixendjwhitt: I get ~90 sec if specs compiled, ~116 if specs are not compiled
19:45:55brixendjwhitt: I'll try with specs compiled but not mspec
19:46:59octopod leaves the room.
19:47:24rubuildius_amd64Brian Ford: 52d81e059; bin/ci failed! http://rafb.net/p/KkFehI27.html
19:47:32djwhittignore that
19:48:04djwhittspec run was still going after 80min so I killed it
19:49:06djwhittbrixen: I'll try taking a look at the Generator specs tonight, I can't right now (at work)
19:55:45cris_kievHi all, i'm trying to run last thread-ring test on rubinius and fails on Thread.run operations
19:56:27cris_kievIs Thread.run doesn't implemented currently?
19:56:56Gerardo enters the room.
19:57:29GerardoI'm trying Rubinius on OpenBSD
19:58:04Gerardoand found the first problem
19:58:05fbuilesv leaves the room.
19:58:10Gerardoany developer here?
19:58:24brixencris_kiev: can you pastie what you're running and what the error you get is?
19:58:34brixenGerardo: pastie your problem, please
19:58:41Gerardook brixen
19:59:13GerardoI've just cloned the source with git, the error is pretty simple: I don't have bash installed and configure calls it explicitly
19:59:23brixenoh sure
19:59:24GerardoI have changed bash with sh and works fine
19:59:26cris_kievbrixen: http://shootout.alioth.debian.org/gp4/benchmark.php?test=threadring&lang=ruby&id=2
19:59:47brixenGerardo: ok, you could submit a patch to http://rubinius.lighthouseapp.com/projects/5089/tickets/
19:59:49Gerardoso, I'd suggest to use sh, since mkconfig.sh doesn't have bash specific code
20:00:02Gerardook brixen, thanks
20:00:36benburkert enters the room.
20:00:47cris_kievAn exception has occurred:
20:00:47cris_kiev killed thread (ThreadError)
20:00:47cris_kievBacktrace:
20:00:47cris_kiev Thread#run at kernel/bootstrap/thread.rb:24
20:00:47cris_kiev Object#__script__ {} at thread_r.rb:30
20:00:48cris_kiev Array#each at kernel/core/array.rb:573
20:00:50cris_kiev Object#__script__ at thread_r.rb:28
20:00:52cris_kiev CompiledMethod#as_script at kernel/core/compiled_method.rb:210
20:00:54cris_kiev Compile.single_load at kernel/core/compile.rb:240
20:00:56cris_kiev Compile.load_from_extension at kernel/core/compile.rb:312
20:00:58cris_kiev Object#__script__ at kernel/loader.rb:189
20:00:59brixencris_kiev: pastie.org !
20:01:04rueUse a pasteboard, pwees
20:01:05cris_kievsorry
20:01:26brixencris_kiev: have you taken a look at the Thread specs?
20:01:28rueYou might break Freenode otherwise :)
20:01:44brixencris_kiev: if you could, see if that case is covered. if not, you could write a spec for it
20:02:55antaresrue: if one pastes too long piece of code (s)he gets banned as flooder btw ;)
20:03:04Gerardoit will be a single line patch brixen :)
20:03:23brixenGerardo: ok, or even just a ticket, so we know we need to address it :)
20:03:30Gerardook
20:03:31ezmobius enters the room.
20:03:58brixenlunch, bbiab...
20:05:38cris_kievbrixen: ok, i'm try to find specs and check what is wrong with Thread-lib
20:06:41antarescris_kiev: don't forget to check up spec tags
20:09:11cris_kievbrixen: thread/run_spec.rb is empty, i'll write specs for it
20:10:02cris_kievantares: don't understand what you mean. is it some spec-related tag on git?
20:10:26antarescris_kiev: read a page on CI at LightHouse
20:10:39cris_kievantares: ok, thanks
20:11:29antarescris_kiev: some spec are known to fail at the moment; they are tagged as failing using mspec tags. If you see an example failing make sure it is not tagged as such, otherwise you found a known failure
20:12:21cris_kievantares: is Cl - core library or what?
20:12:44antareswhat CI stands for you mean?
20:13:02cris_kievantares: CI - continuous integration?
20:13:06antaresit is "cee eye", not CL ;) Continuos integration
20:16:45jlindley_ enters the room.
20:18:47jlindley_ leaves the room.
20:24:54jayWHY enters the room.
20:28:21jlindley leaves the room.
20:33:06skaar leaves the room.
20:34:38w1rele55 leaves the room.
20:35:40w1rele55 enters the room.
20:39:36imajes__ leaves the room.
20:43:56thehcdreamer enters the room.
20:46:05ctennis enters the room.
20:46:35dodecaphonic leaves the room.
20:53:10Gerardo leaves the room.
20:53:26probablycorey enters the room.
20:54:30octopod enters the room.
20:58:17thehcdreamer leaves the room.
20:59:08djwhittdoes ./bin/mspec ci -T -p work for anyone?
20:59:34hassox enters the room.
21:00:03imajes enters the room.
21:04:02brixendjwhitt: it's worked in the past, getting EBADF now
21:04:48djwhittright now I get: Attempted to access field of non-reference
21:04:56djwhittfollowed by a segfault when I try it
21:08:23brixendjwhitt: this works for me: bin/mspec ci -T -p spec/ruby/1.8/core
21:08:32brixenthere must be some bad specs
21:12:13brixendjwhitt: cat bin/mspec. if I run everything together except 1.8/library, -T -p works fine
21:12:38djwhittbrixen: yeah, it works fine for me too on subsets of the specs
21:13:29imajes leaves the room.
21:15:52brixendjwhitt: try this: bin/mspec run -G fails -G unstable -T -p -E "Generator" spec/ruby/1.8/core spec/ruby/1.8/language/ spec/compiler/ spec/core/ spec/debugger/ spec/subtend spec/parser/
21:15:59brixenthat works for me
21:19:58lstoll leaves the room.
21:20:24djwhittyeah, it's definitely the library specs that mess it up
21:21:05djwhittI just ran ci on only the library specs and that segfaulted too
21:21:10djwhittci + profiling I mean
21:23:21brixendoh, forgot to add spec/ruby/1.8/library to above command
21:23:41brixenyeah, library specs are it, but excluding specs with "Generator" doesn't help
21:23:57djwhittyeah, I'm running all the dirs individually to see if I can isolate it
21:26:01loincloth leaves the room.
21:26:36brixendjwhitt: try: bin/mspec -G fails -G unstable -T -p spec/ruby/1.8/library/[a-r]* spec/ruby/1.8/library/[t-z]*
21:27:01rby enters the room.
21:27:24brixenbets on socket specs?
21:27:25djwhittexcluding socket right
21:27:28djwhittyep
21:27:42djwhittyeah, that passes
21:27:55brixen bin/mspec -G fails -G unstable -T -p spec/ruby/1.8/library/[a-r]* spec/ruby/1.8/library/s[ity]* spec/ruby/1.8/library/[t-z]*
21:28:28brixenok, this gives me EBADF: bin/mspec -G fails -G unstable -T -p spec/ruby/1.8/library/socket/
21:30:21nicksieger leaves the room.
21:30:34djwhitthttp://pastie.org/170530
21:32:14nicksieger enters the room.
21:32:26brixendjwhitt: yeah, that's what I'm seeing
21:32:55drbrain"filedes is not a valid file descriptor open for writing"
21:33:01drbraindid somebody close STDOUT?
21:33:10drbrain(without duping it)
21:33:10brixenseems like it
21:33:53headiusclosed descriptor is the typical reason for ebadf
21:34:02evanwhere is it showing up?
21:34:10evanbecause i did fix something just like this
21:34:22evanthat headius's accept specs caused
21:34:28brixenbin/mspec ci -T -p spec/ruby/1.8/library/socket
21:34:37headiuspoppycock
21:34:43brixenis as far down as I've looked
21:34:44evanie, the threading waiting was killed/raised
21:34:54evanand the VM didn't unregister the socket it was waiting on
21:34:58evanthen that socket got closed
21:35:37brixendjwhitt: are you still seeing the slowness on HEAD on your 64bit box?
21:35:42djwhittyes
21:36:07djwhittI killed the last rubuildius run when it got up to 80 minutes
21:36:37djwhittthat doesn't include compile time either
21:36:40djwhittthat was just running the specs
21:36:41