Index

Show enters and exits. Hide enters and exits.

00:00:18dbussinkjp_tix: but i really need to some sleep
00:00:34twbray enters the room.
00:00:43jp_tixdbussink: me too, I think we're in the same time zone :)
00:00:47jp_tixthanks for your help
00:01:42dbussinkjp_tix: no problem
00:01:48dbussinknight all
00:01:55evandbussink: nite
00:02:06dbussink leaves the room.
00:03:31GMFlash leaves the room.
00:03:40GMFlash enters the room.
00:05:36imajes leaves the room.
00:06:16imajes enters the room.
00:07:05imajes leaves the room.
00:09:19imajes_ enters the room.
00:10:01imajes_ leaves the room.
00:10:44geekounet leaves the room.
00:11:49evanso, the meta instruction to do + is 2.5x faster than without it
00:12:00imajes enters the room.
00:12:41headiusmeta instruction?
00:12:57evanmeta_send_op_plus
00:13:01evanit's an optional instruction
00:13:05evansame way yarv does it
00:13:18headiusoh, the optimized math ops
00:13:20evanif it sees something being sent the + selector, it uses this
00:13:22evanyeah
00:15:34headiusplaying with specific math optimizations?
00:16:07vintrepid leaves the room.
00:16:50vintrepid enters the room.
00:16:59imajes leaves the room.
00:17:25imajes enters the room.
00:17:53imajes leaves the room.
00:18:36evanheadius: looking at the method dispatch performance
00:19:49imajes enters the room.
00:20:05headiusI haven't tried operator optz recently
00:21:02Defilerevan: Do you have a suggestion for how I should debug this? http://rafb.net/p/mdBiIM75.html
00:21:41evandebug what?
00:21:43evanwhats the problem?
00:21:59DefilerAah, sorry.. the 'type' is wrong
00:22:07DefilerI pass in zero, and get back 4196896
00:22:11Defiler..and then fire
00:22:24evanwhats the type in ffi?
00:22:29evandebugging is a bitch.
00:22:38evanyou're going to have to debug the stub generator
00:23:26Defilername and port are strings, type and flags are ints
00:23:32Defiler(in the attach_function call)
00:23:38evanyou're in 32bit mode?
00:23:40DefilerYeah
00:23:56evani'd very it's wrong on another platform first
00:24:01evanbefore you start to spin your wheels
00:24:07evans/very/verify/
00:24:09DefilerIt isn't. It only blows up on MacOS, as far as I can tell
00:24:16evanbe sure.
00:24:19DefilerOK
00:24:59Defilerspec/ruby/1.8/library/socket/pack_sockaddr_in_spec.rb if anyone else wants to run it with mspec
00:25:03DefilerTrying it on Gentoo now
00:27:02rueDinner, be back in a bit
00:35:37Defilerevan: Ouch. http://rafb.net/p/plSrvt46.html
00:35:42DefilerThat is on an EY slice
00:35:58Defiler(attaching to the same function)
00:36:03evanfun.
00:36:06DefilerSo maybe the stub for that signature is broken ugh
00:38:07evanwhich function is this?
00:38:37Defilerffi_pack_sockaddr_in in ffi_util.c
00:38:51evan:state, :string, :string, :int, :int
00:38:52evanright?
00:39:01DefilerYeah
00:39:02DefilerOBJECT ffi_pack_sockaddr_in(STATE, char *name, char *port, int type, int flags) {
00:39:44DefilerWe don't use lightning on MacOS x86 anymore, right?
00:39:54DefilerIt seems that way to me, just checking
00:40:00evanyeah
00:40:02evanwe don't
00:40:08evani got ffi_x86.c working on darwin
00:40:25DefilerWe do use it on Linux 64bit though, right?
00:40:38evanthats a different one
00:40:42evanthe 64bit one is different
00:40:44DefilerYeah
00:40:58DefilerI am just surprised that it would happen to be wrong in both implementations
00:41:10evantrue dat.
00:42:19therealadam leaves the room.
00:42:24ragnard leaves the room.
00:42:43headiuspastie: for evan
00:43:02tmpkevan: trace trees can be considered a form of dead-code elimination.
00:43:12tmpkrue: is this the most recent benchmark? http://pastie.org/152553
00:43:17pastieevan: http://pastie.org/152962 by headius.
00:43:18evanheadius: url?
00:43:24evanpastie is SOO slow.
00:43:47headiusthat's the difference between normal and fast operators (for fixnum only)
00:44:06evancool
00:44:33MenTaLguYI wish pastie wouldn't keep defaulting to the midnight theme on me
00:44:42MenTaLguYoh, wait, different pastie
00:45:19pauldix enters the room.
00:45:39headiusevan: so not as much as 2.5x for us, but quite a chunk
00:46:42pauldix_ enters the room.
00:46:59pauldix_ leaves the room.
00:49:16Yurik leaves the room.
00:52:19Yurik enters the room.
00:56:25Yurik leaves the room.
00:59:13cored enters the room.
01:03:54agile leaves the room.
01:06:34pauldix leaves the room.
01:07:14drbrainI found a bug in IO#eof?
01:07:24drbrainit does not return true until the next read
01:07:46DefilerThat doesn't sound as eof-ish as it should
01:07:53drbrainecho 'x' > x; shotgun/rubinius -e "File.open 'x' do |io| io.read 2; p io.eof? end"
01:07:59drbrainMRI reports true
01:10:20tongueroo leaves the room.
01:11:38drbrainyes, it is exculded
01:16:28menator enters the room.
01:28:06graza_ enters the room.
01:28:07graza leaves the room.
01:30:22KirinDave enters the room.
01:31:31drbrainIO#read reads the specified number of bytes from the file to the buffer FAILED
01:31:35drbrain!!!!
01:31:38drbrainwtf?
01:32:22KirinDav enters the room.
01:37:52wvl leaves the room.
01:38:18brixenevan: I need a quick confirm: the new hash_rehash should be semantically equivalent to: out = {}; self.each { |k,v| out[k] = v }; replace out (i.e our old Ruby code rehash)
01:38:32wvl enters the room.
01:40:17technomancy leaves the room.
01:41:01ezmobius leaves the room.
01:45:23imajes leaves the room.
01:45:44imajes enters the room.
01:46:11macournoyer enters the room.
01:48:00RyanTM_ leaves the room.
01:48:01KirinDave leaves the room.
01:49:22RyanTM_ enters the room.
01:49:34obvio enters the room.
01:51:25lopex leaves the room.
01:52:41boyscout3 commits by Eric Hodel
01:52:42boyscout * (Last change was ok). Force check for data so #eof? works; e0a6c8e
01:52:43boyscout * Revert "Force a check for more data on the IO for IO#eof?"; d7e67c2
01:52:44boyscout * Force a check for more data on the IO for IO#eof?; 4c1182c
01:53:10menator leaves the room.
01:53:52menator enters the room.
01:56:37evandrbrain: next time, just use git reset --hard HEAD^
01:56:43evandrbrain: to throw away your last commit
01:57:48MenTaLguYnote that that is only safe when you haven't pushed yet. but if you haven't pushed it yet, it IS the strongly recommended way to roll back
01:58:19evanyes, thanks for the clarification
01:59:53rubyconsumer enters the room.
02:00:41headius leaves the room.
02:00:50cored leaves the room.
02:01:18KirinDav leaves the room.
02:01:50twbray leaves the room.
02:02:17enebo leaves the room.
02:04:08rubuildiusEric Hodel: e0a6c8e17; 4812 examples, 17512 expectations, 0 failures, 0 errors
02:04:59enebo enters the room.
02:06:15wycats enters the room.
02:07:21nicksieger leaves the room.
02:09:05RyanTM_ leaves the room.
02:09:56enebo leaves the room.
02:10:18RyanTM_ enters the room.
02:10:24nicksieger enters the room.
02:11:33agile enters the room.
02:16:02djwhittI'm seeing some errors related to Fixnum operations when I run ci now
02:16:06djwhitthttp://pastie.org/152987
02:16:41evanhm
02:16:49djwhittthose are from Gentoo on amd64
02:17:17brixendjwhitt: I'll check gentoo
02:17:43wifelette enters the room.
02:20:05_meadowhttp://pastie.caboo.se/152984
02:20:29_meadowis it code bug or platform/compiler specific?
02:20:45evanyou mean the enum?
02:20:51_meadowyes
02:21:08evanit's not a bug
02:21:18evanit's so that those are available in gdb
02:22:02evan_meadow_: when you change it, does that error at the top of that pastie go away?
02:22:36_meadowusing defines those errors go away
02:23:01evanwhich errors?
02:23:06evanthe spec failures?
02:23:36_meadowspecs pass
02:23:54evanok
02:24:03evanthe something is up with the enums
02:24:15evanwe can replace them with #define's
02:24:15VVSiz_ enters the room.
02:24:16evanthats fine.
02:25:04evangcc is casting the enum's differently that having the code in a #define
02:27:03tarcierievan: what do you think about wrapping up libev's nested event loops and exporting that in Ruby... that would allow you to monitor sets of file descriptors/IO objects independently from the rest of the system
02:27:47tarcierithat'd provide the base functionality needed to build a Reactor library for Rubinius
02:27:56evani think thats ok, but i'd rather have it be abstracted slightly
02:28:14evanie, the words libev wouldn't be in any module name or method :)
02:28:20tarcierioh, most certainly
02:28:34evani'm ok with that otherwise
02:28:45evanit would mainly be writing a Scheduler::Work object
02:28:52evanyou'd build a Work object, and hand it to the VM
02:28:58tarcieriThe way I do that in my libev-based Reactor library is to provide "Loop" objects, which hold a collection of "Watcher" objects...
02:28:59evanthe VM would fill in Work info
02:29:21tarcierithe Loop can either #run or #run_once
02:29:26tarcieriI'll take a look at Work objects
02:29:35evani've just made it up
02:29:38evanso there is nothing to look at
02:29:39evan:)
02:29:39tarcierioh
02:29:39tarcieriheh
02:29:51tarcieriI don't know a better name than Loop :/
02:29:56evanthe main thing is that the only 'blocking' call can be one to Scheduler.something
02:29:59tarcierior rathe,r can't think of one
02:30:02evanwell, thats not blocking
02:30:09evanthe Channel#receive can be the only blocking one
02:30:26evanso you have to describe what you want in some form and ask the VM to act on that description
02:30:43tarcierithe underlying functionality for this would have to be in C :/
02:31:03evanright, but i think it can only be a little bit of C
02:31:11tarcierilibev lets you have multiple ev_loops(), and you can use one to monitor the other, provided it contains only ev_io watchers
02:31:23tarcieriso the actual blocking call would be the ev_loop for the current VM
02:31:26evanmainly, how to take a Work object and map it to libev events
02:31:40tarcieriwhich, afaict, is the only blocking call in Rubinius
02:31:51evani won't have the multiple loops
02:32:00evanbut they don't provide anything extra I can see
02:32:09evanthe extra 'loop' would be just a ruby API
02:32:11srbaker leaves the room.
02:32:19evanthats mapped onto the single libev loop.
02:32:33evanok, got to run.
02:32:39tarcieriyou could do it that way as well... hmmm
02:32:43evanfood, movie, bed, skydiving (finally, yes)
02:32:49tarcierihaha wow
02:34:45evanthe only time for tomorrow was 7:30am
02:34:51evanand it's at least an hour drive
02:34:58evanso we have to be up at 5:30 :P
02:38:26tarcierievan: there's one advantage to nested loops through libev
02:38:27tmornini_ enters the room.
02:38:57tarcierievan: on platforms with epoll or kqueue, nested loops can be kept statefully in the kernel
02:39:24tarcierii.e. you can create two kqueues, and use one to monitor the other
02:40:22tarcieriso if you're finished monitoring a nested loop, you can just remove it from the main loop, rather than unregistering its entire set of event monitors from the main loop one at a time, then registering them again one at a time when you want to monitor it again
02:41:45VVSiz leaves the room.
02:44:15srbaker enters the room.
02:45:29tmornini leaves the room.
02:46:00wycatsoy: http://www.oreillynet.com/xml/blog/2008/02/how_to_pronounce_rubinius.html?CMP=OTC-TY3388567169& ;ATT=How+To+Pronounce+Rubinius
02:46:19geekounet leaves the room.
02:47:34obvio leaves the room.
02:50:23_mutle enters the room.
02:52:59geekounet enters the room.
02:54:32rueBackaroni
02:55:50mutle leaves the room.
02:59:30bburcham leaves the room.
03:01:25bburcham enters the room.
03:02:37srbaker leaves the room.
03:02:59noclue123 enters the room.
03:03:11bburcham leaves the room.
03:03:16kofno enters the room.
03:03:21drbrainevan: oh, right, but I will not remember that again :(
03:04:06bburcham enters the room.
03:04:52b3b0p enters the room.
03:05:13bburcham leaves the room.
03:08:20ruetmpk: Yeah, that is the last one
03:09:21drbrainsighs
03:09:27drbrainthere are not enough IO tests
03:09:36drbrainor, there are not enough good IO tests
03:10:10tmorninidrbrain: congrats on gems. That's *super* cool.
03:10:24drbraintmornini_: thanks
03:10:34tmorninidrbrain: no, thank you!
03:10:35tmornini:-)
03:10:43drbrainalthough, something broke it last night, and I haven't tried again :(
03:12:17ruedrbrain: I am trying to find a really bad string perf regression right now
03:12:27rueHave no idea if this is related
03:12:42rueIt is somewhere between HEAD~25 and ~37 is all I know so far :D
03:12:58drbrainrue: I'm not sure if it was your Array#sort thing that broke it, or something entirely different
03:13:05drbrainI don't think I'd tried it at all that day
03:13:48tmornini_ leaves the room.
03:14:27drbrainI broke IO#read
03:14:39rueHeh
03:15:02drbrainhrm, nope!
03:16:14drbrainsomething is really messed up
03:16:25drbrainFile.open 'README' do |fp| p fp.gets, fp.read(0), fp.read(16) end
03:16:43drbrainI get nil, "", "1. What is Rubin"
03:17:56drbrainif I change that to be a new p per #read, I get nil for the last thing, and the correct value for the first
03:18:37rueHave you tried to bisect?
03:18:45drbrainno
03:19:06drbrainfirst I'm going to try figuring out where the buffer thinks it's supposed to be
03:22:05lvmchey rue
03:22:05_meadow_ leaves the room.
03:22:18lvmcyou can open mod_rubinius to google summer code?
03:24:23VVSiz enters the room.
03:25:21dysinger_ leaves the room.
03:25:47ruelvmc: Oh, I would not expect that to be a problem
03:25:54ruedrbrain: Debugger?
03:26:14lvmcrue, very nice! i`m say yesterday. i want to help with it
03:26:23vintrepid leaves the room.
03:26:52lvmcbut if i participated via google summer code i will can buy a new laptop, if my work sounds nice
03:27:04lvmccan you mentor me or anything else??
03:27:53eventualbuddha leaves the room.
03:28:59ruelvmc: I do not know at this point
03:29:18rueI am not opposed to the idea or anything but I will have to see a bit further down the road
03:29:41lvmchum
03:30:33lvmcthe mod_rubinius will be projected to 2.0 or 2.2?
03:31:39MenTaLguY leaves the room.
03:31:42lvmc(apache)
03:31:56rueI will probably target 2.2 initially
03:32:05lvmcperfect
03:32:08srbaker enters the room.
03:32:15lvmci`m testing a lot of things related with dso
03:32:18lvmcapxs
03:32:20drbrainrue: it was probably the code I deleted from #read to make #eof? work
03:33:25rueHm, weird, looks like ddc63b96fe is the culprit for the String problem
03:35:07rueWell, my String problem which is really some other problem
03:35:21vintrepid enters the room.
03:36:26MenTaLguY enters the room.
03:37:29drbrainyup, it was my fix for #eof? that broke it
03:37:37drbrainI'm going to test out my chains, then come back and fix it
03:37:53nicksieger leaves the room.
03:42:17femtowin leaves the room.
03:42:30VVSiz_ leaves the room.
03:47:17defunkt enters the room.
03:51:22srbaker leaves the room.
03:53:43graza_ leaves the room.
03:53:45graza enters the room.
03:54:46srbaker enters the room.
03:55:11nutrimatt leaves the room.
03:55:17rueHaha! `git log origin`
03:55:24wycats leaves the room.
04:08:25graza_ enters the room.
04:08:26graza leaves the room.
04:16:06macournoyer leaves the room.
04:21:01graza enters the room.
04:21:02graza_ leaves the room.
04:24:56srbaker leaves the room.
04:25:10srbaker enters the room.
04:27:22twbray enters the room.
04:29:43benburkert_ enters the room.
04:30:16nicksieger enters the room.
04:39:30rueWTF, Lighthouse has 'lost' my login..?
04:39:59drbrainugh
04:40:11drbrainIO#read can't read more than 8k
04:42:20felipechi everyone
04:42:35lvmcyeah
04:45:12rueHello, felipec
04:45:46ruedrbrain: Dunno what this is but there is something funky going on. It seems that the problem is exponential--and I am doing linear
04:45:54rue b.report { 10.times { strings = ('Hello there how aaaa'..'Hello there how bbbb').to_a } }
04:46:22drbrainrue: :(
04:46:24rueIf I do 1.times, it completes in 4.4 seconds (the last good version takes 0.2s), but 10.times may or may not even finish
04:46:39drbrainrue: I am wading through the broken IO#read code
04:46:44drbrainit makes me sad
04:46:47drbrainwow!
04:46:56drbrainI'm sorry :(
04:47:04rueSo there is something *badly* wrong
04:47:22drbrainat least I know what my problems are
04:47:49rueHeh
04:48:02ruePlus stupid-ass LH cannot find my profile
04:48:34felipecI saw an interview with Evan Phoenix and I found it very interesting
04:48:52drbrainfelipec: he's an interesting guy
04:48:57rueEr, actually, 2.times royally screws things up. Logically one would expect a roughly linear + a bit for extra memory shufflig
04:48:59felipecspecially all the tools that are being used
04:49:19felipecstuff that other project might definitely find handy
04:51:20rue19313 ruerue 1 100 0 2302M 1594M pfault 0:11 14.96% rubinius.bin
04:51:20rue19313 ruerue 1 100 0 2302M 1594M pfault 0:11 14.96% rubinius.bin
04:51:24rueWhops, sorry
04:52:34RyanTM_ leaves the room.
04:53:16felipecbut what about the Ruby Implementations Shootout
04:53:38rueI think allocate_bytes is broken
04:55:16Defilerfelipec: We are generally moving too fast to pay a lot of attention to those
04:55:38Defilerfelipec: Though I am glad people are interested enough to do them.. they are a hassle to set up
04:59:25felipecDefiler: that's good because it was doing very bad
04:59:36DefilerYeah, those results are ancient now
04:59:59DefilerHardly a day goes by where someone doesn't check in a patch improving the performance of something by 5 to 100x
05:00:19rueDefiler: Or quadratically regressing allocate_bytes perf :/
05:00:21DefilerWe just aren't an old enough project for those shootouts to offer much in the way of guidance
05:00:25Defilerrue: Sure, or that :)
05:00:28rueOK, admittedly the latter is a bit rarer
05:00:42DefilerI mean.. who uses allocate_bytes.. that's an edge case :)
05:00:45rueDefiler: Actually, you have a beefy machine
05:00:52drbrainI am making IO#read slower today, muhahaha
05:01:32Defilerrue: Sure. Need me to run something?
05:01:32drbrainrue: from the numbers, Defiler's machine doesn't seem to be much faster than mine in real-world performance
05:01:38rueDefiler: Can you execute require "benchmark"
05:01:38rueBenchmark.bm {|b|
05:01:38rue b.report {
05:01:38rue strings = ('Hello there how aaaa'..'Hello there how bbbb').to_a
05:01:38rue strings = ('Hello there how aaaa'..'Hello there how bbbb').to_a
05:01:39rue }
05:01:41rue# b.report {
05:01:43rue# s = 'Hello there how aaaa'
05:01:44DefilerWhich numbers are those?
05:01:45rue# a = Array.new(18000).map! { s = s.succ }
05:01:47rue# }
05:01:49rue}
05:01:51rueOop, sorry
05:01:57DefilerWhy are you pasting this ghastly thing in my beautiful IRC channel =(
05:01:57drbrainDefiler: bin/ci time, mostly
05:02:12DefilerIt has been around 15.2/15.4 recently, yeah
05:02:22DefilerThe CPUs in this machine aren't particularly exciting
05:02:26DefilerIn wins in IO speed and RAM
05:02:37rueDefiler: The machine is horribly slow due to the page faulting, everything is uncached :(
05:02:43rueShould resolve in a couple minutes
05:02:54drbrainhey! look at that! I can do math!
05:03:41rueDefiler: Anyway, here a single invocation of the Range thing works, the threshold for failure is somewhere around 25k array elements
05:05:04Defilerrue: http://rafb.net/p/78aeYi52.html
05:05:34Defilerrue: Running this, assuming I pasted it properly http://rafb.net/p/569E1617.html
05:06:03DefilerSo, 200x slower than ruby 1.8
05:06:05Defilerheh
05:06:37drbrainha, sweet, now the read specs take 1.4s!
05:06:47graza leaves the room.
05:06:51graza_ enters the room.
05:08:59rueDefiler: It does actually complete there?
05:09:59DefilerYeah. Make sure the second paste matches what you expect to see
05:10:52rueYep, looks fine. Do me one more favour and test the Range version with 10.times and 100.times?
05:10:58DefilerSure.
05:11:10DefilerUses a lot of RAM. activity monitor shows a peak of 1.26GB real
05:11:12Defilerheh
05:11:17rueYeah
05:11:34rueThe most bizarre thing is where it breaks
05:11:48ruetig show ddc63b96f
05:12:30Defiler30.712804
05:12:40Defilerfor 10.times do version of the Array.new() thing
05:13:14rueWhat about the first one with the Range?
05:13:52DefilerOh, I misunderstood which one you wanted me to test, didn't I
05:14:11DefilerYou want both of those identical strings = lines inside the 10.times block?
05:15:34rueJust one is fine
05:15:48rueI just took it out of the loop to eliminate that
05:15:56rue(It did not help :P)
05:16:04DefilerOuch. Spends over 95% of its time in bytearray_new / bytearray_allocate_with_extra
05:16:20Defiler72 seconds with 10.times do wrapped around both of the lines
05:16:25DefilerSo like 20.times do
05:17:26Defiler32 seconds for just 10.times do, without the sampler running
05:17:45Defilervs. 0.132 seconds in ruby 1.8.6. hah
05:17:59rueYeah, it worked just fine before that patch
05:18:23rueI mean not exactly MatzRuby speed but reasonable
05:18:52DefilerYeah, we need to avoid these n^2 wacky temporary Arrays :)
05:27:29rueCould one of you gentlemen invite me on LH? esaynatkari at the EY domain
05:28:41imajes leaves the room.
05:32:58defunkt enters the room.
05:32:59graza_ leaves the room.
05:33:09graza enters the room.
05:34:29drbrainfucking git
05:34:50boyscout2 commits by Eric Hodel
05:34:51boyscout * Fix IO#read for large files and small parts of files.; 0898232
05:34:53boyscout * Add missing spec for IO#eof? and fix.; 1d07588
05:35:43drbrainsomething's still broken with #gets + #read :(
05:35:58rueUgh, I need to figure out how to use gprof with libtool
05:36:13_ADS enters the room.
05:44:09rubuildiusEric Hodel: 089823214; 4824 examples, 17537 expectations, 0 failures, 0 errors
05:48:08zf leaves the room.
05:55:53lstoll enters the room.
05:58:30pergesu enters the room.
06:00:22vintrepid leaves the room.
06:08:09headius enters the room.
06:08:40smtlaissezfaire enters the room.
06:11:22VVSiz_ enters the room.
06:12:18smtlaissezfaireHow much of rubinius is based on the Smalltalk-80 implementation? Is it worth reading the implementation section of the blue book to get some insight into the internals of rubinius?
06:13:22smtlaissezfaireI imagine a lot of the implementation has changed, even in the smalltalk world...
06:13:27srbaker leaves the room.
06:13:49drbrainsmtlaissezfaire: reading the blue book will familiarize you with the ideas
06:14:01drbrainsmtlaissezfaire: then you can read the rest of the papers that have been sourced
06:14:05srbaker enters the room.
06:17:45_ADShooray! finally got rubinius to run on my windows machine (sort of)
06:17:54_ADSit's runing under coLinux
06:19:46drbrain_ADS: hahaha
06:19:50drbrain_ADS: cheater
06:20:24_ADSit works....
06:20:46_ADSI got cygwin to build as far as rubinius.bin
06:21:00_ADSbut then it segfaulted in the startup code - before main even
06:22:12flori leaves the room.
06:22:34smtlaissezfairedrbrain: I've noticed that smalltalk returns self if no return is explicitly stated in a method, and ruby obviously returns the last object given (or nil, when no method body is given).
06:22:46smtlaissezfaireIs this an optimization move for smalltalk?
06:22:58drbrainsmtlaissezfaire: no idea
06:23:41flori enters the room.
06:24:00smtlaissezfaireThat first implementation chapter in the blue book follows how a method actually executes, regarding the stack, and it seems like at the end of the method nothing is left on the stack except the current context.
06:24:53drbrainsmtlaissezfaire: I'll bet it's a language feature more than an optimization
06:25:30smtlaissezfaireYeah - although, have you ever thought: "wow, it would be nice if ruby, by default, returned self" ?
06:26:14drbrainno, but that may be due to the rest of ruby's style
06:26:43smtlaissezfaireI've only had that feeling once - when I was writing a DSL - one of those without parens: "one day from now" - which I wanted evaluated as one.day.from.now, all executing in the current context
06:26:51smtlaissezfaireYeah - or habit, maybe.
06:27:15smtlaissezfaireAnyway - I've been thinking about these little differences between our language and smalltalk...why we do the things the way we do them. What they are missing, and what we are missing.
06:27:38_ADSanyone knwo where String#to_f is defined?
06:27:43_ADSoops know
06:28:46smtlaissezfaire_ADS: search, my friend
06:28:58_ADSworking on it.
06:29:11smtlaissezfairekernel/bootstrap/string.rb
06:29:15VVSiz leaves the room.
06:29:18_ADSmy linux-foo is rusty
06:29:47smtlaissezfaireWhat is the right syntax for find? I always fuck it up and end up doing du | grep ...
06:29:59ruefind where opts
06:30:59_ADSso are the classes in kernel/bootstrap extended by those in kernel/core? or overridden?
06:31:49rueReopened
06:31:51menator leaves the room.
06:32:01dewd leaves the room.
06:32:56_ADSrue: thanks
06:33:13smtlaissezfairedrbrain: Am I making sense with the smalltalk thing? Do most ruby programmers find it alienating? I think we should be stealing ideas like pirates from them.
06:33:49rueFind what alienating?
06:34:07smtlaissezfaireThe smalltalk environment, in general
06:34:29smtlaissezfaireIt doesn't seem like many rubists want anything to do with Smalltalk, which seems strange.
06:36:24menator enters the room.
06:36:51rueSmalltalk is not a very popular language
06:36:54drbrainsmtlaissezfaire: it's true of all other OO language users
06:36:59drbrain(except maybe self)
06:38:03smtlaissezfaireYeah - I get this impression that the dude from self was pretty good friends with Dan Ingalis.
06:38:41drbrainUngar was Ingalls' student
06:38:51smtlaissezfaireI saw one talk online by Dan Ingalis in which he fielded questions at the end, and the guy who created self asked a question like: "Don't you think it's sad that java won"
06:40:11smtlaissezfairedrbrain: interesting.
06:41:21headiusruby is like smalltalk without being walled in
06:41:44smtlaissezfaireheadius: What do you mean?
06:42:06smtlaissezfaireAs in - a self contained world?
06:42:19headiusas in one true world and if you don't like it, tough
06:42:29headiusyou live in that box, for better or worse
06:42:40smtlaissezfaireyeah - I've been thinking about that
06:42:49smtlaissezfairea trade off - but in both directions.
06:43:35smtlaissezfaireI've always hated GUI's because I couldn't manipulate them programatically
06:45:01tarcierihttp://userpage.fu-berlin.de/~ram/pub/pub_jf47ht53Ht/doc_kay_oop_en
06:45:04tarcieri^^^ ever read that?
06:45:17ezmobius enters the room.
06:45:39smtlaissezfaireI was pairing with brynary today, and he ended up changing webrat open up a browser when rails raised an error - as if you had actually clicked around and saw the error in the development environment.
06:45:51tmpkrue: if I read the graphs right, the new mutating sort runs faster, but the non-mutating one doesn't.
06:45:55tmpkWhy is that?
06:47:02smtlaissezfaireheadius: And I thought it was one of the coolest things that I had seen in a while. But it couldn't be changed, because firefox or whatever wasn't in ruby...
06:47:06tmpksmtlaissezfaire: what Ruby needs more than returning self and cascading is first-class blocks.
06:47:32smtlaissezfaireWhy is that, tmpk?
06:48:26tmpkPurely anecdotally, because I almost never return self, but I find myself wishing that passing multiple blocks was easier.
06:48:35smtlaissezfaireWe have first class procs/lambdas, which blocks can be converted to: it's never inconvenienced me that the block itself isn't first class, since it is implicitly converted to a first class
06:48:43smtlaissezfairetmpk: it's just syntax.
06:48:43flori leaves the room.
06:48:44headiusstabby!
06:49:16smtlaissezfairetmpk: And not used very often. But I imagine in a language like scheme it's not absurd to pass several lambdas at once.
06:49:18tmpkIt's not just syntax. Why can't I do an x = { |...|...} ?
06:49:31flori enters the room.
06:49:35tmpkThere's something to be said for lightweight syntax.
06:49:36smtlaissezfairesure you can: x = lambda { |x| puts x }
06:49:59tarcieriin ruby 1.9
06:50:09tarcierilambdas have block semantics
06:51:08smtlaissezfaireIs this about proper argument passing?
06:52:06smtlaissezfaireAh - I know what you mean - for lambda's to take blocks
06:52:18smtlaissezfaireso lambda { |x, *args, &blk| blk.call(x) }
06:52:48felipecis the output of the c compiler readable?
06:54:00headiuswhat C compiler?
06:54:46felipecwell, I heard rubinius takes ruby code and generates c code
06:55:00headiusno, it compiled to rubinius bytecode
06:55:03headiuscompiles
06:55:19ruetmpk: One very important note about the numbers: NEW is 1000.times { 1000 elements }, OLD is 100.times { 100 elements }
06:55:41ruetmpk: And OLD uses 1400 strings, NEW 140,000
06:56:06rueOp, sorry, 100.times { 1000 elements }
06:56:31tmpkI need to read these things more carefully. Nice job. :D
06:56:44rueHeh
06:56:53rueI did apparently manage to mangle the paste
06:56:57headiuspastie
06:57:21pastiehttp://pastie.org/153028 by headius.
06:57:34headiusnot sure if eval perf has been considered yet, but it's pretty poor at the moment
06:57:37ruetmpk: But yeah, roughly an OoM all around + much better worst-case etc. plus not running out of stack space at ~20k strings
06:57:41headiusbenchmark runs fine now though
07:02:02tmpkrue: I think you said it's a quicksort with a fallback? What algorithm is that?
07:02:46rueInsertion sort
07:02:48tmpksmtlaissezfaire: everything in Ruby is supposedly an object. But not quite. I'm not a fan of that.
07:02:56rueCurrently drops at <7
07:03:00rueSorry, <9
07:04:41tmpkNine what?
07:05:18headius9!!
07:06:22benburkert enters the room.
07:06:22benburkert_ leaves the room.
07:06:50tmpkHeh. I take that back.
07:13:13graza_ enters the room.
07:13:14graza leaves the room.
07:14:42twbray leaves the room.
07:25:50graza enters the room.
07:25:51graza_ leaves the room.
07:32:26smtlaissezfairetmpk?
07:36:11tyler enters the room.
07:38:52_mutle leaves the room.
07:39:01mutle enters the room.
07:42:41tylerhey, I just pulled a fresh copy of the source, and it seems to be missing shotgun/lib/grammar.c ... or maybe I screwed up?
07:43:32rueYou need bison
07:43:52rueMake sure you have everything on the install page on LH
07:44:19tylerah, blast I didn't notice that in the INSTALL file. Thanks.
07:44:22rueLooks like INSTALL is fairly up-to-date too actually
07:44:30rueNeed to update it
07:45:15rueDamn.
07:46:08rueIt is the fscking cache change
07:49:05lstoll leaves the room.
07:49:16twbray enters the room.
07:49:26drbraincalling IO#pos breaks IO#read with size
07:49:44rueClearly a feature
07:49:54drbrainclearly
07:50:27drbrain'night
07:53:00dbussink enters the room.
07:56:40rueMorning
07:57:55dbussinkmorning
07:58:18dbussinkdrbrain: i read you were having troubles on freebsd?
07:58:33rueThink he just turned in
07:58:41drbraindbussink: yes, since around the time of the libevent/libev switch
07:58:41headiusto a pumpkin!
07:58:50drbrainI have 2 minutes left, then I leave for real
07:59:09dbussinkdrbrain: hehe, well, i got it to build on my freebsd install, only irb isn't working
07:59:15dkubb enters the room.
07:59:19dbussink./bin/ci is though
07:59:26drbrainI was waiting for Nathan Sobo to say something on IM, but it seems that he just has a cat laying on his keyboard
07:59:34tmpksmtlaissezfaire: sorry, things are a bit involved here at the moment.
07:59:46dkubb enters the room.
08:00:51drbraindbussink: which gcc?
08:01:25smartocci leaves the room.
08:01:29dbussinkdrbrain: i have a 6.3R install with only the minimal installed packages, so the default one on that platform
08:01:37drbrainok
08:01:38twbray leaves the room.
08:01:44dbussinkdrbrain: it's something 3.4.6, but i'll have to check
08:01:58drbrainthat's all I needed to know
08:02:13drbrainthe compiler never changes between major releases
08:03:37headius leaves the room.
08:04:03twbray enters the room.
08:04:11drbrainhrm, I think it will work now
08:04:17mutle leaves the room.
08:04:26drbrainI've gotten farther with no F or E than ever before
08:05:04boyscout1 commit by Brian Ford
08:05:05boyscout * Enums for FIXNUM_MAX, etc. were not casting properly on 64bit.; 1f6c6a1
08:05:48drbraindbussink: Process.setpriority sets the scheduling priority for a specified process group FAILED
08:05:53drbrainis the only one I get
08:05:57dbussinkyeah, me too
08:06:07dbussinkdid you try starting irb?
08:06:12drbrainand shotgun/rubinius fails with Missing or uninitialized constant: AlreadyDefinedToken
08:06:19drbrain^^
08:06:23dbussinkyeah, same here
08:07:31drbrainMD5 doesn't work :(
08:07:38drbraincan't run my rdocwiki
08:08:30drbrainit is most definitely in the .so
08:09:25drbrainshotgun/rubinius -r digest/md5 -e 0 fails when it can't find rbx_Digest_MD5_Init
08:09:29drbrain:(
08:09:35drbrainok, I'm really leaving the keyboard now
08:09:47dbussinkdrbrain: good night!
08:12:18Yurik enters the room.
08:12:30ezmobius leaves the room.
08:17:39graza_ enters the room.
08:17:40graza leaves the room.
08:19:11rubuildiusBrian Ford: 1f6c6a1e0; 4824 examples, 17537 expectations, 0 failures, 0 errors
08:22:03twbray leaves the room.
08:22:28flori leaves the room.
08:23:19flori enters the room.
08:26:29twbray enters the room.
08:32:59dbussink leaves the room.
08:34:31tyler leaves the room.
08:38:06twbray leaves the room.
08:42:02smtlaissezfaire leaves the room.
08:44:17nathansobo enters the room.
08:45:59dbussink enters the room.
08:48:02twbray enters the room.
08:58:52dbussink leaves the room.
08:59:00_ADSdoes ruby make any guarantees about the order of evaluation of operands, or is it up to the implementaion
08:59:59_ADShttp://www.pastie.org/153035
09:01:09graza enters the room.
09:01:09graza_ leaves the room.
09:01:10_ADSit looks like, given A+B ruby evaluates A first, but rbx does B first.
09:05:24twbray leaves the room.
09:06:23nathansobo leaves the room.
09:08:05boyscout2 commits by Eero Saynatkari
09:08:06boyscout * Better String generation (although the old one exposed a bug.); 54fe3a0
09:08:07boyscout * Partially reverted ddc63b967 due to performance issue. Need research.; 5fdba38
09:09:00rueHeading out
09:10:32_ADS leaves the room.
09:10:49zenspider leaves the room.
09:10:52dbussink enters the room.
09:14:22graza_ enters the room.
09:14:23graza leaves the room.
09:15:32dbussink leaves the room.
09:18:19vintrepid enters the room.
09:19:12rubuildiusEero Saynatkari: 54fe3a013; 4824 examples, 17535 expectations, 2 failures, 0 errors; http://rafb.net/p/dcDCet14.html
09:23:03ragge enters the room.
09:23:21ragge leaves the room.
09:24:24rubyconsumer leaves the room.
09:24:56rubyconsumer enters the room.
09:31:22nathansobo enters the room.
09:31:25langenberg enters the room.
09:31:40graza_ leaves the room.
09:32:22graza enters the room.
09:32:24nathansoboseems pretty important to me
09:32:29nathansobothat order be preserved
09:40:48imajes enters the room.
09:42:17dbussink enters the room.
09:44:11vintrepid leaves the room.
09:44:26dbussinklet me see how this dircproxy stuff works :)
09:44:36langenberg leaves the room.
09:46:18graza_ enters the room.
09:46:19graza leaves the room.
09:50:34maduyb__ enters the room.
09:52:00yaroslav enters the room.
09:57:45nathansobo leaves the room.
10:05:12maduyb__ leaves the room.
10:08:00crossblaim enters the room.
10:08:05crossblaimhi
10:08:14dbussinkcrossblaim: hi
10:11:39graza enters the room.
10:11:41graza_ leaves the room.
10:22:33context leaves the room.
10:22:49context enters the room.
10:26:58graza_ enters the room.
10:26:59graza leaves the room.
10:29:44contextouch. the first point in 2.3 sounds harsh
10:32:09dbussinkcontext: what do you mean?
10:32:17imajes leaves the room.
10:40:56dbussinkcontext: you mean the developers readme?
10:41:00vintrepid enters the room.
10:41:21MenTaLguY leaves the room.
10:42:02dbussinkcontext: it's not that big a problem really
10:51:17chris2 enters the room.
10:56:18graza enters the room.
10:56:19graza_ leaves the room.
11:06:19Arjen_ enters the room.
11:07:41yipstar leaves the room.
11:13:23remcob enters the room.
11:14:39ragge enters the room.
11:21:31lstoll enters the room.
11:23:36vintrepid leaves the room.
11:32:03geekounet leaves the room.
11:35:08graza_ enters the room.
11:35:10graza leaves the room.
11:37:10lstoll leaves the room.
11:37:21lstoll enters the room.
11:42:25lstoll leaves the room.
11:42:52Arjen_ leaves the room.
11:46:22defunkt leaves the room.
11:49:04graza enters the room.
11:49:06graza_ leaves the room.
11:49:50antares enters the room.
11:57:19cjheath leaves the room.
11:58:15Fullmoon leaves the room.
11:58:24lvmc leaves the room.
11:59:11cjheath enters the room.
12:03:28cjheath leaves the room.
12:03:34GMFlash leaves the room.
12:03:42GMFlash enters the room.
12:05:02octopod enters the room.
12:13:21langenberg enters the room.
12:16:50langenberg leaves the room.
12:19:18graza_ enters the room.
12:19:19graza leaves the room.
12:22:04ragnard leaves the room.
12:23:30rightondev leaves the room.
12:24:04ragnard enters the room.
12:24:26rightondev enters the room.
12:26:43VVSizbrixen: are you there? (just checking) :)
12:27:58VVSizbrixen: just in case if you read this... :) I'm really confused why BignumHelper in specs was moved to spec_helper, and named bignum_value
12:28:48VVSizit was in a good place, now it's in the common helper file. I'm sure there was a reason for that, but I couldnt' come up with it myself though...
12:29:28VVSizto me Bignum fixture should be in bignum/fixtures... no?
12:31:50yaroslav leaves the room.
12:40:50graza enters the room.
12:40:51graza_ leaves the room.
12:45:24antaresAnyone knows whether Shotgun page at LH is up to date? I look at oop.h and have number of questions...
12:47:08Fullmoon enters the room.
12:50:09Arjen_ enters the room.
12:51:09dbussinki think it's up to date, but it doesn't have a lot of details
12:52:17boyscout1 commit by Vladimir Sizikov
12:52:19boyscout * Corrected copy-paste error in recent fixnum specs.; 7d1c744
12:52:47pergesu leaves the room.
12:53:32dbussinkhmm, are all the Makefiles in external libs the default ons?
12:53:36dbussinkdefault ones?
12:54:21sizon enters the room.
12:54:38sizonhi, everybody
12:54:47antaresdbussink, what exactly do you mean?
12:55:08dbussinki'm working on getting it running on openbsd atm
12:55:27dbussinkbut that gcc version is a bit older and doesn't support al the compiler options in the various Makefile files
12:56:00dbussinkand i'm wondering whether those options are just put into it, or that they are actually tested and profiled (a lot of inlining stuff)
12:57:06mutle enters the room.
12:57:32dbussinkbut it looks like i've hit a bigger obstacle, namely a lack of ucontext
12:57:39mutlehi
12:58:28ragnarddbussink: tried openbsd yesterday and also discovered the lack of ucontext...
12:58:53dbussinkragnard: well, we have PortableUContext, but i don't know whether that still works
12:59:04dbussinkbecause i saw someone reporting problems with that on tiger
12:59:13dbussinkos x 10.4 also doesn't have ucontext afaik
12:59:24ragnarddbussink: yeah, I saw PortableUContext had a section about __OpenBSD__
12:59:57ragnardalthough I couldn't see how the libthread_ #defines would help
13:04:13rubuildiusVladimir Sizikov: 7d1c744d9; 4824 examples, 17535 expectations, 2 failures, 0 errors; http://rafb.net/p/2qjAzM11.html
13:05:29dbussinkragnard: the include just has to be removed in state.h
13:05:47dbussinkragnard: because including PortableUContext.h will fix it for all platforms
13:07:09ragnarddbussink: yeah, did that... but it failed on nmc.c... don't remember why...
13:07:25dbussinkragnard: i'm having trouble with ffi_util.c
13:07:42dbussinkragnard: weird thing is that i'm getting syntax errors on a system include file
13:07:46dbussinksys/socket.h
13:07:49ragnarddbussink: you need sys/types.h before sys/socket.h
13:07:55ragnard:)
13:08:23dbussinkragnard: of course :)
13:08:41ragnarddbussink: nothing strange there...
13:09:00dbussinkragnard: no indeed, but these are just the platform annoyances
13:09:25dbussinkragnard: i'm having the poblems on nmc too, looks like still something wrong with ucontext
13:09:28ragnarddbussink: I was kidding... :)
13:10:45dbussinkragnard: but it looks like a more general problem with ucontext
13:10:59dbussinkwhich was quick fixed by adding the include in state.h
13:11:17ragnarddbussink: yeah... I sort of abandoned it there and went to bed
13:12:13ragnarddbussink: http://pastie.org/153055
13:12:29ragnarddbussink: I don't see how that would help (from PortableUContext.h)
13:13:00ragnardthere is no libthread_?context
13:13:16dbussinkragnard: dunno, but if i remove the ucontext.h include from state.h, i get warnings even on os x 10.5
13:13:26dbussinkragnard: so there is something else flaky too
13:15:34dbussinkragnard: ok, i've fixed that issue
13:16:28dbussinkragnard: PortableUContext.h line 9, should be without the ! imho
13:16:53dbussinkragnard: but that doesn't help openbsd of course
13:18:39ragnarddbussink: yeah, that seems right... the other case is one line 37, right?
13:19:01dbussinkragnard: yeah, that is for tiger and older versions
13:20:25mutle leaves the room.
13:21:11dbussinkragnard: hmm, guess the condition on line 9 could be just #if HAS_UCONTEXT
13:22:03mutle enters the room.
13:24:58crossblaim leaves the room.
13:27:44jp_tixdbussink: I'm having this issue as well: http://rubinius.lighthouseapp.com/projects/5089/tickets/328-build-broken-on-osx-ppc
13:27:59dbussinkjp_tix: what os x version?
13:28:17jp_tix10.5.2
13:28:29jp_tixDarwin XXBZ.lan 9.2.0 Darwin Kernel Version 9.2.0: Tue Feb 5 16:15:19 PST 2008; root:xnu-1228.3.13~1/RELEASE_PPC Power Macintosh
13:29:46jp_tixI used Software Update to go from 10.5.1 -> 10.5.2, perhaps I should try the combo update instead
13:30:46dbussinkjp_tix: really shouldn't matter
13:31:13jp_tixit might be unrelated, but the machine didn't boot properly after the update
13:31:25dbussinkjp_tix: it shouldn't pull in the portable ucontext, because 10.5 already provides it natively
13:31:26jp_tixso I'll try the combo update anyway
13:31:33jp_tixaha
13:32:35mutle leaves the room.
13:35:09mutle enters the room.
13:35:43dbussinkjp_tix: could run this in your terminal: echo -e '#if !__DARWIN_UNIX03\n here\n#else\nthere\n#endif' | cpp
13:36:42jp_tixdbussink: http://pastie.caboo.se/private/bomccnk0dvj36qpn7omtq
13:39:14dbussinkjp_tix: that was not completely right from my side :)
13:39:19dbussinkjp_tix: echo -e '#include <sys/types.h>\n#if __DARWIN_UNIX03\n here\n#else\nthere\n#endif' | cpp
13:41:45jp_tixdbussink: http://pastie.caboo.se/153060
13:43:13dbussinkjp_tix: hmm, seems ok (the last line was what i was interested in :P)
13:44:06jp_tixloves piping to pastie :)
13:44:27dbussinkhmm, now i wish i had a ppc system to test with myself :)
13:46:44jp_tixjust give me a shout if there's more stuff we could try
13:48:39dbussinkjp_tix: could you try moving #include <sys/types.h> up immediately after #define PORTABLEUCONTEXT_DEFINED ?
13:49:05jp_tixuhm, what file?
13:49:44dbussinkjp_tix: shotgun/lib/subtend/PortableUContext.h
13:49:47dbussinksorry :)
13:49:54jp_tixon it
13:51:26ragnarddbussink: I'm getting there for OpenBSD... the #idefs are a bit dizzy, the __OpenBSD__ section is never even reached...
13:51:53dbussinkragnard: looks like rubinius' version is somewhat based on http://websvn.nyaxtstep.com/viewvc.cgi/3rdparty/libcoroutine/source/PortableUContext.h?revision=57 3&view=markup
13:52:02dbussinkragnard: but it's not exactly the same
13:52:26dbussinkjp_tix: you could also try by replacing that file with the one in the link i just pasted
13:52:49geekounet leaves the room.
13:57:59sizon leaves the room.
14:06:22ragnarddbussink: got shotgun to compile on openbsd now... sigsegvs when compiling kernel/core/compile.rb though... :)
14:06:24graza leaves the room.
14:06:28graza enters the room.
14:06:38dbussinkragnard: what are the fixes?
14:07:07dbussinkragnard: are the sigsevs related to the ucontext problems? or something different?
14:07:14ragnarddbussink: don't know yet...
14:07:22ragnarddbussink: hold on, will pastie some stuff...
14:07:29ragnarddbussink: my machine is very slooow though
14:10:14ragnarddbussink: makefile question: how do you specify multiple conditions in an ifneq?
14:10:39ragnarddbussink: http://pastie.org/153070
14:10:45dbussinkragnard: what is it you want to say?
14:10:52ragnarddbussink: that is true for openbsd too, ie. no -lcrypt
14:11:55femtowin enters the room.
14:12:17dbussinkragnard: i think those should all be refactored, because on solaris they aren't needed too
14:12:44ragnarddbussink: sounds right... gonna be a lot of strange cases otherwise
14:13:25dbussinkragnard: yeah, and it's gonna be a complete mess and not understandable otherwise
14:14:22dbussinkshould be something like linux and freebsd require -lcrypt
14:17:04jp_tixdbussink: neither moving the include or replacing the file helped
14:17:38dbussinkjp_tix: you could try reverting to the version before Defiler refactored it
14:19:44jp_tixdbussink: what commit would that be?
14:20:14dbussinkjp_tix: if you don't know the commands, you can also use the web interface to browse through and look at it
14:21:26jp_tixI assume you're talking about the changes from Jan 23
14:21:48dbussinkjp_tix: yeah
14:23:51antares leaves the room.
14:29:50gnufied enters the room.
14:31:07nicksieger leaves the room.
14:33:40ragnarddbussink: http://pastie.org/153077
14:34:13ragnarddbussink: if you want to have a go... should not be committed.
14:34:37ragnarddbussink: but maybe something to work from.
14:42:15graza_ enters the room.
14:42:16graza leaves the room.
14:43:12dbussinkragnard: thnx, i'll see whether that works :)
14:46:02jp_tixdbussink: what's the easiest way to revert? I tried 'git revert 91432f7960c60a5a3a133713bf769f299a56cb5a' but I get a lot of merge errors
14:48:18jp_tixah, maybe reset
14:48:24dbussinkjp_tix: you can use git checkout too
14:48:32dbussinkjp_tix: git checkout path/to/file rev
14:49:03jp_tixah, ok
14:49:46hornbeck leaves the room.
14:51:56dbussinkragnard: strange segfaults
14:54:56dbussinkragnard: i did get it to compile by simply trying rake build multiple times :P
14:55:28dbussinkragnard: hmm, same error on openbsd as on freebsd when starting irb
14:55:33ragnarddbussink: yeah, me too... won't run when complete though...
14:55:44dbussinkragnard: well, ./bin/ci is running atm
14:55:48ragnardi'm currently recompiling... takes forever on my machine
14:55:53dbussinkwith quite some failures though
14:56:02ragnarddbussink: oh! really? i didn't get that far.
14:56:55dbussinkhad a nice illegal instruction and it just stopped though
14:57:01dbussinkchecking in gdb right now
14:57:17dbussinkragnard: your makefile changes break on linux btw
14:57:35ragnarddbussink: wouldn't be surprised :)
14:58:22jp_tixdbussink: it still fails with the same error - perhaps the problem is elsewhere?
14:58:44dbussinkjp_tix: well, the problem is defintely in here somewhere
14:58:54dbussinkbecause the error message also says it's defined multiple times
14:59:01dbussinkbut i don't know why it is
14:59:04ragnarddbussink: but that makefile could need a little bit of polish
14:59:22dbussinkand without access to a ppc machine i'm not gonna find the problem probably
14:59:28dbussinkragnard: yeah
14:59:49dbussinkragnard: did you have to remove some of those inline optimizations?
14:59:56dbussinkragnard: or did you install a newer gcc?
15:00:28ragnarddbussink: i used DEV=1 and VERBOSE=1 for now
15:01:16femtowin leaves the room.
15:03:27dbussinkbut i'm about to go
15:04:52jp_tixdbussink: I think I found the bug?!? http://pastie.caboo.se/private/vc0k28l0fea9hxdhzs3q
15:05:18dbussinkjp_tix: did i forgot to mention that?
15:05:29dbussinkjp_tix: that's the first thing i fixed when i was in there :P
15:05:35jp_tixlol
15:06:22dbussinkragnard: wow, my ./bin/ci run actually finished with a DEV=1 vm
15:06:48ragnarddbussink: aha! nice one... :)
15:06:54dbussinkragnard: all failures are File/Dir related
15:06:58ragnarddbussink: zero failures i presume?
15:07:02dbussinkragnard: so looks like a problem there
15:07:08dbussinkragnard: of course not :P
15:07:16ragnarddbussink: huh... not to bad though.
15:07:31dbussinkragnard: no, but the random segfaults trouble ee :)
15:07:34dbussinkme
15:07:59ragnardnothing like a good ol' random segfault
15:08:31ragnardhm. my machine refuses to start rubinius...
15:09:05dbussinkragnard: AlreadyDefinedToken problem?
15:09:13dbussinkragnard: because that's also a problem on freebsd
15:09:16ragnarddbussink: nope... http://pastie.org/153085
15:12:09squeegy leaves the room.
15:12:21dbussinkragnard: strange
15:12:25dbussinkwhat openbsd version?
15:12:36ragnard4.2
15:12:55ragnardstable
15:13:05dbussinkjp_tix: i just pushed some things
15:13:12dbussinkjp_tix: you can test with those fixes
15:13:12boyscout1 commit by Dirkjan Bussink
15:13:13boyscout * Fixes for building on OpenBSD and OS X PPC; f94d8d4
15:13:30dbussinknow i really have to get going :)
15:13:46dbussinkif something broke, i take the blame :P
15:15:03jp_tixpush and run, huh?
15:15:13dbussinkjp_tix: of course :P
15:15:28dbussinkjp_tix: well, tested on at least on os x intel and linux
15:15:55jp_tixI'll try it on PPC
15:17:42dbussinkragnard: when i pushed i realized i should have given you some credit for it
15:17:59dbussinkragnard: sorry about that, you can mention to evan that you helped out with this stuff :)
15:18:20rubyconsumer leaves the room.
15:18:38ragnarddbussink: np... don't think about that. it compiles on openbsd, that's cool! :)
15:19:44antares enters the room.
15:20:37dbussinkbut i'm off
15:20:43dbussinkjp_tix: just leave a message whether it works
15:24:07jp_tixwill do
15:24:17rubuildiusDirkjan Bussink: f94d8d4dd; 4824 examples, 17535 expectations, 2 failures, 0 errors; http://rafb.net/p/SXYDvc89.html
15:26:42squeegy enters the room.
15:31:16jeremydurham enters the room.
15:32:18squeegy leaves the room.
15:32:35squeegy enters the room.
15:51:32graza_ leaves the room.
15:52:13graza enters the room.
15:54:58jeremydurham leaves the room.
16:09:44langenberg enters the room.
16:10:48graza_ enters the room.
16:10:49graza leaves the room.
16:12:26twbray enters the room.
16:16:46menator_ enters the room.
16:17:49menator leaves the room.
16:20:56twbray leaves the room.
16:23:49tizianobis enters the room.
16:33:07tizianobis_ enters the room.
16:40:02graza enters the room.
16:40:03graza_ leaves the room.
16:44:57headius enters the room.
16:46:20hornbeck enters the room.
16:50:41tizianobis leaves the room.
16:53:45antares leaves the room.
16:56:33twbray enters the room.
16:57:10ataiar enters the room.
16:57:14dewd enters the room.
16:58:51headiusmorning!
17:00:42timo leaves the room.
17:04:19jp_tixis 'Generating runtime/platform.conf...' supposed to take forever?
17:04:20pergesu enters the room.
17:04:34jp_tixi.e. be the longest-running part of the build process (so far)
17:05:13headiusbeats me, I only build rubinius from scratch occasionally
17:05:30jp_tixheadius: I'm building it for the first time :)
17:05:42ataiarafternoon!