Index

Show enters and exits. Hide enters and exits.

01:03:27brixenwhy the eff are library/complex specs failing...
01:03:38brixenI didn't touch those, or anything that touches them
01:04:10evan:/
01:04:14evandoes it use Struct?
01:04:18evani fixed up those specs.
01:04:22brixennot sure yet
01:04:31brixenjust ran a full CI and have specs failing
01:04:37evan:|
01:04:48evani've rewiriting ruby finalizers finally
01:04:51evanrewired.
01:05:02brixenok
02:09:33cremesbrixen: looking at pack & unpack now; looks like the unpack.rl has some better naming of the ragel machines than pack.rl
02:09:58cremesthe problem with adding more directives is that i can't f*ing figure out what they each do
02:10:31cremesthe ruby code, while fairly straightforward, is doing lots of weird math for which i don't understand the basis
02:11:04cremesi'll try to produce the pack for 'V' in a fork and let you take a look at it
02:11:10cremesgive me a day or so
02:20:36brixencremes: I'm going to be working on them
02:20:51brixenfeel free to send a patch, but I'm going to work on what comes up in my queue
02:21:04brixenand fixing specs first
02:21:07cremesis 'V' early in your queue or late?
02:21:15brixenI'm about to push a bunch of specs, including V ones
02:21:21brixenbut first I have sync rubyspec
02:21:26cremesk
02:21:47brixenI'm going to impl the "integer" ones next
02:21:56brixenso IiLlSsVvNnQq
02:22:05brixensince they are related and I need to work out how I want to do it
02:22:28cremesokay, i'll do E then
02:22:45brixenk
03:04:35brixengreat, fireworks trying to run sync'd rubyspecs
03:04:50brixenthis is going to take a while, so I shall get some food first
07:07:33boyscoutUpdated MSpec source to 7e5d31bc. - 854a6f7 - Brian Ford
07:07:33boyscoutFixed specs for Array#pack IiLlSs. - 910ef1b - Brian Ford
07:07:34boyscoutFixed Array#pack specs for NnQqVv. - afff187 - Brian Ford
07:07:34boyscoutFixed C-API rb_throw specs to annotate control flow. - f1df2b0 - Brian Ford
07:07:34boyscoutUpdated CI specs to RubySpec 4d94329f. - cafe505 - Brian Ford
07:15:48boyscoutCI: rubinius: 766535b successful: 3500 files, 14306 examples, 42065 expectations, 0 failures, 0 errors
11:58:05rb2kanybody in here know the details of the GIL in the major ruby versions at the moment?
11:58:17rb2k(or has a link to somewhere where it's discussed)
11:59:22rb2kas far as I understood, the rb_thread_blocking_region() can be used by C extensions to allow for actual threading
12:00:13rb2kbut that's only for extensions
12:00:20rb2kactual ruby code is never being executed in parallel
12:57:16boyscoutCI: rubinius: 766535b successful: 3500 files, 14306 examples, 42065 expectations, 0 failures, 0 errors
13:45:35thelinuxlichis it me or rubygems runs a lot faster than 1.9 on rbx?
13:57:50goyox86people, i've received the mail notification abot the evan's rubinius webinar, but when i follow the link i ogt the yehuda "Rails 3 for Mobile Apps", is there only me? :s
13:58:00goyox86i got*
14:03:54dbussinkrb2k: you could look at the python discussion why it's not an easy thing to do
14:04:16rb2kdbussink: yeah, I already read a bit on the python-3000 mailing list
14:04:21rb2kthanks!
14:04:35dbussinkjruby doesn't have a gil btw
14:04:40dbussinkbecause it leverages the jvm
14:05:09dbussinkand rbx is also moving that way, but nowhere near there yet though
15:04:13thelinuxlichI tried to run my integration tests with cucumber on rbx, but no luck. Is this normal?
15:15:04dbussinkthelinuxlich: that completely depends
15:15:13dbussinkon what kind of error etc. you're seeing
15:15:17dbussinkwhich rubinius version you're using
15:15:35dbussinkif you can provide detailed information, we can tell more about what's going on
15:15:41thelinuxlichrbx 1.0.1
15:15:53dbussinkthere has been a whole slew of fixes since then
15:16:00dbussinkso i suggest trying with latest master
15:16:04dbussinkand see where it gets you
15:16:08thelinuxlichok I'll install rbx-head
15:16:14dbussinkand extract as much information out of it as possible
15:16:20dbussinkbacktraces, smaller code reproductions etc.
15:16:33dbussinkbut i'm off for now, back later
15:18:00thelinuxlichtks
15:18:48DefilerAnyone feel like jogging my memory on how super in initialize works?
15:18:56Defilerlet's say I have this very common pattern..
15:19:05Defilerdef initialize(thing, options = nil)
15:19:17Defilerthere's no way to call super and end up with that 'options' local modified, right?
15:19:34DefilerMy goal is to just have the usual options normalization tomfoolery in the super initialize
15:19:43Defilerand not need to do that in every subclass
15:20:06DefilerMy best bet is to make that set @options and then use the ivar after calling super, to my understanding.
15:46:56brixenDefiler: yeah, that's what I do
15:47:02brixenquite a bit in the compiler actually
15:48:54Defilercool
15:57:38brixengoyox86: http://bit.ly/9mXvb4
15:57:48brixengoyox86: that's a link to evan's webinar recorded
16:43:48thelinuxlichwell rbx-head gives me the same error running cucumber tests
16:43:55thelinuxlich*** THIS RUBY IMPLEMENTATION DOESN'T REPORT FILE AND LINE FOR PROCS ***Error: signal SIGSEGV
16:44:54thelinuxlichI've installed rbx-head with rvm
16:45:11Defilercucumber isn't going to work yet, likely
16:45:34DefilerThough we do support file and line for procs
16:45:35thelinuxlich:~
16:45:42Defilerprobably just not in the way cucumber is checking for it
16:45:50Defiler(I know we do because rspec uses that heavily)
16:48:16thelinuxlichproblem is it just throws this error without any backtrace
16:48:42DefilerYeah, cucumber likes doing that
16:49:37jaribthat's just a warning
16:49:53jaribcucumber does work, it just won't report file/line for your step defs
16:51:04thelinuxlichjarib, it throws a segmentation fault after this error
16:51:32jaribyes, _something_ is causing the SIGSEGV
16:51:44brixendid you guys update to rbx-head?
16:51:53jaribi have cucumber CI running on rbx, working fine
16:52:23brixenthelinuxlich: could you show us the segv, please
16:52:42jaribthelinuxlich: it could just as well be the code in your step defs that's causing the segfault.
16:54:05jaribthey're using a regexp to determine the file/line support http://github.com/aslakhellesoy/cucumber/blob/master/lib/cucumber/core_ext/proc.rb
16:54:30thelinuxlichbrixen, how can I do it? It just throws a segmentation fault without any additional info
16:55:02brixenthelinuxlich: you can run under gdb
16:55:27brixenthelinuxlich: show me 'which ruby' and the command you are running and I'll give you a gdb command
16:55:51jaribbrixen: looks like Proc#to_s has some additional spaces around the @ on rbx
16:55:57thelinuxlich/home/alisson/.rvm/rubies/rbx-head/bin/ruby
16:56:12thelinuxlichthis is 'which ruby' output
16:56:21thelinuxlichi'm running 'rake cucumber'
16:56:31evanjarib: yeah, for readibility
16:56:35evanbad cucumber!
16:56:38evan*eyeroll*
16:57:42brixenthelinuxlich: do you have /home/alisson/.rvm/rubies/rbx-head/vm/vm ?
16:58:17thelinuxlichbrixen, no
16:58:30brixenthelinuxlich: one sec, I'm installing rbx-head with rvm
16:58:38brixenI don't know how this is laid out by rvm yet
16:58:55thelinuxlichit uses 1.8.7-p249 to install rbx
16:59:06brixenyeah, I need the path to the rbx exx
16:59:08brixener exe
16:59:30brixenthelinuxlich: find /home/alisson/.rvm/ -name vm
17:00:02thelinuxlich/home/alisson/.rvm/rubies/rbx-head/lib/vm
17:00:19brixenweird, ok
17:00:49brixentry: gdb --args /home/alisson/.rvm/rubies/rbx-head/lib/vm -S rake cucumber
17:00:53brixenthelinuxlich: ^^^
17:01:06brixenonce gdb starts, hit 'r' to run
17:01:13brixen'r' <Enter>
17:02:41thelinuxlichhmm, file not found
17:03:01thelinuxlichthere is also /home/alisson/.rvm/repos/rbx-head/spec/core/vm
17:03:01thelinuxlich/home/alisson/.rvm/repos/rbx-head/lib/vm
17:03:01thelinuxlich/home/alisson/.rvm/repos/rbx-head/vm
17:03:01thelinuxlich/home/alisson/.rvm/repos/rbx-head/doc/vm
17:03:18thelinuxlich/home/alisson/.rvm/src/rbx-head/spec/core/vm
17:03:18thelinuxlich/home/alisson/.rvm/src/rbx-head/lib/vm
17:03:18thelinuxlich/home/alisson/.rvm/src/rbx-head/vm
17:03:18thelinuxlich/home/alisson/.rvm/src/rbx-head/vm/vm
17:03:18thelinuxlich/home/alisson/.rvm/src/rbx-head/doc/vm
17:03:43brixenwhat the...
17:03:57brixenthelinuxlich: one sec, this is almost done
17:09:58brixenthelinuxlich: try: gdb --args /home/alisson/.rvm/src/rbx-head/vm/vm -S rake cucumber
17:12:09thelinuxlich*** THIS RUBY IMPLEMENTATION DOESN'T REPORT FILE AND LINE FOR PROCS ***
17:12:09thelinuxlichError: signal SIGSEGV
17:12:09thelinuxlichrake aborted!
17:12:09thelinuxlichCommand failed with status (1011): [/home/alisson/.rvm/rubies/rbx-head/bin/rbx...]
17:12:09thelinuxlich(See full trace by running task with --trace)
17:12:10thelinuxlich[Thread 0x7ffff503b710 (LWP 29980) exited]
17:12:12thelinuxlich[Thread 0x7ffff5a75710 (LWP 29974) exited]
17:12:36evanright
17:12:38evanthat doesn't work
17:12:45evan because rake is starting a new process.
17:12:52evanyou need to figure out the command rake is running
17:12:56evanand run that command directly
17:13:04thelinuxlichokay
17:14:14thelinuxlichStarting program: /home/alisson/.rvm/src/rbx-head/vm/vm -S cucumber features
17:14:14thelinuxlich[Thread debugging using libthread_db enabled]
17:14:15thelinuxlich[New Thread 0x7ffff5a75710 (LWP 30204)]
17:14:15thelinuxlich[New Thread 0x7ffff503b710 (LWP 30210)]
17:14:15thelinuxlichUsing the default profile...
17:14:15thelinuxlich*** THIS RUBY IMPLEMENTATION DOESN'T REPORT FILE AND LINE FOR PROCS ***
17:14:17thelinuxlichProgram received signal SIGSEGV, Segmentation fault.
17:14:20thelinuxlich0xffffffffffffffff in ?? ()
17:14:30brixenthelinuxlich: please use gist or pastie
17:14:36thelinuxlichsorry
17:14:43brixenwhat is the command rake is exec'ing?
17:15:14brixenoh, just cucumber
17:15:24evanthelinuxlich: please run 'bt' and gist the output
17:16:58thelinuxlichhttp://www.pastie.org/1042740
17:17:15evanhrm
17:17:16evanfinalizers.
17:17:17evanok
17:17:32evani'm working on them right now
17:17:35cremesi'm getting a sigsev too when running gem install; it didn't crash under gdb but does when run by itself
17:17:36cremeshttp://gist.github.com/474190
17:17:49evancremes: i fixed that bug yesterday
17:17:49cremesthis is latest master on osx using rvm
17:17:51evanyou might need to update.
17:18:18cremeshuh... rvm must not be pulling and rebuilding properly; odd
17:18:48evanthat could also be thelinuxlich's problem.
17:18:54evanwhen people have segfaults
17:19:04evani usually suggest they build the source directly
17:19:20evanthat removes variables from the equation.
17:19:28evansince i don't know what rvm does to rebuild
17:20:31thelinuxlichwell I'm doing gem install without problems
17:23:19evanwhat does vm/vm -v say?
17:24:47thelinuxlichme?
17:24:52evanyes.
17:24:53evanyou.
17:25:07thelinuxlichrunning gem install or cucumber?
17:25:34evanno
17:25:39evanjust run ruby -v
17:25:42evani want to see what commit you're on.
17:25:51thelinuxlichrubinius 1.0.1 (1.8.7 766535b2 2010-06-03 JI) [x86_64-unknown-linux-gnu]
17:26:43evanhrm.
17:26:48evanthats not a valid hash...
17:27:09evanok, well
17:27:17evanwhen did you install rbx the first time?
17:27:18evanjust now?
17:27:18brixenyeah, that's head
17:27:24thelinuxlichjust now
17:27:29brixenthat's my last commit last night
17:27:32evanoh oh
17:27:36evanthats why i'm missing it!
17:27:37evanok.
17:27:41evani'll have to debug this
17:27:55evanthelinuxlich: could you help me repro this?
17:28:06evani need you to write the smallest features file that causes the bug
17:28:26thelinuxlichevan, ok
17:40:32thelinuxlichevan, the feature: http://www.pastie.org/1042785
17:40:43thelinuxlichevan, the output: http://www.pastie.org/1042782
17:40:53evanok
17:40:56evani'll check it out shortly.
17:41:00evanthanks for the repro.
17:42:40thelinuxlichthanks for the good work
17:42:46thelinuxlichbtw, good webinar
17:44:14evanthanks!
17:45:10wayneeseguinevan: to rebuild *clean* 'rvm remove rbx-head ; rvm install rbx-head'
17:45:18evanok
17:45:21evanthats what I figured.
17:46:33evanwayneeseguin: didn't mean to bag on rvm
17:46:41evanjust that when people have hard crashes like this
17:46:48evanit's easier to work directly with a source checkout
17:48:33cremeswayneeseguin: any reason 'rvm install rbx-head' is 'lying' when it says "Pulling from origin master"?
17:48:47wayneeseguincremes: not sure, grab a trace and gist it in #rvm
17:48:49cremesfrom that message i inferred it was pulling up-to-date sources
17:48:56cremesk
17:48:57wayneeseguinevan: :)
18:05:41jc00kebrixen: How's your love affair going with Windows? You sounded spurned last night.
18:06:31brixenjc00ke: there never has been, isn't, and never will be love between me and Windows
18:06:38brixenI hate that POS with passion :)
18:06:39evananyone care to comment on what the name of the finalizer method should be?
18:06:46evancurrently __finalize__ is winning.
18:06:57brixenseems reasonable evan
18:07:47evank
18:08:58cremesi like __destroyer_of_worlds__ personally
18:09:14brixenhaha
18:09:28evancremes: a very good choise.
18:09:29brixen__tears_in_your_porridge__
18:09:31evanchoice.
18:09:33evantell ya what
18:09:38evanyou can alias that to __finalize__
18:09:39evancool?
18:09:41brixenheh
18:09:43cremesyes, quite
18:09:49brixenRuby is so friendly like that
18:10:23cremesalias :__destroyer_of_worlds__ :__finalize__
18:10:33brixenyou can drop the :
18:10:39brixenmake it look more mysterious
18:10:41brixenand deadly
18:10:54cremesbrixen: i like how textmate colorizes it with the colon :)
18:11:06brixenoh, well who uses textmate?
18:11:09brixenon nvm
18:11:11brixenur oh
18:11:15brixenheh
18:13:12evanhah
18:14:16jc00kebrixen: c'mon, you've never found a little something something in Windows? Paint? C'mon, Paint is awesome.
18:14:26jc00keYou get to write out bitmaps
18:14:33jc00keI don't even know what those are
18:15:04brixenjc00ke: oh Paint, yeah, awesome
18:15:07brixenhow could I forget :P
18:15:13BrianRice-work"run-length encoding"
18:15:29evanmuhaha
18:15:37evani've got object resurection from finalizers
18:15:44BrianRice-workto be fair: PowerShell
18:16:12brixenevan: you've introduced a __jesus__ method?!
18:16:29brixenBrianRice-work: PS == lipstick on a pig
18:16:29sbryantbrixen: no just __holy_ghost__
18:16:31evanjesus object.
18:16:37jaribwait, rubinius provides "real" finalizers?
18:16:38jc00keIt's pronounced hey-zeus
18:16:58BrianRice-workbrixen, is there a way to put that lipstick on ruby?
18:17:01evanjarib: yep.
18:17:09brixenBrianRice-work: heh, um, I'll try?
18:17:35BrianRice-workheh
18:17:38jaribwow, nice.
18:19:50jaribis there a technical reason why MRI doesn't have __finalize__?
18:20:49evanjarib: they couldn't get resurection working I guess.
18:20:57evanyou'd have to ask matz.
18:21:31jaribto be fair, i've only needed it once
18:21:37jariband that was talking to a c lib
18:22:14jaribbut still, nice addition!
18:22:27evanthanks!
18:22:31evanyeah, we can use them internally
18:22:45evanand people can use them portably via some conditional code.
18:23:36jaribshouldn't be too hard to make it work on jruby, i guess
18:23:45evannope
18:26:04evanfuck yeah
18:26:14evanso, i need to go check out other GC finalizer behaviors
18:26:17evani'm running the finalizers twice
18:26:22evanwell, N times
18:26:43evanresurection causes the object to considered for finalization again
18:26:50evanthat seems like the right logic
18:26:53evanthoughts anyone?
18:28:06jaribwhy is it resurrected?
18:31:26evanthats up to the programmer
18:31:31jaribis that if the user creates a reference _in_ the finalizer?
18:31:37evanyep
18:31:49evandef __finalize__; Finalized << self; end
18:31:51evanfor instance.
18:32:01evanthe JVM only runs finalizers once.
18:32:15evanif it's resurected, the finalizer isn't run again.
18:32:19jaribyeah, was just reading about it
18:37:18brixenhmm, seems like running the finalizer multiple times is more robust
18:37:40brixenshould be the object's responsibility to understand resurrection and re-finalization
18:39:54evanagreed.
18:40:00evanso the JVM runs the finalizer once and only once
18:40:03evanwhich is wrong, imho.
18:40:17evanCLR has a GC.ReRegisterForFinalization method that you pass in a reference
18:40:22evanand it will be finalized again
18:40:24evanwhich is dumb.
18:40:41evanso i'm going to just continue to run finalizers if an object has been resurrected
18:40:55brixenseems the right approach to me
18:41:06evanthe programmer should be smart enough to know they're resurrecting it and set a flag or whatever to know "oh, this is the 2nd time i'm being finalized"
18:41:12brixenright
18:41:19evansince it's ruby, you can just do @finalized = true or whatever
18:41:22evanunlike the JVM or CLR
18:41:27evanwhere there is no place to hang new info off
18:41:39brixenyeah
18:43:33brixenevan: in Fixnum and Bignum, we have various to_<platform_sized_number> but only to_long_long and to_ulong_long on Integer
18:43:38brixenany particular reason?
18:44:24evannope
18:44:27brixenk
18:44:31evanjust not as fleshed out.
19:01:06evanhm.
19:01:12evanI just pushed the finalizer changes
19:01:23boyscoutFix ruby finalizers finally - 270db0c - Evan Phoenix
19:01:23boyscoutAdd Rubinius specific #__finalize__ API for resurrectable finalizers - 657c6b0 - Evan Phoenix
19:01:29evanthere we go.
19:10:15evanlunch!
19:13:50boyscoutCI: rubinius: 657c6b0 successful: 3500 files, 14306 examples, 42065 expectations, 0 failures, 0 errors
20:22:10evanobj = Data_Wrap_Struct(klass, NULL, -1, lxr);
20:22:12evanO_o
20:22:14evanwtf gherkin.
20:22:18evanwhy are you passing -1 as the free function.
20:24:08scooprREADME.EXT says it means just free()
20:29:15evanwhere?
20:29:32evanaah
20:29:34evanwow
20:29:37evan8 years of ruby
20:29:40evannever knew that.
20:29:46evanwell then.
20:29:49evaneasy fix.
20:30:34sbryantgeez, I thought everyone knew that.
20:31:23evanha.
20:31:50scooprI remember using it when I was doing ruby extensions, around 1.8.4 era
20:32:28evanmaybe i've just forgotten
20:32:29evanthats likely.
20:33:25sbryantPraise be to Bob and slack be upon you.
20:33:43sbryantThis is not the channel for that!
20:33:57evanO_o
20:34:16sbryantUhh. Church of Subgenius joke.
20:41:31boyscoutSupport -1 as the free function - 97ec25a - Evan Phoenix
20:41:31boyscoutHave Proc#inspect use the exact same format as MRI - 83b4f22 - Evan Phoenix
20:44:23evancucumber works now.
20:45:16brixennice
20:46:44DefilerSorry to hear that
20:46:55Defiler:)
20:47:17brixenhah
20:47:43evan|Blaze||: eh?
20:47:46evanoh.
20:47:48brixenhaha
20:47:48evancucumber joke.
20:47:50evan+1
20:47:51Defiler /mode #rubinius -nopuns
20:47:56evanno no
20:48:01evanmy whole life is +puns
20:48:02brixenwe're serious business here
20:48:08evantext puns are just harder
20:48:27DefilerWant to see something nerdier than rbx? http://www.newzeal.com/steve/antarctica.htm
20:49:07DefilerYes, that site is dedicated to immortalizing antarctic postage stamps
20:49:27DefilerI love the intertron.
20:49:53evanwow.
20:50:05boyscoutCI: rubinius: 83b4f22 successful: 3500 files, 14306 examples, 42065 expectations, 0 failures, 0 errors
21:03:50rueThat is quite awesome
22:14:28scooprheh, hadn't seen this before, http://githubissues.heroku.com/#evanphx/rubinius
22:16:35BrianRice-worklooks like a Cappucino app (or SproutCore?)
22:17:18evanit's cappucino
22:17:19scooprpossibly, didn't look into it
22:42:48brixenevan: what do you think of configure running a program (like has_function does) to get the endianness and set a preprocessor define?
22:43:11evansure
22:43:15brixenk
22:43:23evanthats what configure is for.
22:43:25brixenseems the most robust way
22:43:26brixenyep
23:12:32goyox86brixen: how is the pack/unpack stuff going? :]
23:22:41brixengoyox86: super
23:23:27goyox86brixen: did you found what was making complex specs fail?
23:24:28brixenyes
23:24:59brixenthe specs were broken but had been fixed in rubyspec
23:25:14goyox86nice
23:38:24boyscoutUse the proper object size when there is no slab space available. - d901038 - Evan Phoenix
23:38:24boyscoutMinor performanece fix, don't initialize an object body twice - 2e278ed - Evan Phoenix
23:39:47evanyikes. fixed an ugly bug introduced by the slab change
23:40:19goyox86people
23:40:37goyox86people, i remember there was 700 tests
23:41:05evanyes, and?
23:41:21goyox86for the vm, in my working copy there are 693 now, did you removed, or was me?
23:41:22slavapeople
23:41:23slavapeople
23:41:26evanremoved
23:41:30evani removed a bunch of code from the VM
23:41:33evanand the associated tests.
23:41:42evanbecause i moved it into ruby
23:41:58goyox86evan: thx bro
23:42:03evannp sis.
23:44:17brixenhah
23:44:44brixenhears an annie lennox tune
23:46:44boyscoutCI: rubinius: 2e278ed successful: 3500 files, 14306 examples, 42065 expectations, 0 failures, 0 errors