Index

Show enters and exits. Hide enters and exits.

00:28:32goyox86 i've frescloned and i got this http://gist.github.com/509028 while running ci specs, what do you think it could be? :s
00:28:51goyox86er fresh-cloned
00:36:32brixenyou got 0 failures, 0 errors... what could what be?
00:39:13goyox86brixen: but after sending a SIGINT, before itb was completely hung
00:39:21goyox86e it
00:40:08goyox86:s i'm leving office, i'll rebuild there and give you feedback :)
00:41:05goyox86probably it's me, but i just cloned the repo, that's what makes me curious :), see ya!
00:41:18goyox86leaves office
01:06:10goyox86brixen: there is a problem there at work :s everything is fine here at home :)
01:12:05brixengoyox86: hmm, ok
01:12:20brixengoyox86: you can run bin/mspec ci -V to see which file it hangs on
01:12:28brixenthen maybe investigate further
01:12:55goyox86brixen: k, is really weird never happened to me before
01:13:18goyox86brixen: how is the pack/unpack deal?
01:14:16brixengoyox86: it's going
01:14:21brixenI'm fixing specs
01:17:38goyox86brixen: nice, talking about other things i saw your tweets about http://rubybenchmark.com/, you were pretty upset
01:17:56brixenwell, yes
01:18:17brixenwe have plenty of shitty code
01:18:27goyox86brixen: i noticed that
01:18:39brixenand those benchmarks were totally clueless
01:19:00brixenbut the site did not say, here's an easy way to share clueless shit
01:19:19goyox86brixen: heh
01:19:30brixenit said, "here is a place to discover idioms and ruby best practices"
01:19:48goyox86brixen: seriuosly?
01:19:48brixen"my ass it is", was my response :)
01:20:09goyox86brixen: haha!
01:20:26brixenyeah, it did
01:20:37brixenthen the author removed the ruby best practice part
01:20:45brixenand now the site just goes to his blog
01:27:21goyox86gives brixen 5!
01:34:24brixenanyway, benchmarks are a tough subject
01:34:31brixenjust ask zed shaw
01:36:12goyox86brixen: zed zed, he is working pretty hard in mongrel2
01:36:44brixenyeah, looks pretty interesting
01:39:26goyox86yep
02:17:14dwaitebrixen you would prefer the tagline "better living through microbenchmarks"?
02:28:19brixendwaite: well, yes, but only if it has financial backing from BigCorp™
02:28:27brixenso that, you know, we can trust it
05:32:37srbakerhey everyone.
05:40:18brixenhey srbaker
05:49:06srbakerbrixen: heya
05:49:23srbakerso Defiler tells me you get debian-specific bug and problem report
05:49:23srbakerss
05:49:31srbakerfrom time to time (he indicated it's rather often)
05:49:37srbakeri'm going to be your debian support person now
05:50:30brixenok
05:50:43brixenI'm not sure we've seen a lot of debian issues
05:50:55srbakerwell, either way
05:50:56brixenour main CI platform is debian
05:50:59srbakergoodie
05:51:14brixenwe see some ubuntu issues
05:51:16srbakerwell, either way. i want to keep on top of things, so i'm going to havng out here
05:51:21brixensweet
05:51:22srbakerah, yes. he said they're mostly ubuntu.
05:51:43srbakerbut ubuntu issues are often users not really "getting it"
05:51:48srbakerand they translate to debian
05:52:09brixenweird one earlier today with ubuntu lucid http://gist.github.com/508664
05:52:32brixenseems like glibc isn't behaving the same as we'd expect from earlier versions
05:52:40srbakerokay
05:52:43brixenI haven't installed it yet to check though
05:52:50srbakeri'm about to hit bed, but i can definitely check thqt tho
05:52:56brixenok, cool
05:53:02srbakeri keep vms running of everything recent from debian and ubuntu
05:53:08brixennice
05:55:09brixenwow, ubuntu.com is totally different
05:55:14brixenwhen did they do that?
05:56:42brixenoh hm, I have a lucid install
07:05:27dbussinkgood morning :)
08:31:05dbussinkbrixen: do those specs fail in the same way on mri?
13:54:42Defilerbrixen: I guess I'm thinking back to the debian gcc fun we had. I guess there haven't been recent equivalents?
13:55:19goyox86morning!
13:57:41Defilermorning
14:30:00carllercheare there any debian packages maintained for rbx?
15:58:12evanmorning boys and girls.
16:02:27brixenmorning
16:02:49brixencarllerche: not that I know of
16:03:09Defilergod I hope not
16:03:10brixendbussink: those specs don't fail at all for me on Lucid, so dunno
16:03:27carllercheevan: so, how would you handle a gem that depends on ffi in mri?
16:03:48brixenDefiler: not sure what was up with that yesterday, I can't repro it
16:03:51evanwell, we should put an ffi.rb into lib/
16:03:55evanas a stub.
16:03:57brixenwe already have it
16:04:00brixenthat works fine
16:04:12brixenthe gem that depends on ffi and tries to install it is the problem
16:04:17evanoh, but when you install it.. right.
16:04:26evanwell, we can preinstall a gem called ffi
16:04:27evana stub gem.
16:04:34DefilerThe problem is stuff like this: http://github.com/perplexes/m2r/blob/master/connection.rb
16:04:41brixenIMO, rubygems needs to have better dependency info
16:04:55carllerchethat won't work if people depend on a specific version of ffi
16:04:56brixenbecause, we really shouldn't need to maintain a list of stub gems
16:05:01brixenexactly
16:05:01Defilerwe've offered to expose an api for it several times, but nobody wants to decide what
16:05:26Defilersomeone write a failing spec for what rubygems is missing and I will have it done by monday
16:06:15DefilerPersonally I think it is the library author's job to understand the dependencies and treat them gently
16:06:16evancarllerche: then we won't support that.
16:06:16carllercherubygems needs the concept of providing something
16:06:30carllercheso, that, rubinius can say, "we provide ffi >= 0"
16:06:50Defilerok; what happens if there's a gem with the same name as that?
16:06:53carllercheand json pure 1.4.0 can say "i provide json ~> 1.0
16:07:17Defilerso basically an 'interfaces' notion needs to be added
16:07:17carllercheDefiler: what do you mean?
16:07:25Defilerthat is unrelated to gems except by declaration
16:07:38carllerche"interfaces" is just saying "I am equivalent to gem X at these versions"
16:07:52DefilerYes but there needs to be an 'I' to say that.
16:08:00carllerchein the gemspec of a gem
16:08:04Defilerright
16:08:09carllerche(or, rbx would need to be able to do it some other way)
16:08:25DefilerThat's the trick; things that aren't gems need to be able to satisfy it
16:08:29evanwe can add some extra code to handle ffi in rubygems
16:08:57DefilerMy gut feeling is that it should be based on the presence/absence of constants
16:09:02evandef is_system_gem()
16:09:02Defilerso it would be more like provides :JSON
16:09:18carllerchethen you can't specify version constraints
16:09:26Defileryep
16:09:36Defilerbut without that everything needs to be a gem
16:09:41carllerchejson_pure 0.0.1 will not provide json > 1.4
16:09:46carllerchesure
16:09:53Defilerand that is unacceptable.
16:10:19DefilerUnless we, as a community, want to deprecate setup.rb
16:10:34Defilerand say that it is gems or GTFO
16:11:18carllerchewell, you need to be able to figure out when you do gem install vagrant
16:11:27carllerchethat you don't need to fetch ffi, because rbx already provides it
16:11:35carllercheyou won't actually be requiring ffi
16:11:43Defilersure, but rbx has to provide it as a gem
16:11:47Defilerin order for it to have a version
16:12:09DefilerI'd rather say you have to provide a VERSION or Version constant under the constant you provide
16:12:21Defilerto be an 'interface provider'
16:12:58brixenDefiler: how do you handle the needed 'require "ffi"' to get the constant in the first place?
16:13:12carllerchethat's the main problem
16:13:24carllerchegem install vagrant will never require ffi, so the constant is not there
16:13:33DefilerYeah that is a dealbreaker I guess
16:14:01Defilerlet's say I want to use ffi in a setup.rb situation.
16:14:20brixeninstead of making a gem, there should simply be a way for rubygems on rbx to provide synthetic "gem" info
16:14:47carllercheversions and dependencies are a package manager's thing
16:14:50DefilerI guess that doesn't solve the json_pure problem but personally I don't care about that case.
16:15:04carllercheif you want dependency management, you need to use something that knows about it
16:15:11brixensamething that would say: ffi, :any_verson, and rubygems would say "I've already got ffi" when a gem installs that depends on it
16:16:10DefilerShould it be legal to have json_pure and json installed at the same time?
16:16:15carllercheno
16:16:19evanbrixen: right, thats easy.
16:16:39evanbrixen: I can add that in as some custom logic for us no problem.
16:16:58carllerchejson_pure and json are basically the same gem but different versions
16:17:03brixenevan: well, I was hoping for it to work with any impl
16:17:15evanbrixen: i can push the patch back into rubygems also.
16:17:16evanno problem.
16:17:32brixenso, what would be the issue with this sort of solution?
16:17:48evannot to me
16:17:58evanit's a solution for implementers primarily
16:18:11brixenright
16:18:12evanit doesn't solve the general interface compatibility idea that Defiler and carllerche are discussing
16:18:13evanbut thats ok.
16:18:36brixenwell, yeah, I'm not interested in the setup.rb case
16:18:43brixenwhat year is this? :)
16:18:46evani guess i missed that
16:18:49evanwhat setup.rb problem?
16:19:05brixenproviding functionality outside of gems
16:19:06evansomeone trying to run the ffi gem's setup.rb on rubinius and use it outside rubygems?
16:19:21brixenDefiler: what is the issue exactly?
16:19:26evanthats not something we need to solve
16:19:39evanthe user is directly involved, so we can simply tell them "you don't need that."
16:20:39brixenwell, there are also 2 cases I'm thinking of: ffi is "we provide that", line-cache is "you can't have that"
16:20:56brixenor whatever that gem that ruby-debug uses is named
16:22:12evanwell, the code to allow any version of ffi can also disallow any version of line-cache
16:22:22brixencool
16:22:24evan["linecache", :no_version]
16:22:44brixen[:linecache", :forbidden] :)
16:22:47DefilerOK, so we should define an API in rubygems
16:22:53Defilerthat lets the platform declare such restrictions
16:23:14brixens/^:/"/
16:23:16evanwhy do we need an API for rubygems?
16:23:25Defilerwell, we're not the only ones with this issue, right?
16:23:25evanor rather, who is going to use this API?
16:23:33Defilerjruby has the json_pure thing going on
16:23:41evanthey've solved that.
16:23:45Defilerok
16:23:46evanbut sure
16:23:50evanother implementations
16:23:59DefilerIt just seems like a common complaint about rubygems, and hey, why not fix it
16:24:09evanI'd prefer to just write it in a way thats easy to use for us
16:24:15evanthen it will be easy for others
16:24:22evandon't really need to design the API standalone.
16:26:19Defilersounds good
16:26:42DefilerThat's what I meant, really.. do it in rbx, see what worked, see if there is something to put into rubygems to make it easier or whatever
16:26:50DefilerIf not, fine
16:27:27evansure
16:28:18DefilerI never want to need to type 'bundle' again
16:31:27carllercheso, is the current solution to always have an empty ffi gem on rbx?
16:32:33evansomething you can do right now? yes.
17:09:29brixensrbaker: what are you doing at columbia?
17:09:42srbakerbrixen: debconf
17:09:47brixenahh
17:10:13evancolumbia the country?
17:10:32evanbtw, on the ubuntu issue
17:10:43brixencolumbia.edu
17:10:45evanelle, the machine we run linux CI on, is my personal debian unstable box.
17:10:56evanthat I don't distupgrade often (once every few years maybe)
17:11:04evansince ubuntu is on the "cutting edge"
17:11:23evanthose errno related errors are probably because glibc changed the errno for those functions in newer glibc
17:11:39brixenevan: I can not repro those errors on Lucid
17:11:46evank
17:11:49brixenat least, lucid 32bit
17:12:20evansrbaker: the #1 thing we could use help with on for debian/ubuntu is making debs for rubinius
17:12:33brixenCI is clean as a whistle on lucy lucid and kranky koala
17:12:38evank
17:12:38srbakerevan: on it
17:12:48srbakeri'll iTP this afternoon
17:12:50evansrbaker: thanks big guy!
17:12:57evaniTP?
17:18:05boyscoutUse an internal mutex for Thread.critical, redo Lockable. - 5db4c11 - Evan Phoenix (hydra)
17:20:32srbakerevan: Intent To Package
17:20:37evank
17:21:55brixenevan: if you consider a name change in the future, Evan Phoenix-Hydra would be an iteresting choice
17:22:07evanha@!
17:22:11brixenheh
17:22:11evani'll keep it in mind.
17:25:34evanbrixen: A whole file full of fun: http://www.opensource.apple.com/source/xnu/xnu-1228.15.4/osfmk/i386/commpage/atomic.s
17:26:22brixenahh cool
17:29:29srbakerin fact, i'm ITPing now, before i forget
17:29:42srbakeri could probably have testable packages up by the end of the week
17:29:46evanrad.
17:45:38chanksbrixen: hey, I saw that you couldn't reproduce my Ubuntu Lucid errors
17:45:54chanksI'm still getting them. Is there any other information I can give you?
17:46:45brixendo you have any mods to a vanilla system?
17:46:51brixenis it 32 or 64bit?
17:47:05brixenwhat's your glibc version
17:47:20chanks32 bit. I hacked on Wine a bit, but otherwise everything is standard
17:47:29chanksI installed fresh just a week ago
17:47:38chanksHmm, how do I check the glibc version?
17:47:46chanksSorry, still new-ish to Unix
17:54:58brixenlooks like vanilla should be 2.11.1
17:55:12brixenyou can do: /lib/libc-2.11.1.so at the terminal
17:55:26carllerchebrixen: apparently the FFI::Struct API is different on rbx and the MRI gem
17:55:40brixencarllerche: yes, there are some differences still
17:55:44carllerchemitchellh has been trying to get vagrant to run on rbx :P
17:55:55carllerche(been bugging him about it since i try to use rbx has my only ruby ;))
17:55:56chanksGNU C Library (Ubuntu EGLIBC 2.11.1-0ubuntu7.2) stable release version 2.11.1, by Roland McGrath et al.
17:55:58chanksLooks like it
17:56:15srbakeris the license MIT?
17:56:19brixenevan: what's the status of the great FFI Reconciliation Project
17:56:22brixensrbaker: yeah
17:56:23mitchellhspecifically the virtualbox gem, there is difference in the FFI::Struct API
17:56:41brixenchanks: I'm not sure what would be the issue
17:57:05brixenchanks: you'll have to dig in a bit, or can you give me remote access to your box?
17:57:10srbakerevan: should i list you as upstream author? or "The Rubinius Team" and put a mailing list?
17:57:22mitchellhDoes rbx FFI support callbacks now? I was unable to find a straight answer through google
17:57:29chanksOk, how would I do that?
17:57:29mitchellhI was just cloning the rbx source tree myself to look
17:59:30srbakerbrixen: README says BSD
18:01:01brixensrbaker: sorry, looks like BSD yeah
18:01:16srbakerno biggie. i need to know what to put for "Upstream Author"
18:01:25brixenput evan for now
18:01:30srbakerokay
18:01:36evanyeah, thats fine.
18:01:44srbakerevan: what's your email?
18:01:54evanephoenix@engineyard.com
18:02:01evanis what you should use
18:02:38srbakerdone
18:02:51srbakerfiled
18:02:59srbakernow i'll work on getting a nice package out the door
18:03:21brixenchanks: could you gist me the failures again?
18:03:43brixenevan: what's the status of reconciling the FFI API?
18:03:49evanI started on it
18:03:55evanwe're closer now.
18:04:02chankshttp://gist.github.com/510115
18:04:03evanI need to work on Struct
18:04:08evanwhich is probably what you're seeing
18:04:21evanffi-gem's Struct will calculate the offsets
18:04:23evanours doesn't.
18:04:25evanis the big difference.
18:04:27brixenok
18:04:29mitchellhah hah
18:04:31brixenmitchellh: ^^
18:04:38brixenevan: do we have callback support yet?
18:04:41evanyep.
18:04:43evanthats in.
18:04:45brixenok
18:04:52brixenwe need docs
18:05:24mitchellhevan: in regards to that callback support, any reason this would be happening: https://gist.github.com/8ed27be6a14ce5ac5e02
18:05:31mitchellhevan: It looks like its not finding the callback type I defined for some reason
18:05:41mitchellh(which works fine with the ffi gem)
18:05:43evanyeha
18:05:45evani expect that
18:05:55evanthe ffi gem looks up types in a different place
18:06:04evani didn't wire in exposing callback types and looking them up
18:06:37mitchellhmind pointing me in the right direction for making this work for both the ffi gem and rbx ffi?
18:06:49evanrbx ffi needs to be changed
18:06:50evanto support it.
18:06:59evanthere is nothing else to do.
18:07:10mitchellhGotcha. I'll take a look at the rbx FFI code and see whats going on. Maybe I can help out
18:07:21evansure
18:07:24mitchellhAre the needed changes documented anywhere?
18:07:29evannope.
18:07:36evanbecause they didn't document what they changed.
18:08:03mitchellhof course
18:08:04mitchellh;)
18:08:25evanwhat is the 0's in the layout?
18:08:57mitchellhJust bandaids to get past the error of not specifying offsets
18:09:12mitchellhI didn't expect them to work, I was just trying to see what happened if I appeased the fbx struct API
18:09:14evan:/
18:09:22evanah.
18:09:23mitchellhsince the ffi gem has the offsets as optional
18:09:26evanright.
18:09:42evanwell take a look
18:09:42mitchellhwell, I'll take a look tonight and setup ffi gem on one monitor and rbx on another
18:09:44evanand submit a ptach
18:09:45mitchellhand see if I can help out
18:09:48mitchellhindeed sir
18:09:49evani'll take a look at this in the next few days
18:09:54mitchellhthanks
18:09:56evanwould be nice to have FFI closer in 1.1
18:10:02mitchellh:)
18:11:22brixenchanks: in your terminal, type irb, then File.read(".")
18:11:27brixenchanks: and gist me that
18:12:04chankshttp://gist.github.com/510125
18:13:29brixenchanks: ok, no idea, I get EISDIR
18:14:02brixenchanks: is this a virtual machine (vbox, vmware, etc) or on hardware?
18:14:54chanksHardware
18:15:09chanksThe only unusual thing I'm using is RVM, I think.
18:15:35Defilerand REE, right?
18:15:36brixenhm, I can't see that being an issue
18:15:46Defileroh, right, but it has the same problem on everything
18:15:46chanksYeah, REE
18:16:02chanksI just tried it in Rubinius and got the same thing
18:16:08DefilerWhat does File.read(".") do on 1.8.7 on that machine?
18:17:51brixenchanks: do you perhaps have a special fs type?
18:17:53chanksI just tried it on the system ruby (ruby 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]) and got Errno::EINVAL again.
18:17:58brixenfile system
18:18:23chanksWhen I installed Ubuntu, I picked the option of the encrypted home directory
18:18:38chanksThat's the only thing I can think of
18:18:38Defileroh what does File.read("/tmp") do?
18:18:41chanksIt's Ext4
18:18:58chanksErrno::EISDIR: Is a directory - /tmp
18:19:03Defileraha
18:19:03brixenyay
18:19:06evanbingo.
18:19:14evanyour home directory encryption thing is wrong.
18:19:28evanyou should file a bug with ubuntu about it.
18:20:05Defiler"read(2) EINVAL instead of EISDIR with encrypted home directory"
18:20:08Defileris my proposal :)
18:20:14evan:D
18:20:38brixenDefiler: you and your liquid tongue :)
18:20:49Defilersure makes it hard to drink milkshakes
18:20:52Defilerbut other than that, it's handy
18:20:53brixenhaha
18:21:23Defileror you could title it "porblem with the Ubunutus"
18:21:50chanksWell, that more accurately reflects my understanding of it
18:22:38brixenheh
18:34:12chanksOk, there: https://bugs.launchpad.net/ubuntu/+bug/613962
18:34:16chanksAny other information I should add?
18:36:57Defilerthat should be fine, I would think
18:39:04chanksOk, good
19:09:51brianmarioevan: yo
19:10:09brianmariowant to add rb_obj_dup, trying to find how that's done with the CPP api
19:10:18brianmarioer, want to add it to the capi
19:11:41brianmarioguess I could just wrap rb_funcall2(self_handle, rb_intern("dup"), 0, NULL) ?
19:22:49brixenbrianmario: should be fine
19:22:56brianmariocool
19:23:04brianmariowhere is dup implemented anyhow?
19:25:22brixengeneric one is in kernel/alpha.rb:220
19:33:10evanit's easier to dispatch out to the ruby version
19:33:15evanbecuase the ruby version also needs to call initialize_copy
19:33:45evanI have an idea to improve the speed of capi too
19:34:02evanadd a rb_static_funcall
19:34:16evanwhich would look up the method once and dispatch to it always
19:34:30brixenah cool
20:02:50dwaiteDefiler, you around?
20:10:53Defileryeah
20:36:22dbussinkevan: i have a faily reliable crash with hydra running ci, dunno if you have that too?
20:36:30evangist it up
20:36:34dbussinkthe thread deadlock issue
20:36:37dbussinkok, coming up
20:36:41dbussinkgot it in gdb :)
20:36:48evank
20:36:55evanis it running the whole spec suite?
20:37:03evanor can you isolate it to a particular file?
20:38:02dbussinkevan: it's not happening running the spec files individually :(
20:38:13evank
20:38:15evanthats fine.
20:39:05dbussinkevan: https://gist.github.com/29a6eeca272ffd3ec73c
20:39:14evani haven't even tried to run the whole suite yet.
20:39:17dbussinkhmm, my gdb seems to hang too :S
20:39:28dbussinkah, wait, it continued
20:39:36evanaah
20:39:41evanthats an easy fix!
20:40:34dbussinkevan: what's the easy fix then?
20:40:47evanObjectMemory's lock is held while GCing
20:40:58evanand it's trying to be held again inside running the finalizers.
20:41:14evanneed to manage it's locking differently
20:41:17evani'll check it out now
20:42:17boyscoutIntroduce the atomic namespace, implement CAS for x86 by hand. - da12e62 - Evan Phoenix (hydra)
20:42:20evanbrixen: hydra should work on older gcc's now (for x86 at least)
20:42:29brixenawesome
20:45:45evanI think now that i've got some code rearranged, i'll go ahead and allow a form of recursive locking
20:45:53evanthat will solve your deadlock dbussink
20:46:11dbussinkevan: w00t
20:46:23dbussinkevan: other than that it was getting pretty far along :)
20:46:29evan:D :D
20:50:13dbussinkevan: btw, i was curious about 8d6875d30ee26d9309f7f3902fd18bc6dd4248dc, since i think all the pthread_ stuff was in the util, not directly used, any reason that was changed?
20:50:33evanthat was me working on a bug.
20:50:56dbussinkevan: wonder if it's something you'd want to change in the future?
20:50:57evanbasically, allocating NativeThread seperately and managing it was a thread situation
20:51:40dbussinkevan: how do you mean?
20:51:41evanso I isolated the bug by removing having to create a NativeThread
20:52:22evanwell
20:53:03evanone sec, talking to my dad.
20:53:53dbussinkevan: for if you're back, is NativeThread still needed then?
20:57:51evandbussink: i haven't decided yet
20:58:00evanthe situation is that NativeThread deletes itself when the thread exists
20:58:02evanexists
20:58:03evangr.
20:58:05evanexits
20:58:25evanwhich created a condition where another thread could have a pointer to a NativeThread that was just deleted from memory
20:58:43evanNativeThread isn't needed either, it was just a helpful abstraction
20:58:51evani'd prefer to have fewer objects
20:59:05evanso i'll likely make some platform agnostic functions to start threads
20:59:18dbussinkwell, maybe a smaller pthread abstraction is better then yeah
20:59:26evanand only have a VM* and it's ruby Thread* to represent a running thread
20:59:33evanthats easier.
20:59:43dbussinkbecause there's also vm/util/thread
20:59:53evanwell
21:00:06evanNativeThread used thread::Thread from util/thread
21:00:20evanthread::Thread is what has the delete on exit abstraction
21:00:30evani was debugging the issue when I did this
21:00:39evani wasn't sure if it was a dangling NativeThread*
21:00:45evanbut i needed to isolate things to find out.
21:02:29dbussinkcan imagine yeah, but just wondering how it could be cleaned up
21:03:14evandbussink: ah
21:03:17evanpretty easy
21:03:25dbussinksince it's a bit confusing atm :)
21:03:48evanhave thread::Thread::start_running(info, func)
21:03:54evanwell
21:03:56evandelete NativeThread
21:04:02evanthat will make it less confusing
21:07:00evandbussink: unless you want to, i'll clean it up now.
21:07:35dbussinkevan: well, if you're working on it too now, go ahead, i might play a bit with trying to it myself too
21:07:48evank
21:07:59evani'm about to push a fix for your deadlock
21:09:46dbussinkevan: ok, cool :)
21:11:08dbussinkevan: looks like nativethread can be removed pretty easily
21:11:14evanyep
21:11:19boyscoutAllow LockableScopeLocks to be used recursively - 212f45d - Evan Phoenix (hydra)
21:14:54dbussinkevan: hmm, does it now ever get unlocked if it's recursively locked?
21:15:14evanthe top one unlocks it
21:15:24evanbecause the top ScopeLock object isn't recursive
21:15:26evansince it's the top.
21:15:52evanLockableScopedLock are created with the SYNC() macro
21:15:58evanthey're C++ objects that live on the stack
21:15:59dbussinkah ok, these are then popped?
21:16:06evanto lock and unlock in the constructor/destructor
21:18:24dbussinkevan: didn't realize it would be a different lock object :)
21:18:42dbussinkevan: dunno if stuff like this would be useful in comments or not?
21:23:03dbussinkevan: hmm, it now seems to hang at the point where it crashed before
21:23:28dbussinkevan: https://gist.github.com/d30c300e577ba398ad18
21:29:38boyscoutCleanup unused NativeThread class - c05e76c - Dirkjan Bussink (hydra)
21:44:57brixenECLT is just a terrible way to develop software
21:45:54evandbussink: oh, thats another good one!
21:46:11evanok.
21:46:11evanECLT?
21:47:16brixenedit compile link test
21:47:31brixenespecially when one edit to eg lock.hpp requires recompiling everything
21:47:46brixenevan: I did this to get it to build on leopard http://gist.github.com/510433
21:48:18brixenit builds and promptly segv's in ??
21:48:33evanno backtrace?
21:48:39brixennope
21:48:52brixenoh, well yes
21:48:54evan:/
21:48:57brixenbut not in gdb
21:49:19brixenhttp://gist.github.com/510442
21:49:45evanhrm.
21:49:46evanweird.
21:49:52evancan you run -v
21:49:53evan?
21:50:05evanrbx -v
21:50:07brixenwhat was that command to bt all threads
21:50:10evani assume that segfault is running all the specs.
21:50:15brixenrbx -v gives that gist
21:50:16evanwhich is something i'm not doing.
21:50:21evanodd.
21:50:25evanthread apply all bt
21:50:31evanyou can do
21:50:36evanthread apply all <anything>
21:51:05brixenok, better http://gist.github.com/510446
21:51:44evan:/
21:51:54evanperhaps try compiling with DEV=1
21:51:57evanthats the only way i'm doing it now.
21:52:17brixenok, -Xint -v runs, so that bt from the jit appears valid
21:52:41brixenI'll rebuild DEV=1
21:53:50evank
21:54:34dbussinkevan: i'm not doing DEV=1 btw
21:54:41evank
21:54:45dbussinkevan: but i'm going to get some sleep, need more info on that hang?
21:54:49evannope
21:54:51evani'm no it.
21:54:52evanon it.
21:55:02dbussinkok, cool :)
21:55:14dbussinki'll check tomorrow morning how far it goes then :)
21:56:36evank
21:56:49brixenevan: do you want me to commit that diff, or are you working on that stuff?
21:59:07brixengist after compiling with DEV=1 http://gist.github.com/510458
22:10:09brixentarcieri: what did you do to twitter
22:10:18tarcierilol
22:10:29brixenI need to complain about my back hurting
22:10:37tarcieriI want to complain about Twitter being down
22:10:39brixenhow the hell am I supposed to do that? :)
22:10:48tarcieriI got a tweet in earlier
22:10:52tarcieriwhen they were just starting to have problems
22:10:54brixenI saw
22:10:58brixenit's all your fault
22:11:03brixenyou started a domino effect
22:11:04tarcieriheh
22:11:46brixenyou'd think twitter would take some cues from IRC
22:12:00brixen"where do you go when Twitter breaks? IRC"
22:12:07tarcieriheh
22:12:27tarcieriit's just weird, because most large scale services I use are pretty damn stable, then there's Twitter and Reddit
22:12:37tarcieriand yeah, same solution in the case of Reddit
22:12:41tarcierigo to #redditdowntime
22:12:46tarcieriTwitter needs something like that
22:12:54tarcieri/join #twitterisdown
22:13:08tarcieriheh
22:13:11brixenheh
22:13:52brixentarcieri: you should make a twitter client that fails over to #twitter when Twitter is down
22:13:58tarcierilol
22:14:18brixennot sure how you'd do the protected feeds, but oh well
22:14:21tarcieriMONOCLESMILE ಠ◡ರೃ
22:14:27brixenhaha
22:15:50tarcierilike I don't even know what to say about Twitter, except it pisses me off when it's down and similar services operating at a similar scale don't seem to have similar problems *shrug*
22:15:58tarcieriall I can do is drama queen bitch bitch bitch
22:16:14brixendo a talk show :)
22:16:21tarcierioh, and certain values of "similar scale" are an order of magnitude larger
22:16:27brixenglenn beck style
22:16:36brixenor is it glen beckke
22:16:42brixenor glen beckie
22:16:58tarcierilol @ aniero's response to Twitter downtime: "means i can focus on work more"
22:17:01tarcierimaybe I should do that
22:17:09brixenheh
22:17:19tarcierithis is just drugery though
22:17:43tarcieritracking down nasty bugs in this horrible legacy mismanaged codebase... so far I've created a failing spec and that's it :/
22:17:55tarcieriour traffic light is red
22:17:59brixenprogress!
22:18:07tarcieriyes, marginal progress
22:18:17tarcieriI made the traffic light turn red
22:18:18tarcierinow what
22:18:19tarcieri:/
22:18:24brixenbeers?
22:18:28tarcierialready on it
22:18:31brixenheh
22:19:02brixenI seriously fucked up my back getting something out of the fridge to make a sandwich
22:19:07brixenI'm :(
22:19:21tarcieriwhat the hell were you getting out of the fridge that fucked up your back?
22:19:22brixennot sure I can do this sitting thing
22:19:30tarcieriwades through horrible API docs written in broken english
22:19:30tarcieriugh
22:19:34brixenone of those weird bend/twist things
22:33:29tarcierilol jeezus
22:33:51tarcieriafter two hours of scrutinizing this problem, pairing on it, going up to the whiteboard and trying to diagram it, we traced it down to this bug in this French API we're using
22:35:17brixenyou need more fluent programming
22:35:41tarcieriwe need this customer to go away
22:35:42tarcieriheh
22:37:05tarcieriI wanted to ask Gary Vaynerchuk at Railsconf "What do you do when you're dealing with a customer who's so bitchy and high maintenance that servicing their unreasonable demands starts to hurt your other customer relationships?"
22:39:16brixenyou fire them
22:39:31brixenunless they are bigger than those other customers
22:39:55tarcieriwe've tried... repeatedly... but unfortunately the requirement to work with this customer has come down from on hi
22:41:20tarcieri+gh
22:41:23brixen:(
22:41:36tarcierithey're barely even paying us
22:43:09tarcierione of my friends just IMed me "You just use Twitter to complain about Twitter"
22:43:12tarcieriheh
22:44:28brixenmust mean twitter is back
22:44:51tarcieriheh
22:44:59tarcieriyeah Tweetdeck just started popping shit up again
22:45:45brixenlike nothing ever happened
22:45:50brixenwhat was all the fuss? :)
22:46:11tarcieriI guess, whatever
22:49:43tarcierihttp://techcrunch.com/2010/08/05/twitter-down/
22:51:22brixenheh, "go outside"
22:51:31brixenI think IRC is a good failover
22:51:46carllerchefucking rubinius, how does it work?
22:51:54brixenhaha
22:52:01tarcieriheh
22:52:02brixenthere are knobs, you twist them
22:52:31brixentwitter down time spreads bad moods
22:52:41brixencarllerche: what seems to be the problem, bro?
22:52:42tarcieriI ended up drinking a bit too much
22:52:48tarcieriand git reverted one of my coworkers commits
22:52:52tarcierithen git reverted my revert commit
22:52:53brixenhah
22:53:03carllerchenothing
22:53:09carllercheyou're out of date w/ your memes
22:53:17tarcierilol
22:53:22tarcieriFUCKIN' MIRACLES
22:53:23brixenwhat do you expect? all I do is rubinius
22:53:28tarcierilol
22:53:36carllercherubinius is a fuckin' miracle
22:53:41mitchellhlol
22:53:58tarcieribrixen: does this make any sense to you? http://www.hockeydrunk.com/wp-content/uploads/2010/04/fucking_miracles.png
22:54:17brixenum... no?
22:54:24tarcierilol
22:54:30brixenheh
22:54:34tarcieribrixen: http://www.youtube.com/watch?v=_-agl0pOQfs
22:55:58brixenheh
22:56:33brixengoes back to pack specs
22:57:34tarcieriMAGIC EVERYWHERE IN THIS BITCH
22:57:36tarcieriSHIT'S CRAZY
22:58:02mitchellhNow that's not a very flattering drawing of carllerche
22:58:09mitchellhhahahah jk ;)
22:58:33brixenwait, that's *not* carllerche?!
22:58:38tarcieriheh
22:58:45carllerchefail