Index

Show enters and exits. Hide enters and exits.

00:00:08kstephensyuck: all callbacks funcptrs should take at least one void*.
00:01:53kstephensheh: pthread_atfork is not thread-safe :)
00:15:31evanhaha
00:15:39evanthe pthread API is a fucking mess.
00:15:46evanif I ever write an OS
00:15:55evani'm coming up with a custom API for threads
00:19:12slavaif I write an OS, it will have everything in one address space
00:19:22slavawho needs memory protection if your language is memory-safe? :)
00:19:51evantotally.
00:20:08evanthough, memory production is a useful debugging characterist
00:20:25evani guess if you make the boot process so fast, who cares.
00:38:03evanyay specs pass with new signal code.
00:55:32boyscoutRework how signals are delivered. Fixes #356 - e4c92f8 - Evan Phoenix
00:55:32boyscoutFix IO#write_nonblock to actually not block - f17eeef - Evan Phoenix
00:55:32boyscoutAllow CallFrame::print_backtrace to see included modules - 76034fd - Evan Phoenix
00:55:32boyscoutFix up console - 12f7977 - Evan Phoenix
00:55:32boyscoutFix IO#write_nonblock to conform to specs - 8dd4d13 - Evan Phoenix
00:55:44evanI DECLARE VICTORY IN SIGNAL-LAND
00:55:49slavaheh
01:07:47boyscoutCI: rubinius: ad006cb successful: 3455 files, 13599 examples, 41163 expectations, 0 failures, 0 errors
01:08:01evanman, thank zeus.
01:08:08evani was worried that code wasn't going to run on linux.
01:20:20evanha! fuck yeah
01:20:29evangot a twitter reply from a pro football player.
01:32:15CompanyGardenershould rake vm:test all pass in the master branch?
01:52:46evanyes
01:57:48CompanyGardenertest_SingleBlockAllocator_allocate: rake aborted!
01:58:04evanthats weird
01:58:05CompanyGardenerin Suite TestImmixGC; on osx 10.6.4
01:58:08evanwhat platform are you on?
01:58:28evanthats pretty weird.
01:58:35evando you have a weird ulimit maybe?
01:59:10evanCompanyGardener: run gdb vm/test/runner
01:59:14evanthen 'b abort'
01:59:20evanrun it and get a backtrace of where it's aborting
01:59:33CompanyGardenerk, one sec
02:01:04evanput the backtrace in a gist/pastie
02:03:22CompanyGardenerbeen a while since using gdb, what's the command to view the backtrace?
02:04:57CompanyGardenerhttp://gist.github.com/440028
02:05:59evanCompanyGardener: bt
02:06:38CompanyGardenerok, gist updated
02:07:24evanok..
02:07:26evanthats pretty weird
02:07:41evanI don't know why that would fail randomly for you...
02:10:39evanCompanyGardener: could you gist the output of ulimit -a
02:10:40evan?
02:11:31CompanyGardenerhttp://gist.github.com/440044
02:14:33evanhrm, that looks normal.
02:22:57CompanyGardenerrebuilding with ./configure --skip-system
02:23:10evandid you use a system LLVM?
02:23:15CompanyGardeneryeah
02:23:18evanwhy?
02:23:50CompanyGardenerisn't that the default?
02:23:57evannot really, no.
02:24:02evanthe default is to use a prebuilt
02:24:18evanack
02:24:19evannm.
02:24:23evani forget how we left it
02:24:27evanit will try to use a system LLVM
02:24:31evanmost people just don't have one.
02:24:43CompanyGardenerthat's probably it
02:25:00evanwhat version do you have installed?
02:25:02evanllvm that is.
02:25:03CompanyGardenerthis was my system llvm build
02:25:03CompanyGardenerhttp://gist.github.com/440053
02:25:19evanum
02:25:20evanno
02:25:23evanllvm-gcc is different
02:25:26evanwhat does llvm-config say?
02:25:30CompanyGardenerah, one sc
02:26:09CompanyGardener2.6
02:26:36evanhm
02:26:40evanwell, try --skip-system
02:26:52CompanyGardeneryeah, should be done in a few
02:27:46CompanyGardenerhow was RailsConf? had a few coworkers out there
02:27:55evanit was fun!
02:27:56evanand tiring
02:28:01evani had 3 talks :/
02:29:29CompanyGardenerI'll have to check them out
02:32:35CompanyGardenerall tests passed with --skip-system
02:49:36CompanyGardenergotta run, thanks for the help evan. probably see ya around once I get situated with a dev env
16:24:41boyscoutAdd for_fd specs - b0e0b30 - Evan Phoenix
16:24:42boyscoutFix TCPServer.for_fd and UNIXSocket.for_fd. Fixes #354. Fixes #355. - 6f97da0 - Evan Phoenix
16:25:18brixenwoot
16:25:21brixenmorning
16:25:39evanmorning
16:25:49brixenloves the smell of chicken-fried commits early in the morning
16:26:18brixenahh, so that was the 20 in matz's tweet
16:26:28brixendamn google is useless for understanding those
16:27:05evani used 2 different translations and assumed he was saying that rubinius isn't 20x faster than jruby, except on some benchmarks
16:27:10evaner
16:27:12evannot jruby
16:27:12evan1.9
16:27:16brixenyeah
16:27:26evanwhich he's right about, thats why I responded.
16:27:35evanpress releases. *eyeroll*
16:27:37brixenwell, with benchmark season in full swing, we should probably get the tiers ready for prime time
16:27:49brixenwho believes press releases anyway :)
16:27:59evanwell, they're reading a translated version of it too
16:28:05brixenyeah
16:28:15evanso I don't even know if the 20x part was translated right.
16:28:22brixenand, oh man, do those translations rock
16:29:59evanexactly.
16:46:46cremeswhat press release are you two talking about?
16:46:57evanthe one EY put out about Rubinius 1.0
16:47:05cremeschecking...
16:47:34boyscoutProperly mimic the MRI api. Fixes #345. - db6ea50 - Evan Phoenix
16:49:01cremesi can only imagine how that press release would get mucked up by a poor translation... :P
16:49:43evanyeah
17:15:33sbryanthello all
17:15:58evanhello sir!
17:18:29boyscoutAdd spec showing IO#reopen's flag passing - 44c2547 - Evan Phoenix
17:18:29boyscoutPass all mode flags through. Fixes #347. - 6f20d0a - Evan Phoenix
17:23:24boyscoutQuarantine a spec that fails randomly on linux. Fixes #352 - fe365f9 - Evan Phoenix
17:26:22dbussinkevening ppl :)
17:26:34brixenhi dbussink
17:26:34evanhello sir.
17:26:44brixendbussink: how was NYC?
17:26:54dbussinkvery good :)
17:27:01dbussinkwe did all the touristy things :p
17:27:07brixenheh, cool
17:27:46dbussinkbut feeling broken now
17:28:01dbussinkstill a few hours to go before i'll allow myself to get some sleep
17:28:24evanhehe
17:28:46boyscoutUse test with tolerance rather than direct value. Fixes #344 - 0ab44f3 - Evan Phoenix
17:33:34sbryantneat-o
17:33:37sbryantJust started a new job
17:33:39sbryantfinally.
17:33:53brixencongrats
17:33:57sbryantthanks
17:34:05brixenAda?
17:38:56sbryant...
17:39:25brixenheh
17:39:28evansbryant: congrats!
17:39:38brixensbryant: are you doing RoR work?
17:39:48sbryantAh, yes I am.
17:39:57brixensbryant: I figured Ada might be a good next language for you :)
17:40:00sbryantA company called viture
17:40:09sbryantbrixen: aha, I've looked at Ada before
17:40:14sbryantit's pretty neat
17:40:19brixenyeah
17:40:29brixenin a 1980's sort of way
17:41:00brixenbut then, I suppose you could say Smalltalk is pretty neat too :)
17:41:07sbryanthah yeah
17:41:14sbryantbut for very different reasons.
17:46:19evanguys, check out: http://github.com/evanphx/rubinius/issues#issue/357
17:46:29evani think i'm going to say "won't fix" for now
17:46:32evanI did some tests
17:46:45evanand MRI leaks toplevel locals between scripts even
17:46:49evanin some cases
17:48:59brixenI would support "won't fix" in that case
17:49:15evank
17:49:24evani've asked for an example of wild code that depends on it
17:49:32brixenyeah
17:49:40brixenheh, nice "wild code"
17:49:51brixencaptures code in the wild and ridiculous code in one
17:50:17evanexactly!
17:50:48evanjruby and macruby also don't support this behavior
17:50:50evanfyi.
17:50:54evan1.9 seems to
17:50:57evani should check out why
17:51:19evanthey must be sharing the toplevel frame info between scripts
17:58:50sbryantthat's a very strange case
18:10:19boyscoutShow that the arrays in IO.select are minimized - 8a1e3cd - Evan Phoenix
18:10:19boyscoutMinimize array contents for IO.select. Fixes #359 - e92faed - Evan Phoenix
18:16:19boyscoutFixed path in IO.reopen. Closes #360. - b630ad9 - Alex Khamutov
18:16:30evanis Alex Khamutov in here?
18:16:41evanaka khamutov
18:17:14kronos_vanoevan, I know him
18:17:21kronos_vanowhat's the problem
18:17:31evanok, well, let him know that he can have commit rights if he'd like them
18:17:34evani just commited his patch
18:17:56kronos_vanook.
18:18:38evanbrixen: could you evaluate http://github.com/evanphx/rubinius/issues#issue/363 and commit his patch if it's ok
18:19:11brixenyep
18:19:16evanthanks.
18:19:17brixenit's tagged with me
18:19:23evanoh yeah
18:19:23evander.
18:19:25evanoops.
18:19:26brixenI have to do a bunch of work on those specs
18:19:34brixenI'm not in the mood to explain it all
18:19:35evanwhy not let him do it?
18:19:40evanok
18:19:45brixenbecause it takes way longer to explain
18:19:52evani'm trying to keep you on fun stuff
18:19:55evannot spec slogs.
18:19:55brixen:)
18:20:04brixenyeah, but some I just have to do
18:20:17brixenI'm about to push this configure stuff
18:20:29evank
18:20:29brixenI have a bunch of stuff for the new build
18:20:57brixenbut for the interim, we can make system-specific llvm prebuilts for linux
18:21:20evansounds good.
18:21:22brixenit's really interesting once you start actually modelling a build system OO
18:21:29brixenrather than as a collection of ad hoc functions
18:21:43brixenthis is mostly why I don't get functional languages for complex tasks
18:21:58brixenif you have a terrific type system, you're 1/2 way to OO anyway
18:22:43brixenbut yeah, the build system is going to be 1. clear, 2. useful (ie works), 3. easy to extend
18:22:43evanagreed.
18:22:47evanheh
18:23:19evanso, I realized there is another bug in ThreadGroup
18:23:39evandelete_if mutates the array as it runs, leaving the array in a transitional state
18:23:49evanbefore it finishes up with at the end
18:24:00evanbut ThreadGroup is run in a new thread
18:24:06evanso there can be thread switching
18:24:09brixenhmm yeah
18:24:17evanie, another thread can come in and try to prune and see the transitional state
18:24:34dwaiteooh fun, come in right at thread problems
18:25:20evandwaite: you've got a talent for that!
18:51:41boyscoutUse thread-safe Array#delete_if. Fixes #361. - d17b27b - Evan Phoenix
18:52:03evani got tired of fighting with the clever delete_if
18:52:11evanso we're using the simple, thread safe one instead.
18:52:29evanthat has no transitional state
18:52:56evanCIA-19: who owns you?
18:54:13evanit was me.
18:56:20dbussinkevan: i just had to check whether this works on rbx: http://jira.codehaus.org/browse/JRUBY-4885
18:56:22dbussinkbut it does :)
18:56:38evanie, we don't have the bug?
18:56:52dbussinkevan: we don't :)
18:56:57evani think we did at one point
18:57:06evanbut we run so much ruby code just to run simple stuff
18:57:12evanthat kind of thing shows up quickliy
18:58:06dbussinkevan: nicksieger twittered that he was surprised it lingered in jruby for so long
18:58:13evanyeah
18:58:15evani saw :)
19:00:15brixenwell, what the cuss
19:01:10brixenthis is on a fresh clone http://gist.github.com/441117
19:02:06evangeez.
19:02:17evanwtf.
19:02:28evanlet me try here.
19:03:32brixenhmm
19:16:07evanbrixen: seems to be working here
19:16:28brixenhere == ?
19:16:29evando you maybe have runaway processes?
19:16:33evanhere == my laptop
19:16:41evanthe default ulimit for OS X 256 processes per user
19:16:50evanand it looks like execve is failing
19:16:53brixenI'm in gdb now
19:16:57evanusually thats because the OS said "NO MORE PROCESSES"
19:16:57brixenI just got a segv
19:17:34brixenhttp://gist.github.com/441130
19:17:43evanrun ps
19:17:49evanmake sure you don't have a bunch of zombies or something
19:18:15evanfork crash i'm guessing.
19:18:32brixenps aux | wc -l => 81
19:18:38evanum
19:18:39evanno clue
19:18:40brixenI can reboot
19:18:44evantry in a different terminal
19:18:59evanmaybe something got wacky with your sessio
19:19:00evann
19:19:20brixenhmm, how odd
19:19:28brixenwell, I'll reboot
19:19:35brixenother terminal didn't help
19:22:26evanweird
19:22:26evanok
20:07:09rb2khm, does -head compile atm?
20:07:11rb2kI get https://gist.github.com/f837ae6252131dc8ad07
20:10:45dbussinkrb2k: probably warnings introduced with newer gcc versions
20:11:48dbussinkevan: probably some safety checks needed for those signal changes
20:11:56rb2kgcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu9) ?
20:12:12dbussinkevan: is it possible to raise an exception from that signal handler code?
20:16:12rb2kany way arround this?
20:16:19rb2kjust trying to install rbx using rvm
20:17:08dbussinkrb2k: you could explicitly cast the return value to void as a workaround
20:17:47brixenwarn_unused_result is stupid
20:18:24dbussinkbrixen: well, i don't see why we shouldn't check here that the reads and writes don't fail silenty
20:18:28rb2kphew
20:18:34rb2kI think I'll just wait :)
20:19:37brixenrb2k: you could try this patch http://gist.github.com/441211
20:19:42brixendbussink: yes, in this case
20:19:58brixendbussink: in general, I think that's a stupid warn that should need to be explicitly enabled
20:23:07dbussinkbrixen: well, apparently we're pretty nice for it in rbx, since the return value is used everywhere else ;)
20:25:08dbussinkbrixen: although i agree it's pretty irratic about it
20:25:17dbussinkthere's plenty of stuff it doesn't warn for
20:28:44brixenhow the hell do you debug a process that forks?
20:28:46brixenargh
20:29:42brixen|Blaze||: awesome, thanks
20:30:36slava|Blaze||: you blaze?
20:31:34brixenhm set follow-fork-mode child did not appear to work
20:33:04brixen:( the execvp error is now not happening under gdb
20:33:16brixenbut of course happens when not in gdb
20:33:30brixenloves whoever thought up these OS designs
20:34:33brixenyeah, working on that
20:50:58evandbussink: NON ONONONONNO
20:51:09evanthats my response to
20:51:09evan13:12 dbussink: evan: is it possible to raise an exception from that signal handler code?
20:53:03evanbrixen: you can't debug exec failing under gdb
20:53:06evantypically
20:53:15brixenthis is becoming obvious to me
20:53:21evanbecause gdb inserts itself into the process
20:53:24evanit's still not working for you?
20:53:25brixenthis is definitely caused by the signals commit
20:53:41evanoh shitballs.
20:53:44evani'll bet I know.
20:53:52evanfuuuck
20:53:54brixenyou're leopard box is up-to-date on updates
20:53:57brixener your
20:54:09evani think OS X, some versions, REFUSES to exec or fork if there is more than one thread running.
20:54:16brixen:/
20:54:18evanthats why I did the pause of the LLVM thread
20:54:36brixenthe fork happens, but I get a SIGILL in gdb in the child
20:54:38evanit's all coming back to me now.
20:54:46brixenI think
20:57:15evanbrixen: ok
20:57:16evanone sec.
20:57:17evani'll fix this.
21:00:07evanso, i totally remember this from 10.5
21:00:13evani guess in 10.6 they "fixed" it.
21:00:19brixeninteresting
21:01:31dwaitedoes rbx still support 10.5?
21:01:32dwaitegeesh :)
21:03:01dwaiteI've considered removing support for 10.5 from urb
21:03:12evanhahah
21:03:22evanhow contraversal!
21:04:00dwaitewell it works on linux, snow leopard and on windows (apparently)
21:04:25dwaitemaybe I should make a ubuntu .dpkg?
21:04:32dwaiteerr, .deb
21:05:08dwaitethat would be quite funny, there is already 3 orders of magnitude more support files than code
21:09:50evanbrixen: from System::vm_exec:
21:09:59evan // Some system (darwin) don't let execvp work if there is more
21:09:59evan // than one thread running. So we kill off any background LLVM
21:09:59evan // thread here.
21:10:04evani wrote that.
21:10:18evanI forgot to add code to kill off the signal handler thread
21:10:20evanwhich i'm doing now.
21:10:29brixenheh, and I was looking only at ::vm_fork
21:11:16brixenoh nice, there's a TODO right below
21:11:28evanyep.
21:11:36evanscary huh.
21:11:42brixenheh
21:11:56brixensignals, forks, threads oh my
21:12:06brixenthey were definitely distracted by bears
21:12:10evanyeah
21:12:16brixenbears are nothing compared to that trio
21:12:20evanunix programming - one hack on top of another
21:12:30brixenheh
21:12:46brixenunix programming - when one hack just isn't enough
21:12:55slavafork() is the stupidest thing ever
21:13:02slavawin32 got it right with CreateProcess()
21:13:18boyscoutShutdown the signal handler thread before exec'ing - 5a2ce08 - Evan Phoenix
21:13:26evanbrixen: give that a shot
21:13:30brixenok
21:16:38rb2kevan: ah, thanks for fixing that delete_if thing in array
21:17:06rb2klooking forward to move the project to rbx :)
21:17:15evanrb2k: no prob
21:17:19evanlet me know if you still have trouble
21:17:25evanthat should have fixed that issue though.
21:17:29rb2ktrying to compile rbx atm
21:17:36rb2kdoesn't seem to work on my ubuntu ec2 instance
21:17:36evanthough, i thought about locking during lunch.
21:18:07rb2kubuntu: gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu9) , osx: gcc version 4.2.1 (Apple Inc. build 5659)
21:18:11rb2kosx seems to compile
21:19:24brixenevan: works like a charm
21:19:43evanyay!
21:22:39brixenoh the irony
21:22:48brixenkernel panic right after I wrote that
21:22:51brixen:)
21:24:35evanUG
21:24:38evansorry :(
21:25:07brixenheh, probably a flash plugin in firefox
21:25:15brixenwho knows
21:25:22brixenspecs running fine
21:32:43boyscoutAdded support for specific LLVM prebuilts to configure. - 0498874 - Brian Ford
21:33:46brixenevan: add (void) to fix these? https://gist.github.com/f837ae6252131dc8ad07
21:34:00evanyes
21:34:01evanthats fine.
21:34:06rb2kI tried adding void, didn't work 100%
21:34:11rb2kbut rvm might have overwritten that
21:34:15brixenrb2k: what system are you on?
21:34:15rb2kor I missed something
21:34:39rb2kosx 10.6 mbp / ubunu 9.10 32 bit on ec2
21:34:58brixenhm ubuntu 9.10 has gcc 4.4?
21:35:20brixenI distupgraded my 32bit 9.10 to 10.04 :/
21:35:39evanrb2k: it should have worked
21:35:48evanif it didn't, show me the gcc output
21:35:52brixenboots vbox
21:36:25rb2ksomething else is currently using the cpu, but I'll try in a sec
21:37:15slavaevan: how do you reproduce random crashes?
21:37:26evanha
21:37:27evanmm
21:37:29brixenheh
21:37:30evanmagic usually.
21:37:45evanwell, what I do is start up a time dispacement field at the beginning of the day
21:37:46brixenevan is just that good, he makes random deterministic
21:37:48evanand try to get it to happen
21:38:02evanif it happens, I can rewind time and try it again
21:38:07evanit's all quite simple.
21:38:10evan:)
21:39:07mahargI can't decide if that would be really nice due to usefulness, or if it would just drive someone absolutely insane
21:39:42brixenrb2k: I'm distupgrading an old 9.04 to 9.10
21:40:14rb2kI'm on karmic atm
21:40:23brixenmaharg: groundhog day would suggest the insane outcome
21:40:25rb2k9.10
21:40:45brixenrb2k: yeah, I'm working on upgrading
21:40:50rb2koh sorry
21:40:54rb2kI just read 10.x
21:40:59rb2kit's getting late
21:41:03brixenyeah, I have one of those
21:41:06brixenheh, no worries
21:46:21brixenmichaellatta: long time no see! how's things?
21:46:42michaellattavery bussy. Working too many projects at once.
21:47:49brixenheh, no where have I seen that before... :)
21:47:55brixener s/no/now/
21:49:23michaellattabrixen: I am trying to get Rails3, webrat and Cucumber working together. Can you point me at something that works? Getting missing method errors suggesting the integration is not correct yet?
21:49:39brixenmichaellatta: in rbx?
21:50:26michaellattabrixen: Sorry. The first chat room that opened, and you replied so I did not want to loose you. Which list do you suggest?
21:50:42brixenhmm, good question
21:50:52brixenI know almost nothing about webrat
21:51:17michaellattabrixen: No problem. I will look around for a better forum.
21:51:31brixenok, sorry :/
21:51:43brixenif brynary were here, he'd know
21:51:53brixenbut he's a *manager* now :)
21:52:32michaellattabrixen: sorry to hear that. Lost another one I guess :-)
21:52:50brixenhe may not be too far gone yet :)
21:55:34brixenmichaellatta: if you are just starting out, I have it on good authority that http://techiferous.com/2010/04/using-capybara-in-rails-3/ might be good to check out
21:57:32michaellattabrixen: thanks for the pointer. I was familiar with webrat and it supports jruby which we are using as we are integrating with a legacy java system. I will check out capybara as well though if I can not get webrat working.
21:59:38brixenmichaellatta: cool
22:08:23boyscoutA little code cleanup - 20fb763 - Evan Phoenix
22:09:33brixenhm, still not sure about the sweet spot for distupgrade
22:09:47brixennormal install == more time to download iso + much faster install
22:10:04brixendistupgrade == fast download + a looong time to install
22:15:36rb2k20 mbit connection = iso downloads while I get some food from the kitchen :)
22:15:48evanyummy
22:15:50evanon both accounts.
22:16:01rb2kit's weird, things got fast
22:16:06rb2kI could even get 100 mbit
22:16:18rb2k5 years ago, 1 mbit dsl was fast
22:16:19evanwhere are you exactly?
22:16:22rb2kGermany
22:16:25evanoh nice.
22:16:29rb2kweirdly enough
22:16:31evanin the city i'm assuming
22:16:40rb2kyeah, suburb
22:16:50brixenrb2k: I guess I get ~5mbit
22:16:59rb2k20 euros/month for the 20 mbit
22:17:10brixencrazy!
22:17:12rb2kI know!
22:17:32rb2k50 mbit for 40
22:17:33slavaevan: I repro'd my random crash
22:17:38rb2k(+ 15 for cable)
22:17:54rb2k100 for 50 + 15
22:18:03slavaevan: the trick was to make the gc compact unconditionally instead of when it does
22:18:10brixenrb2k: I pay ~32 euro for that and it would be ~42
22:18:11slavaevan: makes certain code paths execute more often
22:18:27evanrandom crash shall be renamed predictable crash!
22:19:15rb2kbrixen: where are you from?
22:19:20brixenrb2k: somehow, in the U.S. we have some of the shittiest communication tech
22:19:25brixenrb2k: usa
22:19:34rb2kyeah, I lived in boston for 3 months
22:19:40rb2kfeb-may
22:19:44rb2kthat was weird
22:19:53brixenrb2k: i'm on the west coast, portland oregon
22:19:54rb2kespecially cell phone providers are annoying as hell
22:20:01brixenno doubt
22:20:15rb2kfor me: 10 euros for 1 gb of data + 9 cents per minute or sms
22:20:17rb2kand that's it
22:20:31rb2kno costs for incoming stuff either
22:20:41brixenheh, that's what you'd call amazing here
22:20:46rb2kI think t-mobile charged me 50 bucks/month
22:20:50rb2kfor basically the same usage
22:21:00rb2kand only because I refused to tell them that I had a smartphone
22:21:16rb2k"can I see your phone" - "no, it's charging at home"
22:21:25brixengood one
22:21:46rb2k"the system doesn't recognize your phone"
22:21:50rb2k"it's a european model"
22:21:58evanok, i'm disabling GC.start by default.
22:25:26dwaiterb2k: t-mobile has good but inept phone support. vs evil and inept people in the stores
22:25:53rb2kI think most of the store people don't have actually a proper connection with t-mobile
22:25:59rb2kretail monkeys
22:26:30rb2kthey made me pay 5 (or10?) dollars a month because I had a non-US VISA card
22:26:41rb2kI was able to go to the store and pay using that visa
22:26:57rb2kbut they said they can't automatically charge that stuff
22:26:57dwaiteI don't think thats even valid in their merchant agreement
22:27:02rb2k==> service fee
22:27:17rb2k*shrug*
22:27:21rb2ksince it was only 3 months...
22:51:14brixenI will have automatic configure running based on the digest of the build system + existing options you have configured if they are still available
22:51:23brixenand a smart configure + build with one command
22:51:39brixenand a smart install if you configured an install dir
22:52:37brixenfor building rbx, there will be no step 3
22:54:52evan:)
22:55:47boyscoutAdd -Xgc.honor_start to control if GC.start is honored - e4daf0a - Evan Phoenix
22:56:03evanok, GC.start is now a no-op by default.
22:56:07slavawhy is that?
22:56:07brixennice
22:57:08evanslava: in MRI, it forces the GC to run.
22:58:24brixenman, distupgrade is always fail for me
22:58:33brixendied part way through
22:59:30evan:/
22:59:35slavaevan: so why did you make it a no-op
22:59:44evanbecause people are dumb.
22:59:54evanthey call GC.start because they think "oh, the gc isn't smart, it should run now"
22:59:59slavaoh
23:00:01slavafuckers
23:00:06brixenhehe
23:00:11brixenyeah, that
23:00:13evanslava: does factor have locks for dealing with threads?
23:00:36slavafactor doesn't have pre-emptive threads
23:00:48evanoh, i thought it did.
23:00:57slavawe just have fibers
23:08:19evanbrixen: i think i'm going to take a crack at generic auto packing ivars
23:09:03brixenok
23:09:37evanshould I just analyze literals and look for :@<blah> symbols
23:09:53evanor have the compiler output explicit add_ivar calls
23:09:59evanactually, i'll do the first for now
23:10:19evanwe can try it out, if it's weird, we can do the explicit version
23:13:23brixenhm, I was going to have each class push an array into the generator state
23:13:40brixenand have InstanceVariableAccess or Assign add to it
23:13:53brixenthen emit one call to add_ivars in the class body
23:14:01brixenor pack!
23:14:05brixenI forget what it's called
23:14:12evanthat call was just a test
23:14:21evansince I want it to be incremental
23:14:30evanso that ivar collection can span files
23:14:37brixenright
23:14:42evanand when the first instance is created, things are frozen
23:14:54brixenI was going to collect by adding to the tuple in the primitive
23:15:08brixenthen on creation, calc the size from the tuple
23:15:14brixenbut that would need an extra flag
23:15:27brixenor distiguished first element in the tuple
23:16:15evanhm
23:16:25evani'm going to try and extend the functionality i've got now
23:16:35evanby just analyzing the literals whenever a method is added
23:16:47evanthat should work
23:16:56evanthen we can judge it's effectiveness
23:17:06brixensure
23:27:04brixenbuilding repeatedly to test building sucks