Index

Show enters and exits. Hide enters and exits.

00:01:07brixenSetFunc or something
00:01:10brixentry building it
00:02:27brixenwe should rename loader.rb to main.rb
01:18:11dgtizedslava: it's not an issue of a block returning twice, it's just that it's not properly searching the scope to realize it doesn't have a scope that is return capable
01:51:38brixenman I hate thread specs
01:52:01brixenor rather, specs that use threads
06:20:09brixenrescue Ar::Error; end
06:20:13brixengoddammit
08:39:14boyscoutMake load order explicit. See doc/bootstrapping.txt. - 3f6d963 - Brian Ford
08:39:14boyscoutRubinius.warn was a duplicate of Kernel#warn. - ec9eef2 - Brian Ford
08:39:14boyscoutFixed specs passing until a thread is asleep. - 2cc688d - Brian Ford
08:39:14boyscoutbin/mspec ci -B full passes on OS X. - bb46889 - Brian Ford
08:39:14boyscoutTODO: rewrite Kernel#require. - a969622 - Brian Ford
14:04:51ieokrake failed. Tried to use non-reference value 0x1a as type Fixnum (19) (TypeError)
17:29:29brixenevan: does boyscout CI just run 'rake'?
17:30:29evani believe so, yes.
17:30:36brixenk
17:30:47brixenI'm going to make rake run mspec ci -B full
17:31:00brixenI'm fixing a couple issues I see on elle atm
17:31:19evansounds good
17:31:20brixenbin/mspec ci will still run the default set, mostly core and rbx specs
17:31:23evanwhats -B full do?
17:31:30brixenruns library
17:31:33evanok
17:32:03brixenalso, doesn't seem like boyscout is getting pinged
17:32:11brixenlast 2 commits CI didn't run
17:33:41evanhrm.
17:33:48evanmaybe the github queue is behind
17:33:58brixencould be
17:34:34evanthat's what it usually is
17:38:41boyscoutDefault rake task runs full CI set. - a557206 - Brian Ford
17:38:41therealadamevan, brixen: ya'll going to RailsConf?
17:38:49evanI am!
17:38:52evanare you...?
17:38:55evanif so, bring a suit
17:38:57therealadamI yam
17:39:04evanwe're gonig to hit the craps tables at Caesers Palace
17:39:18therealadamdoes Caesars have a dress code?
17:39:32evannah, but you don't wanna look like a chump do ya?
17:39:32evan:D
17:39:43evanwe might get a free high roller suite if things go well
17:39:48evanwhich we can promptly trash
17:40:12therealadamI don't need a suit to not look like a chump, bro
17:40:29therealadamalso, I would look like a chump in a wrinkled up suit, which is what would happen anyway :)
17:41:10sbryant_worktherealadam: so get a suit, take it to the cleaners pick up a freshly pressed suit!
17:41:53evantherealadam: ok, you go in a swim suit and flipflops
17:41:56evanand i'll be in a suit
17:42:01evanit will be like a buddy comedy!
17:42:09therealadamscore.
17:43:53therealadamhttp://ia.media-imdb.com/images/M/MV5BMTc0OTA0MzM4NF5BMl5BanBnXkFtZTYwMTAwODk4._V1._SX289_SY400_.j pg
17:44:51evanhah
17:44:59sbryant_workevan: I hope by suit you mean this: http://img5.allocine.fr/acmedia/rsz/434/x/x/x/medias/nmedia/18/64/88/83/18816592.jpg
17:45:09evanor would you prefer more of a lethal weapon feel...
17:45:34brixenevan: what's the verdict on rb-readline?
17:45:51evanbrixen: lets defer til next week
17:46:09brixenk
17:46:39evani'm going to poke at those constant failures now.
17:48:53evancontrary to popular opinion, block chaining does not make your penis bigger.
17:49:25evanack
17:49:33boyscoutWe now no longer raise LocalJumpError ourselves in Struct#each_pair. - b207fe2 - Tilman Sauerbeck
17:50:04therealadammake { her(lambda { go }); wow.with { |you| you.wang } }
17:50:17boyscoutUse --background guard to prevent Readline hangs. - 9d0460b - Brian Ford
17:50:52brixenfucking Readline specs hang when run from rake on os x but not elle or my jaunty jackass
17:51:21brixenevan: where are you seeing block chaining?
17:51:33evan:)
17:51:37evanthat was a mischan
17:51:42brixenahh
17:51:43evanI meant to say that in #caboose
17:51:51brixenI was hoping it wasn't in the specs
17:52:06brixensome people have requested such nonsense
17:52:45brixenin matchers
17:54:35evanyeah
18:07:51brixenevan: http://gist.github.com/103268
18:08:01brixenthat's a profile of a full CI run
18:08:08brixenrecursion guard has to go
18:08:12brixenlet 'em hang
18:08:14brixen:)
18:08:24brixenbut seriously, I have an idea
18:08:49brixenwhat if we check when assigning to array whether we are making a recursive array and set a flag
18:09:16evanzoinks.
18:11:20evanclear_associations has to go to
18:11:27evani'm going to back out that change soon
18:15:01brixenbtw, the command was bin/mspec ci -B full --profile
18:15:16brixenuse --profile to run the profiler during specs
18:16:24evanrad
18:16:32evani'm so happy the profiler is working solid
18:16:39sbryant_worknice
18:17:37evandouble rad
18:17:48evanall the constant specs run
18:17:57evannow on to module's constant specs
18:26:46evanbrixen: btw, feel free to adjust that capi thread sleep spec
18:26:53evanit doesn't need to be 2 seconds
18:29:32brixenevan: yep, was just doing that actually
18:31:07brixenevan: I just hit the reraise assertion (state->thread_state()->raise_reason() != cNone) running the sqlite3-ruby gem tests
18:31:16brixenI haven't looked at it yet
18:31:22evanok
18:31:26evanwell, i'm happy you hit that
18:31:30brixenyeah
18:31:33evansince that means the error is caught nice and early
18:31:35brixenglad you left it in
18:31:38brixenyep
18:32:56evanit's ok to check in tag changes with the code that fixes the tag's reason, yes?
18:33:02evanor should I do them in 2 diffrent commits
18:33:08brixennah, same commit is fine
18:41:17evanstupid MRI
18:41:28evanwhy the fuck is Module.constants a special case?!
19:24:15evanbrixen: i'm getting a bunch of failures in socket
19:24:50brixenhrm
19:25:09evani'm almost certain they're not related to stuff I just did
19:25:16brixengot a pastie?
19:25:38evanone sec
19:25:41brixenI've run it on elle, ubuntu here, and os x
19:25:44evani wonder if it using some generated info
19:25:48brixenbut the socket specs suck
19:25:50brixenso...
19:26:20evanoh wait
19:26:22evanit IS me.
19:26:23evanone sec.
19:26:31evanbecause socket.rb uses const_defined? to create some things..
19:26:37evanplease hold
19:26:37evan:D
19:26:37brixenahh
19:26:48brixenyay for specs :)
19:27:23evantotally
19:27:24evanman
19:28:34evanFUCKING A
19:28:37evani hate this style
19:28:43evanthis class def has a post if
19:28:56evantalk about impossible to notice
19:30:14brixenhah, a class def has a post if? wth
19:30:21evanyeah, fuck that shit.
19:30:27evanit's soo easy to not see it
19:32:46evansay it with me now
19:32:50evanfuck you socket.c
19:33:03evanit defines constants on BOTH Socket and Socket::Constants
19:33:22evanand it does not mix Socket::Constants in
19:34:54brixenyeah, MRI is about 10 years over do for a rewrite
19:35:34brixenprobably wouldn't happen in another 10 if we weren't :)
19:35:49evanhe
19:35:50evanok
19:35:56evanstill getting a few errors...
19:36:40evanwtf
19:36:50evanwhy do the getaddrinfo specs have hardcoded expections...
19:36:59evanlike they REQUIRE there to be a ipv6 host...
19:38:16evangr.
19:38:16brixenpoor specs
19:38:47brixenyou can tag them 'fails(the problem)' if you want
19:38:53brixenI'll fix em
19:38:55evanok, i'm not going to fix these others
19:39:05evani've fixed the ones that broke because of constants I think
19:39:13evani'm double checking them now
19:44:59brixensweet, just ran the RedCloth tests
19:45:06brixenrbyaml so has to go though
19:45:42brixennow, which tests were depending on redcloth...
19:45:50brixenI need a list
19:46:53tilmanbrixen: just pushed a fix for the wonky profile numbers i was seeing
19:47:07brixentilman: sweet, what was it?
19:47:32evanI just pushed the fixes for constants
19:47:47tilmanbrixen: bad math in get_current_time
19:48:15brixenbad math?! :O
19:48:15evanah
19:48:17evanon linux
19:48:23evanwell, not bad
19:48:25evanjust truncated
19:48:28evanbecause of integer widths
19:48:33brixenahh
19:48:38rue"There is no need to uninstall the Intel® Chipset Software Installation Utility; therefore, there is no uninstall utility included with the software."
19:48:47brixendamn linux
19:48:47rueBRB, going to go kill people.
19:48:47evanhah
19:54:31boyscoutPromote the locals to uint64_t's in get_current_time(). - 5ee2fd6 - Tilman Sauerbeck
19:56:21evanyep, queue is backed up.
19:57:13brixenthey're not running chirpy or whatever that twitter queue is, are they? :P
19:57:20evanno
19:58:21brixenevan: this is what you were seeing? http://gist.github.com/103313
19:58:41evanyes.
19:58:45brixenwtf
19:58:51brixenwhy wasn't this failing?
19:59:05evandid it just start failing?
19:59:11evanmaybe it did introduce it with the constants stuff...
19:59:26boyscoutFix a number of constants specs - 3772d40 - Evan Phoenix
20:00:33brixenyeah, it wasn't failing before
20:01:18evancrap.
20:04:54brixensomething is fucking something else up
20:05:04brixenI can run the socket specs by themselves
20:05:39brixenthose are hard to figure out
20:05:50evanif you check out my change
20:06:08evanit's likely because I had to change some constants code to NOT lookup recursively
20:06:28brixenhm
20:06:35evanso before, you'd do
20:06:40evanSocket.const_defined? :AF_UNIX
20:06:43evan# => ture
20:06:47evanand now
20:06:49evan# => false
20:06:55evanwe need to fix this in socket.rb
20:07:07evanbasically, everything in Constants needs to ALSO be directly on Socket
20:07:14evanand Constants isn't included into Socket
20:07:40evanor define Socket.const_defined? to search itself and Constants
20:07:46brixenwell, one of these is getting a type error assigning to a FFI::Struct
20:07:54brixensee socket.rb 259
20:08:00evanwell, i think that the constant change is causes different code paths to run
20:08:05evancausing
20:08:06brixencould be
20:16:41brixenwell, it is somehow related to constants because Socket::AF_INET6 is the value passed
20:17:35evanok
20:17:35evanthats it then.
20:17:38evani'm betting thats not being found
20:17:40evanand it was before
20:17:58brixenit's returning an object
20:18:16brixenbut it's not an int
20:18:24brixenmust be assigned somewhere
20:18:24evanwhats it returning?
20:18:28evanweird
20:18:35brixenp gives #<Object:0x121ee>
20:18:42evanwtf.
20:18:43brixenmost of the time it's an it
20:18:47brixenint
20:19:11brixenI sure love that the vm has typeerrors
20:19:23brixenthat you can rescue
20:19:28evan:D
20:19:29evanme too
20:21:40brixenhrm, I don't see that assigned to anywhere in the specs
20:22:15evani've got a handle on the long return exception
20:22:18evani'm working on it now.
20:22:38evanit's that the reraise concept is busted.
20:23:23evanactually, no, not true.
20:23:30evani've just broken a different part.
20:23:32evanyay for me.
20:23:39brixenheh
20:23:49evanno biggy.
20:23:55evani've got a simple fix for it.
20:24:22brixenI'm going to tag these as unstable
20:24:31evank.
20:24:35brixenthey work in isolation, it's a long process to figure out the interaction
20:25:42evanok
20:25:47evansound unstable
20:25:50evanwow, it's 12:30
20:25:50evangeez.
20:25:55brixenyeah
20:26:14evanok, i'm going to finish this fix, get some lunch, then do a bit more unpacking
20:26:14brixenthere's specs that pass before and after this spec
20:26:24brixenand the spec isn't extraordinary
20:26:28brixenfrustrating
20:26:33brixenok
20:26:37brixenlunch for me too
20:45:14boyscoutFix up capi thread specs. - 33187b2 - Brian Ford
20:45:14boyscoutSome capi additions to run RedCloth 4.1.9 tests. - 2f3fcd1 - Brian Ford
20:45:14boyscoutTag some specs that fail only during full CI run. - a5cde80 - Brian Ford
20:45:14boyscoutConstrain length of filename in backtrace. - 278bfdf - Brian Ford
20:46:10evanbrixen: i don't like that last one
20:46:17brixenheh ok
20:46:27evanbecause you loose info that there is no way to get back
20:46:39evanand it's those super long paths you typically need the most info for
20:46:44evanbetter would be to, if the path is big
20:46:47evanbreak it into 2 lines
20:46:52brixenk
20:47:05evan A#foo at \
20:47:11evan wow_soo_long.rb
20:47:38brixenI'll let ya do it how you like
20:47:51evanok
20:47:54brixenI just am tired of reading line numbers split
20:47:58brixen45\n0
20:48:04evanah
20:48:05evanheh
20:48:06evanok
20:48:19evanie, the 0 is in the 81st column :)
20:48:23brixenright
20:48:33evani played with trucating a long time ago
20:48:42evanproblem is that because it's on all the time
20:48:47evanyou always end up taking it out again
20:48:53brixenmost of them are spec files because jredville change it to expand all the paths
20:49:04brixenwhich is probably fine, but the file names are really long
20:49:09evanif we want to get really fance
20:49:12brixenand all still relative to my cwd
20:49:13evanwe could unexpand them
20:49:31evanand present them relative to cwd
20:49:40evanthat would be pretty rad
20:49:43brixencould
20:49:56brixenit's the path sent to load though
20:50:02brixenso it's in __FILE__
20:50:15evanright
20:50:26evanwe'd do it in the code that displays the backtrace
20:50:33evanso we wouldn't do it until you really need it
20:50:52evanI believe Pathname has an algorithm to do this
20:50:57evanit might be icky though
20:51:21brixenwould be easy with a regexp
20:51:22evanmaybe a simple 2 pass
20:51:29evanpass 1) remove all /..
20:51:39evanby removing the previous directory
20:51:56evan2) if it's absolute, change it to be relative
20:52:10evanhm.
20:52:18evansometimes absolutes are good..
20:52:21evani dunno
20:52:47brixenwell, it would be absolute if it were not relative to cwd
20:52:56brixen./blah doesn't lose any info
20:53:32evanah ok.
20:53:35brixeneither way
20:53:45brixenlunch
20:53:51evanso if cwd is in the absolute path, make it relative
20:53:55evanotherwise live it absolute
20:53:59evani'll play with it later.
21:13:27rueThere is Pathname#relative_path_from
21:21:39evanok, fixed the long return problem
21:21:55evanThreadState in the VM can now 'box' itself
21:22:00evanwhich it does for this case
21:26:39rueYou should also shadow
21:26:56rueShould provide chuckles for years to come.
21:42:59slavahi evan
21:55:46tarcieriugh
21:56:02tarcieristab people who try to be "clever"
21:56:13sbryanttarcieri: ?
21:56:53tarcierirack is trying to automatically pull in the ruby-openid gem when you frob one of its constants for openid auth
21:57:13tarcieriand freaks out if it isn't installed
21:57:29headiusahh I was wondering that...so you guys center the trace on 80 columns eh?
21:57:39headiusI should add that mode to jruby's backtrace
21:58:02tarcieriheh, wrt the awesome stack traces?
21:58:05headiusI thought you guys were getting terminal width or something
21:58:09headiusso I had not implemented it
21:58:52evannope
21:58:54evanit's hardcoded.
21:59:17headiuscool, that's easy then
22:12:15slavaevan: my bad-ass PIC implementation is almost done ;)
22:15:21tarcieripolymorphic inline cache?
22:16:33slavayes
22:16:51tarciericool
22:17:00tarcieriErlang needs more of those :/
22:17:11slavamine are pretty optimal
22:17:32tarcierisweet
22:18:30slavaI might do runtime type feedback eventually :)
22:19:15headiushmm, your backtrace stuff seems to not work with a custom backtrace method eh?
22:19:33headiuslike class MyException < Exception; def backtrace; .... ; end;
22:19:54evancourse not
22:20:11headiusso you're not calling backtrace at all, ok
22:20:35slavaevan: do you card-mark parts of arrays yet? I was wondering if you had thoughts on this
22:20:56headiuswe and MRI do, so I'd probably have to not do it if I wanted to support rbx traces
22:21:44evanheadius: it's easy enough to see that calling backtrace would call Exception#backtrace
22:21:58evanand if so, then use a fancier one when you know you're about to print it out
22:22:23headiusbut MRI calls backtrace when dumping out the trace of a raised exception
22:22:26boyscoutProperly handle long returns that are interrupted - ccb5a11 - Evan Phoenix
22:22:27boyscoutShow files relative if possible in backtraces, break lines - 8ad5b2d - Evan Phoenix
22:22:34headiusI'm not sure I understand what you're saying
22:22:50evanyou're about to print a backtrace for a usure
22:22:52evana user
22:23:03evanyou do
22:23:19evanif exc.method(:backtrace).module == Exception
22:23:24evan print_nice_backtrace(exc)
22:23:25evanelse
22:23:27evanputs exc.backtrace
22:23:28evanend
22:23:58evanbrixen: i made the backtraces a little nicer
22:24:01headiusahh
22:24:07evanthey present relative paths where possible now
22:24:10headiusbut this is when the exception bubbles all the way out
22:24:19evanand attempt to break up the path to keep stuff from spilling to long lines
22:24:19headiusyou don't see my custom backtrace method
22:24:31evani still haven't had lunch
22:24:34evanso i don't follow :/
22:24:35brixenevan: awesome
22:24:37evani really need to go now
22:24:41brixenevan: go eat!
22:24:55evani'm off
22:25:01evancheck it out, it's pretty simple
22:25:09evanthe code that breaks up the path into multiple lines SUCKS
22:26:31headiusevan: when you dump out the nice rubinius stack trace you don't call the backtrace method on the exception being dumped
22:26:42brixenheadius: how do you implement checking for recursive arrays in eg Array#<=> ?
22:27:13rueheadius: The backtrace is generated at the raise
22:27:31headiusbrixen: a map
22:27:42headiusidentity map
22:27:48brixenheadius: where does it live?
22:27:52rueOr maybe you asked the wrong question to my response
22:28:01headiusglobally right now
22:28:04headiusprobably should be thread-local
22:28:11brixenhm ok
22:28:11headiushasn't ever been a problem
22:28:15brixenwe have a thread local map
22:28:20brixenis sucks balls
22:28:20headiusruntime.registerInspecting(this)
22:28:24headiusunregister when done
22:28:27headiusbasically
22:28:28brixenyeah
22:28:30brixenwe have that
22:28:32rueStack
22:28:49brixensame diff
22:28:55brixenit sucks for perf right now
22:29:43headiusit hasn't shown up as an issue for us, but it's a builtin Java type IdentityHashMap
22:30:13headiusoh, and it is threadlocal I see now
22:30:57ruebrixen: Are you working on a specific example app?
22:31:10brixenyeah
22:31:45brixenhm, does MRI not shortcut Array#<=> based on size?
22:36:44brixenif a, b are arrays, why would you need to compare any elts if their sizes are not equal?
22:37:21slavaheadius: if it was global you'd get problems if two threads compared arrays at the same time
22:37:37headiusyes
22:37:43headiusthat's why I said it should be thread local
22:37:46headiusand it is, so yay
22:37:53brixenheadius: can you think of a reason?
22:37:57slavaI'm just saying you would've noticed by now if it wasn't thread local :)
22:38:39headiusbrixen: why would size have anything to do with it?
22:39:00brixenfor Array#<=>
22:39:00brixenhow could you ever get to 0 if the sizes are different?
22:39:10rueNo, MRI does not shortcut it
22:39:18brixenrue: I know, I just looked
22:39:23brixenI want to know why
22:39:33headiusit couldn't, but you still need to inspect all the elements to get -1 or 1
22:39:38brixensure
22:39:40rueBecause the shorter Array might be "bigger"
22:39:46brixenrue: how?
22:39:48brixenexample
22:39:58headius➔ ruby -e "p [1,2,3] <=> [4,5]"
22:39:58headius-1
22:40:07brixenok
22:40:08headiusmaybe I'm not understanding
22:40:14brixennope, that's it
22:40:16headiusok
22:40:21brixenI had the example reversed
22:51:22headiushttp://gist.github.com/103417
22:51:42tarcierihttp://twitter.com/_why/status/1640180235
22:51:43tarcierirofl
22:52:50headiusdhh and _why represent two sides of the ruby community
22:53:11slavathe two extremes
22:53:14slavaand headius is the voice of reason
22:53:16slava:)
22:53:18headiushah
22:53:20tarcieriheh
22:53:31headiusnobody listens to me anyway
22:53:40slavayou're not controversial enough
22:53:48headiusit's not for lack of trying
22:54:04headiusmaybe I need to post more penises and breasts on my blog
22:54:09tarcierilol
22:54:16slavadefinitely
22:54:53tarcieriplastering your crap with nekked chicks is certainly an effective way to get attention
22:54:57tarcieriheh
22:55:34brixenheadius: you gotta add colors!
22:55:43brixento to your breasts but to the bt :)
22:55:47brixenur not to*
22:56:11headiuscolorful breasts
23:10:40headiusbrixen: yeah I need to look at what you guys have
23:10:55headiusbut at present it would all be white except the top line
23:11:02headiussince we don't show any jruby internals
23:11:24headiusthis would be a cleaner syntax if we start showing jruby's parts of the trace though
23:12:07brixenyeah, we do red top line, blue kernel/** and white rest
23:12:10brixeniirc
23:12:15brixenvery patriotic
23:16:41brixenhm, Array#== does double dispatch, it does not call #to_ary to coerce
23:16:49brixenafaics
23:17:47brixenyes, that's in the specs
23:17:55brixenwth rubinius
23:18:43brixenah good, we fail them
23:18:51brixentalk about low hanging fruit
23:24:46rueMan, even _why is not as funny as _why anymore.
23:25:54bitsweatsurprised he picked out a pitchfork
23:25:57bitsweatout of character
23:48:13dgtizedbrixen: you switched it so library is included in the ci run for just a call to rake?
23:51:40brixendgtized: if you mean, does 'rake' run bin/mspec ci -B full, then yes
23:51:48brixenif not, please rephrase