Show enters and exits. Hide enters and exits.
| 00:00:08 | kstephens | yuck: all callbacks funcptrs should take at least one void*. |
| 00:01:53 | kstephens | heh: pthread_atfork is not thread-safe :) |
| 00:15:31 | evan | haha |
| 00:15:39 | evan | the pthread API is a fucking mess. |
| 00:15:46 | evan | if I ever write an OS |
| 00:15:55 | evan | i'm coming up with a custom API for threads |
| 00:19:12 | slava | if I write an OS, it will have everything in one address space |
| 00:19:22 | slava | who needs memory protection if your language is memory-safe? :) |
| 00:19:51 | evan | totally. |
| 00:20:08 | evan | though, memory production is a useful debugging characterist |
| 00:20:25 | evan | i guess if you make the boot process so fast, who cares. |
| 00:38:03 | evan | yay specs pass with new signal code. |
| 00:55:32 | boyscout | Rework how signals are delivered. Fixes #356 - e4c92f8 - Evan Phoenix |
| 00:55:32 | boyscout | Fix IO#write_nonblock to actually not block - f17eeef - Evan Phoenix |
| 00:55:32 | boyscout | Allow CallFrame::print_backtrace to see included modules - 76034fd - Evan Phoenix |
| 00:55:32 | boyscout | Fix up console - 12f7977 - Evan Phoenix |
| 00:55:32 | boyscout | Fix IO#write_nonblock to conform to specs - 8dd4d13 - Evan Phoenix |
| 00:55:44 | evan | I DECLARE VICTORY IN SIGNAL-LAND |
| 00:55:49 | slava | heh |
| 01:07:47 | boyscout | CI: rubinius: ad006cb successful: 3455 files, 13599 examples, 41163 expectations, 0 failures, 0 errors |
| 01:08:01 | evan | man, thank zeus. |
| 01:08:08 | evan | i was worried that code wasn't going to run on linux. |
| 01:20:20 | evan | ha! fuck yeah |
| 01:20:29 | evan | got a twitter reply from a pro football player. |
| 01:32:15 | CompanyGardener | should rake vm:test all pass in the master branch? |
| 01:52:46 | evan | yes |
| 01:57:48 | CompanyGardener | test_SingleBlockAllocator_allocate: rake aborted! |
| 01:58:04 | evan | thats weird |
| 01:58:05 | CompanyGardener | in Suite TestImmixGC; on osx 10.6.4 |
| 01:58:08 | evan | what platform are you on? |
| 01:58:28 | evan | thats pretty weird. |
| 01:58:35 | evan | do you have a weird ulimit maybe? |
| 01:59:10 | evan | CompanyGardener: run gdb vm/test/runner |
| 01:59:14 | evan | then 'b abort' |
| 01:59:20 | evan | run it and get a backtrace of where it's aborting |
| 01:59:33 | CompanyGardener | k, one sec |
| 02:01:04 | evan | put the backtrace in a gist/pastie |
| 02:03:22 | CompanyGardener | been a while since using gdb, what's the command to view the backtrace? |
| 02:04:57 | CompanyGardener | http://gist.github.com/440028 |
| 02:05:59 | evan | CompanyGardener: bt |
| 02:06:38 | CompanyGardener | ok, gist updated |
| 02:07:24 | evan | ok.. |
| 02:07:26 | evan | thats pretty weird |
| 02:07:41 | evan | I don't know why that would fail randomly for you... |
| 02:10:39 | evan | CompanyGardener: could you gist the output of ulimit -a |
| 02:10:40 | evan | ? |
| 02:11:31 | CompanyGardener | http://gist.github.com/440044 |
| 02:14:33 | evan | hrm, that looks normal. |
| 02:22:57 | CompanyGardener | rebuilding with ./configure --skip-system |
| 02:23:10 | evan | did you use a system LLVM? |
| 02:23:15 | CompanyGardener | yeah |
| 02:23:18 | evan | why? |
| 02:23:50 | CompanyGardener | isn't that the default? |
| 02:23:57 | evan | not really, no. |
| 02:24:02 | evan | the default is to use a prebuilt |
| 02:24:18 | evan | ack |
| 02:24:19 | evan | nm. |
| 02:24:23 | evan | i forget how we left it |
| 02:24:27 | evan | it will try to use a system LLVM |
| 02:24:31 | evan | most people just don't have one. |
| 02:24:43 | CompanyGardener | that's probably it |
| 02:25:00 | evan | what version do you have installed? |
| 02:25:02 | evan | llvm that is. |
| 02:25:03 | CompanyGardener | this was my system llvm build |
| 02:25:03 | CompanyGardener | http://gist.github.com/440053 |
| 02:25:19 | evan | um |
| 02:25:20 | evan | no |
| 02:25:23 | evan | llvm-gcc is different |
| 02:25:26 | evan | what does llvm-config say? |
| 02:25:30 | CompanyGardener | ah, one sc |
| 02:26:09 | CompanyGardener | 2.6 |
| 02:26:36 | evan | hm |
| 02:26:40 | evan | well, try --skip-system |
| 02:26:52 | CompanyGardener | yeah, should be done in a few |
| 02:27:46 | CompanyGardener | how was RailsConf? had a few coworkers out there |
| 02:27:55 | evan | it was fun! |
| 02:27:56 | evan | and tiring |
| 02:28:01 | evan | i had 3 talks :/ |
| 02:29:29 | CompanyGardener | I'll have to check them out |
| 02:32:35 | CompanyGardener | all tests passed with --skip-system |
| 02:49:36 | CompanyGardener | gotta run, thanks for the help evan. probably see ya around once I get situated with a dev env |
| 16:24:41 | boyscout | Add for_fd specs - b0e0b30 - Evan Phoenix |
| 16:24:42 | boyscout | Fix TCPServer.for_fd and UNIXSocket.for_fd. Fixes #354. Fixes #355. - 6f97da0 - Evan Phoenix |
| 16:25:18 | brixen | woot |
| 16:25:21 | brixen | morning |
| 16:25:39 | evan | morning |
| 16:25:49 | brixen | loves the smell of chicken-fried commits early in the morning |
| 16:26:18 | brixen | ahh, so that was the 20 in matz's tweet |
| 16:26:28 | brixen | damn google is useless for understanding those |
| 16:27:05 | evan | i used 2 different translations and assumed he was saying that rubinius isn't 20x faster than jruby, except on some benchmarks |
| 16:27:10 | evan | er |
| 16:27:12 | evan | not jruby |
| 16:27:12 | evan | 1.9 |
| 16:27:16 | brixen | yeah |
| 16:27:26 | evan | which he's right about, thats why I responded. |
| 16:27:35 | evan | press releases. *eyeroll* |
| 16:27:37 | brixen | well, with benchmark season in full swing, we should probably get the tiers ready for prime time |
| 16:27:49 | brixen | who believes press releases anyway :) |
| 16:27:59 | evan | well, they're reading a translated version of it too |
| 16:28:05 | brixen | yeah |
| 16:28:15 | evan | so I don't even know if the 20x part was translated right. |
| 16:28:22 | brixen | and, oh man, do those translations rock |
| 16:29:59 | evan | exactly. |
| 16:46:46 | cremes | what press release are you two talking about? |
| 16:46:57 | evan | the one EY put out about Rubinius 1.0 |
| 16:47:05 | cremes | checking... |
| 16:47:34 | boyscout | Properly mimic the MRI api. Fixes #345. - db6ea50 - Evan Phoenix |
| 16:49:01 | cremes | i can only imagine how that press release would get mucked up by a poor translation... :P |
| 16:49:43 | evan | yeah |
| 17:15:33 | sbryant | hello all |
| 17:15:58 | evan | hello sir! |
| 17:18:29 | boyscout | Add spec showing IO#reopen's flag passing - 44c2547 - Evan Phoenix |
| 17:18:29 | boyscout | Pass all mode flags through. Fixes #347. - 6f20d0a - Evan Phoenix |
| 17:23:24 | boyscout | Quarantine a spec that fails randomly on linux. Fixes #352 - fe365f9 - Evan Phoenix |
| 17:26:22 | dbussink | evening ppl :) |
| 17:26:34 | brixen | hi dbussink |
| 17:26:34 | evan | hello sir. |
| 17:26:44 | brixen | dbussink: how was NYC? |
| 17:26:54 | dbussink | very good :) |
| 17:27:01 | dbussink | we did all the touristy things :p |
| 17:27:07 | brixen | heh, cool |
| 17:27:46 | dbussink | but feeling broken now |
| 17:28:01 | dbussink | still a few hours to go before i'll allow myself to get some sleep |
| 17:28:24 | evan | hehe |
| 17:28:46 | boyscout | Use test with tolerance rather than direct value. Fixes #344 - 0ab44f3 - Evan Phoenix |
| 17:33:34 | sbryant | neat-o |
| 17:33:37 | sbryant | Just started a new job |
| 17:33:39 | sbryant | finally. |
| 17:33:53 | brixen | congrats |
| 17:33:57 | sbryant | thanks |
| 17:34:05 | brixen | Ada? |
| 17:38:56 | sbryant | ... |
| 17:39:25 | brixen | heh |
| 17:39:28 | evan | sbryant: congrats! |
| 17:39:38 | brixen | sbryant: are you doing RoR work? |
| 17:39:48 | sbryant | Ah, yes I am. |
| 17:39:57 | brixen | sbryant: I figured Ada might be a good next language for you :) |
| 17:40:00 | sbryant | A company called viture |
| 17:40:09 | sbryant | brixen: aha, I've looked at Ada before |
| 17:40:14 | sbryant | it's pretty neat |
| 17:40:19 | brixen | yeah |
| 17:40:29 | brixen | in a 1980's sort of way |
| 17:41:00 | brixen | but then, I suppose you could say Smalltalk is pretty neat too :) |
| 17:41:07 | sbryant | hah yeah |
| 17:41:14 | sbryant | but for very different reasons. |
| 17:46:19 | evan | guys, check out: http://github.com/evanphx/rubinius/issues#issue/357 |
| 17:46:29 | evan | i think i'm going to say "won't fix" for now |
| 17:46:32 | evan | I did some tests |
| 17:46:45 | evan | and MRI leaks toplevel locals between scripts even |
| 17:46:49 | evan | in some cases |
| 17:48:59 | brixen | I would support "won't fix" in that case |
| 17:49:15 | evan | k |
| 17:49:24 | evan | i've asked for an example of wild code that depends on it |
| 17:49:32 | brixen | yeah |
| 17:49:40 | brixen | heh, nice "wild code" |
| 17:49:51 | brixen | captures code in the wild and ridiculous code in one |
| 17:50:17 | evan | exactly! |
| 17:50:48 | evan | jruby and macruby also don't support this behavior |
| 17:50:50 | evan | fyi. |
| 17:50:54 | evan | 1.9 seems to |
| 17:50:57 | evan | i should check out why |
| 17:51:19 | evan | they must be sharing the toplevel frame info between scripts |
| 17:58:50 | sbryant | that's a very strange case |
| 18:10:19 | boyscout | Show that the arrays in IO.select are minimized - 8a1e3cd - Evan Phoenix |
| 18:10:19 | boyscout | Minimize array contents for IO.select. Fixes #359 - e92faed - Evan Phoenix |
| 18:16:19 | boyscout | Fixed path in IO.reopen. Closes #360. - b630ad9 - Alex Khamutov |
| 18:16:30 | evan | is Alex Khamutov in here? |
| 18:16:41 | evan | aka khamutov |
| 18:17:14 | kronos_vano | evan, I know him |
| 18:17:21 | kronos_vano | what's the problem |
| 18:17:31 | evan | ok, well, let him know that he can have commit rights if he'd like them |
| 18:17:34 | evan | i just commited his patch |
| 18:17:56 | kronos_vano | ok. |
| 18:18:38 | evan | brixen: could you evaluate http://github.com/evanphx/rubinius/issues#issue/363 and commit his patch if it's ok |
| 18:19:11 | brixen | yep |
| 18:19:16 | evan | thanks. |
| 18:19:17 | brixen | it's tagged with me |
| 18:19:23 | evan | oh yeah |
| 18:19:23 | evan | der. |
| 18:19:25 | evan | oops. |
| 18:19:26 | brixen | I have to do a bunch of work on those specs |
| 18:19:34 | brixen | I'm not in the mood to explain it all |
| 18:19:35 | evan | why not let him do it? |
| 18:19:40 | evan | ok |
| 18:19:45 | brixen | because it takes way longer to explain |
| 18:19:52 | evan | i'm trying to keep you on fun stuff |
| 18:19:55 | evan | not spec slogs. |
| 18:19:55 | brixen | :) |
| 18:20:04 | brixen | yeah, but some I just have to do |
| 18:20:17 | brixen | I'm about to push this configure stuff |
| 18:20:29 | evan | k |
| 18:20:29 | brixen | I have a bunch of stuff for the new build |
| 18:20:57 | brixen | but for the interim, we can make system-specific llvm prebuilts for linux |
| 18:21:20 | evan | sounds good. |
| 18:21:22 | brixen | it's really interesting once you start actually modelling a build system OO |
| 18:21:29 | brixen | rather than as a collection of ad hoc functions |
| 18:21:43 | brixen | this is mostly why I don't get functional languages for complex tasks |
| 18:21:58 | brixen | if you have a terrific type system, you're 1/2 way to OO anyway |
| 18:22:43 | brixen | but yeah, the build system is going to be 1. clear, 2. useful (ie works), 3. easy to extend |
| 18:22:43 | evan | agreed. |
| 18:22:47 | evan | heh |
| 18:23:19 | evan | so, I realized there is another bug in ThreadGroup |
| 18:23:39 | evan | delete_if mutates the array as it runs, leaving the array in a transitional state |
| 18:23:49 | evan | before it finishes up with at the end |
| 18:24:00 | evan | but ThreadGroup is run in a new thread |
| 18:24:06 | evan | so there can be thread switching |
| 18:24:09 | brixen | hmm yeah |
| 18:24:17 | evan | ie, another thread can come in and try to prune and see the transitional state |
| 18:24:34 | dwaite | ooh fun, come in right at thread problems |
| 18:25:20 | evan | dwaite: you've got a talent for that! |
| 18:51:41 | boyscout | Use thread-safe Array#delete_if. Fixes #361. - d17b27b - Evan Phoenix |
| 18:52:03 | evan | i got tired of fighting with the clever delete_if |
| 18:52:11 | evan | so we're using the simple, thread safe one instead. |
| 18:52:29 | evan | that has no transitional state |
| 18:52:56 | evan | CIA-19: who owns you? |
| 18:54:13 | evan | it was me. |
| 18:56:20 | dbussink | evan: i just had to check whether this works on rbx: http://jira.codehaus.org/browse/JRUBY-4885 |
| 18:56:22 | dbussink | but it does :) |
| 18:56:38 | evan | ie, we don't have the bug? |
| 18:56:52 | dbussink | evan: we don't :) |
| 18:56:57 | evan | i think we did at one point |
| 18:57:06 | evan | but we run so much ruby code just to run simple stuff |
| 18:57:12 | evan | that kind of thing shows up quickliy |
| 18:58:06 | dbussink | evan: nicksieger twittered that he was surprised it lingered in jruby for so long |
| 18:58:13 | evan | yeah |
| 18:58:15 | evan | i saw :) |
| 19:00:15 | brixen | well, what the cuss |
| 19:01:10 | brixen | this is on a fresh clone http://gist.github.com/441117 |
| 19:02:06 | evan | geez. |
| 19:02:17 | evan | wtf. |
| 19:02:28 | evan | let me try here. |
| 19:03:32 | brixen | hmm |
| 19:16:07 | evan | brixen: seems to be working here |
| 19:16:28 | brixen | here == ? |
| 19:16:29 | evan | do you maybe have runaway processes? |
| 19:16:33 | evan | here == my laptop |
| 19:16:41 | evan | the default ulimit for OS X 256 processes per user |
| 19:16:50 | evan | and it looks like execve is failing |
| 19:16:53 | brixen | I'm in gdb now |
| 19:16:57 | evan | usually thats because the OS said "NO MORE PROCESSES" |
| 19:16:57 | brixen | I just got a segv |
| 19:17:34 | brixen | http://gist.github.com/441130 |
| 19:17:43 | evan | run ps |
| 19:17:49 | evan | make sure you don't have a bunch of zombies or something |
| 19:18:15 | evan | fork crash i'm guessing. |
| 19:18:32 | brixen | ps aux | wc -l => 81 |
| 19:18:38 | evan | um |
| 19:18:39 | evan | no clue |
| 19:18:40 | brixen | I can reboot |
| 19:18:44 | evan | try in a different terminal |
| 19:18:59 | evan | maybe something got wacky with your sessio |
| 19:19:00 | evan | n |
| 19:19:20 | brixen | hmm, how odd |
| 19:19:28 | brixen | well, I'll reboot |
| 19:19:35 | brixen | other terminal didn't help |
| 19:22:26 | evan | weird |
| 19:22:26 | evan | ok |
| 20:07:09 | rb2k | hm, does -head compile atm? |
| 20:07:11 | rb2k | I get https://gist.github.com/f837ae6252131dc8ad07 |
| 20:10:45 | dbussink | rb2k: probably warnings introduced with newer gcc versions |
| 20:11:48 | dbussink | evan: probably some safety checks needed for those signal changes |
| 20:11:56 | rb2k | gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu9) ? |
| 20:12:12 | dbussink | evan: is it possible to raise an exception from that signal handler code? |
| 20:16:12 | rb2k | any way arround this? |
| 20:16:19 | rb2k | just trying to install rbx using rvm |
| 20:17:08 | dbussink | rb2k: you could explicitly cast the return value to void as a workaround |
| 20:17:47 | brixen | warn_unused_result is stupid |
| 20:18:24 | dbussink | brixen: well, i don't see why we shouldn't check here that the reads and writes don't fail silenty |
| 20:18:28 | rb2k | phew |
| 20:18:34 | rb2k | I think I'll just wait :) |
| 20:19:37 | brixen | rb2k: you could try this patch http://gist.github.com/441211 |
| 20:19:42 | brixen | dbussink: yes, in this case |
| 20:19:58 | brixen | dbussink: in general, I think that's a stupid warn that should need to be explicitly enabled |
| 20:23:07 | dbussink | brixen: well, apparently we're pretty nice for it in rbx, since the return value is used everywhere else ;) |
| 20:25:08 | dbussink | brixen: although i agree it's pretty irratic about it |
| 20:25:17 | dbussink | there's plenty of stuff it doesn't warn for |
| 20:28:44 | brixen | how the hell do you debug a process that forks? |
| 20:28:46 | brixen | argh |
| 20:29:42 | brixen | |Blaze||: awesome, thanks |
| 20:30:36 | slava | |Blaze||: you blaze? |
| 20:31:34 | brixen | hm set follow-fork-mode child did not appear to work |
| 20:33:04 | brixen | :( the execvp error is now not happening under gdb |
| 20:33:16 | brixen | but of course happens when not in gdb |
| 20:33:30 | brixen | loves whoever thought up these OS designs |
| 20:34:33 | brixen | yeah, working on that |
| 20:50:58 | evan | dbussink: NON ONONONONNO |
| 20:51:09 | evan | thats my response to |
| 20:51:09 | evan | 13:12 dbussink: evan: is it possible to raise an exception from that signal handler code? |
| 20:53:03 | evan | brixen: you can't debug exec failing under gdb |
| 20:53:06 | evan | typically |
| 20:53:15 | brixen | this is becoming obvious to me |
| 20:53:21 | evan | because gdb inserts itself into the process |
| 20:53:24 | evan | it's still not working for you? |
| 20:53:25 | brixen | this is definitely caused by the signals commit |
| 20:53:41 | evan | oh shitballs. |
| 20:53:44 | evan | i'll bet I know. |
| 20:53:52 | evan | fuuuck |
| 20:53:54 | brixen | you're leopard box is up-to-date on updates |
| 20:53:57 | brixen | er your |
| 20:54:09 | evan | i think OS X, some versions, REFUSES to exec or fork if there is more than one thread running. |
| 20:54:16 | brixen | :/ |
| 20:54:18 | evan | thats why I did the pause of the LLVM thread |
| 20:54:36 | brixen | the fork happens, but I get a SIGILL in gdb in the child |
| 20:54:38 | evan | it's all coming back to me now. |
| 20:54:46 | brixen | I think |
| 20:57:15 | evan | brixen: ok |
| 20:57:16 | evan | one sec. |
| 20:57:17 | evan | i'll fix this. |
| 21:00:07 | evan | so, i totally remember this from 10.5 |
| 21:00:13 | evan | i guess in 10.6 they "fixed" it. |
| 21:00:19 | brixen | interesting |
| 21:01:31 | dwaite | does rbx still support 10.5? |
| 21:01:32 | dwaite | geesh :) |
| 21:03:01 | dwaite | I've considered removing support for 10.5 from urb |
| 21:03:12 | evan | hahah |
| 21:03:22 | evan | how contraversal! |
| 21:04:00 | dwaite | well it works on linux, snow leopard and on windows (apparently) |
| 21:04:25 | dwaite | maybe I should make a ubuntu .dpkg? |
| 21:04:32 | dwaite | err, .deb |
| 21:05:08 | dwaite | that would be quite funny, there is already 3 orders of magnitude more support files than code |
| 21:09:50 | evan | brixen: from System::vm_exec: |
| 21:09:59 | evan | // Some system (darwin) don't let execvp work if there is more |
| 21:09:59 | evan | // than one thread running. So we kill off any background LLVM |
| 21:09:59 | evan | // thread here. |
| 21:10:04 | evan | i wrote that. |
| 21:10:18 | evan | I forgot to add code to kill off the signal handler thread |
| 21:10:20 | evan | which i'm doing now. |
| 21:10:29 | brixen | heh, and I was looking only at ::vm_fork |
| 21:11:16 | brixen | oh nice, there's a TODO right below |
| 21:11:28 | evan | yep. |
| 21:11:36 | evan | scary huh. |
| 21:11:42 | brixen | heh |
| 21:11:56 | brixen | signals, forks, threads oh my |
| 21:12:06 | brixen | they were definitely distracted by bears |
| 21:12:10 | evan | yeah |
| 21:12:16 | brixen | bears are nothing compared to that trio |
| 21:12:20 | evan | unix programming - one hack on top of another |
| 21:12:30 | brixen | heh |
| 21:12:46 | brixen | unix programming - when one hack just isn't enough |
| 21:12:55 | slava | fork() is the stupidest thing ever |
| 21:13:02 | slava | win32 got it right with CreateProcess() |
| 21:13:18 | boyscout | Shutdown the signal handler thread before exec'ing - 5a2ce08 - Evan Phoenix |
| 21:13:26 | evan | brixen: give that a shot |
| 21:13:30 | brixen | ok |
| 21:16:38 | rb2k | evan: ah, thanks for fixing that delete_if thing in array |
| 21:17:06 | rb2k | looking forward to move the project to rbx :) |
| 21:17:15 | evan | rb2k: no prob |
| 21:17:19 | evan | let me know if you still have trouble |
| 21:17:25 | evan | that should have fixed that issue though. |
| 21:17:29 | rb2k | trying to compile rbx atm |
| 21:17:36 | rb2k | doesn't seem to work on my ubuntu ec2 instance |
| 21:17:36 | evan | though, i thought about locking during lunch. |
| 21:18:07 | rb2k | ubuntu: gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu9) , osx: gcc version 4.2.1 (Apple Inc. build 5659) |
| 21:18:11 | rb2k | osx seems to compile |
| 21:19:24 | brixen | evan: works like a charm |
| 21:19:43 | evan | yay! |
| 21:22:39 | brixen | oh the irony |
| 21:22:48 | brixen | kernel panic right after I wrote that |
| 21:22:51 | brixen | :) |
| 21:24:35 | evan | UG |
| 21:24:38 | evan | sorry :( |
| 21:25:07 | brixen | heh, probably a flash plugin in firefox |
| 21:25:15 | brixen | who knows |
| 21:25:22 | brixen | specs running fine |
| 21:32:43 | boyscout | Added support for specific LLVM prebuilts to configure. - 0498874 - Brian Ford |
| 21:33:46 | brixen | evan: add (void) to fix these? https://gist.github.com/f837ae6252131dc8ad07 |
| 21:34:00 | evan | yes |
| 21:34:01 | evan | thats fine. |
| 21:34:06 | rb2k | I tried adding void, didn't work 100% |
| 21:34:11 | rb2k | but rvm might have overwritten that |
| 21:34:15 | brixen | rb2k: what system are you on? |
| 21:34:15 | rb2k | or I missed something |
| 21:34:39 | rb2k | osx 10.6 mbp / ubunu 9.10 32 bit on ec2 |
| 21:34:58 | brixen | hm ubuntu 9.10 has gcc 4.4? |
| 21:35:20 | brixen | I distupgraded my 32bit 9.10 to 10.04 :/ |
| 21:35:39 | evan | rb2k: it should have worked |
| 21:35:48 | evan | if it didn't, show me the gcc output |
| 21:35:52 | brixen | boots vbox |
| 21:36:25 | rb2k | something else is currently using the cpu, but I'll try in a sec |
| 21:37:15 | slava | evan: how do you reproduce random crashes? |
| 21:37:26 | evan | ha |
| 21:37:27 | evan | mm |
| 21:37:29 | brixen | heh |
| 21:37:30 | evan | magic usually. |
| 21:37:45 | evan | well, what I do is start up a time dispacement field at the beginning of the day |
| 21:37:46 | brixen | evan is just that good, he makes random deterministic |
| 21:37:48 | evan | and try to get it to happen |
| 21:38:02 | evan | if it happens, I can rewind time and try it again |
| 21:38:07 | evan | it's all quite simple. |
| 21:38:10 | evan | :) |
| 21:39:07 | maharg | I can't decide if that would be really nice due to usefulness, or if it would just drive someone absolutely insane |
| 21:39:42 | brixen | rb2k: I'm distupgrading an old 9.04 to 9.10 |
| 21:40:14 | rb2k | I'm on karmic atm |
| 21:40:23 | brixen | maharg: groundhog day would suggest the insane outcome |
| 21:40:25 | rb2k | 9.10 |
| 21:40:45 | brixen | rb2k: yeah, I'm working on upgrading |
| 21:40:50 | rb2k | oh sorry |
| 21:40:54 | rb2k | I just read 10.x |
| 21:40:59 | rb2k | it's getting late |
| 21:41:03 | brixen | yeah, I have one of those |
| 21:41:06 | brixen | heh, no worries |
| 21:46:21 | brixen | michaellatta: long time no see! how's things? |
| 21:46:42 | michaellatta | very bussy. Working too many projects at once. |
| 21:47:49 | brixen | heh, no where have I seen that before... :) |
| 21:47:55 | brixen | er s/no/now/ |
| 21:49:23 | michaellatta | brixen: 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:39 | brixen | michaellatta: in rbx? |
| 21:50:26 | michaellatta | brixen: 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:42 | brixen | hmm, good question |
| 21:50:52 | brixen | I know almost nothing about webrat |
| 21:51:17 | michaellatta | brixen: No problem. I will look around for a better forum. |
| 21:51:31 | brixen | ok, sorry :/ |
| 21:51:43 | brixen | if brynary were here, he'd know |
| 21:51:53 | brixen | but he's a *manager* now :) |
| 21:52:32 | michaellatta | brixen: sorry to hear that. Lost another one I guess :-) |
| 21:52:50 | brixen | he may not be too far gone yet :) |
| 21:55:34 | brixen | michaellatta: 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:32 | michaellatta | brixen: 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:38 | brixen | michaellatta: cool |
| 22:08:23 | boyscout | A little code cleanup - 20fb763 - Evan Phoenix |
| 22:09:33 | brixen | hm, still not sure about the sweet spot for distupgrade |
| 22:09:47 | brixen | normal install == more time to download iso + much faster install |
| 22:10:04 | brixen | distupgrade == fast download + a looong time to install |
| 22:15:36 | rb2k | 20 mbit connection = iso downloads while I get some food from the kitchen :) |
| 22:15:48 | evan | yummy |
| 22:15:50 | evan | on both accounts. |
| 22:16:01 | rb2k | it's weird, things got fast |
| 22:16:06 | rb2k | I could even get 100 mbit |
| 22:16:18 | rb2k | 5 years ago, 1 mbit dsl was fast |
| 22:16:19 | evan | where are you exactly? |
| 22:16:22 | rb2k | Germany |
| 22:16:25 | evan | oh nice. |
| 22:16:29 | rb2k | weirdly enough |
| 22:16:31 | evan | in the city i'm assuming |
| 22:16:40 | rb2k | yeah, suburb |
| 22:16:50 | brixen | rb2k: I guess I get ~5mbit |
| 22:16:59 | rb2k | 20 euros/month for the 20 mbit |
| 22:17:10 | brixen | crazy! |
| 22:17:12 | rb2k | I know! |
| 22:17:32 | rb2k | 50 mbit for 40 |
| 22:17:33 | slava | evan: I repro'd my random crash |
| 22:17:38 | rb2k | (+ 15 for cable) |
| 22:17:54 | rb2k | 100 for 50 + 15 |
| 22:18:03 | slava | evan: the trick was to make the gc compact unconditionally instead of when it does |
| 22:18:10 | brixen | rb2k: I pay ~32 euro for that and it would be ~42 |
| 22:18:11 | slava | evan: makes certain code paths execute more often |
| 22:18:27 | evan | random crash shall be renamed predictable crash! |
| 22:19:15 | rb2k | brixen: where are you from? |
| 22:19:20 | brixen | rb2k: somehow, in the U.S. we have some of the shittiest communication tech |
| 22:19:25 | brixen | rb2k: usa |
| 22:19:34 | rb2k | yeah, I lived in boston for 3 months |
| 22:19:40 | rb2k | feb-may |
| 22:19:44 | rb2k | that was weird |
| 22:19:53 | brixen | rb2k: i'm on the west coast, portland oregon |
| 22:19:54 | rb2k | especially cell phone providers are annoying as hell |
| 22:20:01 | brixen | no doubt |
| 22:20:15 | rb2k | for me: 10 euros for 1 gb of data + 9 cents per minute or sms |
| 22:20:17 | rb2k | and that's it |
| 22:20:31 | rb2k | no costs for incoming stuff either |
| 22:20:41 | brixen | heh, that's what you'd call amazing here |
| 22:20:46 | rb2k | I think t-mobile charged me 50 bucks/month |
| 22:20:50 | rb2k | for basically the same usage |
| 22:21:00 | rb2k | and only because I refused to tell them that I had a smartphone |
| 22:21:16 | rb2k | "can I see your phone" - "no, it's charging at home" |
| 22:21:25 | brixen | good one |
| 22:21:46 | rb2k | "the system doesn't recognize your phone" |
| 22:21:50 | rb2k | "it's a european model" |
| 22:21:58 | evan | ok, i'm disabling GC.start by default. |
| 22:25:26 | dwaite | rb2k: t-mobile has good but inept phone support. vs evil and inept people in the stores |
| 22:25:53 | rb2k | I think most of the store people don't have actually a proper connection with t-mobile |
| 22:25:59 | rb2k | retail monkeys |
| 22:26:30 | rb2k | they made me pay 5 (or10?) dollars a month because I had a non-US VISA card |
| 22:26:41 | rb2k | I was able to go to the store and pay using that visa |
| 22:26:57 | rb2k | but they said they can't automatically charge that stuff |
| 22:26:57 | dwaite | I don't think thats even valid in their merchant agreement |
| 22:27:02 | rb2k | ==> service fee |
| 22:27:17 | rb2k | *shrug* |
| 22:27:21 | rb2k | since it was only 3 months... |
| 22:51:14 | brixen | I 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:23 | brixen | and a smart configure + build with one command |
| 22:51:39 | brixen | and a smart install if you configured an install dir |
| 22:52:37 | brixen | for building rbx, there will be no step 3 |
| 22:54:52 | evan | :) |
| 22:55:47 | boyscout | Add -Xgc.honor_start to control if GC.start is honored - e4daf0a - Evan Phoenix |
| 22:56:03 | evan | ok, GC.start is now a no-op by default. |
| 22:56:07 | slava | why is that? |
| 22:56:07 | brixen | nice |
| 22:57:08 | evan | slava: in MRI, it forces the GC to run. |
| 22:58:24 | brixen | man, distupgrade is always fail for me |
| 22:58:33 | brixen | died part way through |
| 22:59:30 | evan | :/ |
| 22:59:35 | slava | evan: so why did you make it a no-op |
| 22:59:44 | evan | because people are dumb. |
| 22:59:54 | evan | they call GC.start because they think "oh, the gc isn't smart, it should run now" |
| 22:59:59 | slava | oh |
| 23:00:01 | slava | fuckers |
| 23:00:06 | brixen | hehe |
| 23:00:11 | brixen | yeah, that |
| 23:00:13 | evan | slava: does factor have locks for dealing with threads? |
| 23:00:36 | slava | factor doesn't have pre-emptive threads |
| 23:00:48 | evan | oh, i thought it did. |
| 23:00:57 | slava | we just have fibers |
| 23:08:19 | evan | brixen: i think i'm going to take a crack at generic auto packing ivars |
| 23:09:03 | brixen | ok |
| 23:09:37 | evan | should I just analyze literals and look for :@<blah> symbols |
| 23:09:53 | evan | or have the compiler output explicit add_ivar calls |
| 23:09:59 | evan | actually, i'll do the first for now |
| 23:10:19 | evan | we can try it out, if it's weird, we can do the explicit version |
| 23:13:23 | brixen | hm, I was going to have each class push an array into the generator state |
| 23:13:40 | brixen | and have InstanceVariableAccess or Assign add to it |
| 23:13:53 | brixen | then emit one call to add_ivars in the class body |
| 23:14:01 | brixen | or pack! |
| 23:14:05 | brixen | I forget what it's called |
| 23:14:12 | evan | that call was just a test |
| 23:14:21 | evan | since I want it to be incremental |
| 23:14:30 | evan | so that ivar collection can span files |
| 23:14:37 | brixen | right |
| 23:14:42 | evan | and when the first instance is created, things are frozen |
| 23:14:54 | brixen | I was going to collect by adding to the tuple in the primitive |
| 23:15:08 | brixen | then on creation, calc the size from the tuple |
| 23:15:14 | brixen | but that would need an extra flag |
| 23:15:27 | brixen | or distiguished first element in the tuple |
| 23:16:15 | evan | hm |
| 23:16:25 | evan | i'm going to try and extend the functionality i've got now |
| 23:16:35 | evan | by just analyzing the literals whenever a method is added |
| 23:16:47 | evan | that should work |
| 23:16:56 | evan | then we can judge it's effectiveness |
| 23:17:06 | brixen | sure |
| 23:27:04 | brixen | building repeatedly to test building sucks |