Show enters and exits. Hide enters and exits.
| 03:40:29 | brixen | evan: do it! :) |
| 03:57:05 | matthewd | So, there are actually a number of classes that shouldn't be able to be explicitly created: Fixnum, Bignum, NilClass... |
| 04:00:42 | matthewd | Just undef_method(:new) and override allocate to raise a TypeError? Or is this something Class#allocate should intrinsically understand and enforce? |
| 04:05:56 | brixen | Class#allocate, no |
| 04:07:26 | matthewd | Okay, do we don't care about the VM crashing if someone does something crazy from ruby-land? |
| 04:07:36 | matthewd | (involving re-binding methods, etc) |
| 04:07:47 | brixen | I would be inclined to make .allocate per class raise |
| 04:07:57 | brixen | or add a mixin like we have for ImmediateValue |
| 04:08:18 | brixen | what do you mean by VM crash? |
| 04:08:37 | brixen | the vm should never segfault |
| 04:08:52 | brixen | but I don't care about raising terrible exceptions when user's do stupid shit |
| 04:08:59 | brixen | -' |
| 04:09:13 | matthewd | If you Class.instance_method(:allocate).bind(Bignum).call, you end up with an uninitialized Bignum, which will then get past all our other type checks |
| 04:09:28 | brixen | huh? |
| 04:09:43 | brixen | what do you mean by other type checks? |
| 04:10:19 | matthewd | as<Bignum>()-type stuff... or at least, my reading suggests it'd get past that |
| 04:10:45 | brixen | well, this segfault should not happen |
| 04:10:50 | brixen | file a ticket on that |
| 04:10:59 | brixen | even though that code is stupid as fock |
| 04:11:03 | matthewd | See, eg, the infinite loop right now for `Fixnum.new + 1` |
| 04:11:11 | brixen | we need to address it in a way that does not segfault |
| 04:11:40 | brixen | yeah, file a ticket, let's see how evan wants to address it |
| 04:11:51 | brixen | I'm doing "other than rbx" stuff atm :) |
| 04:12:20 | evan | Fixnum.new should not work. |
| 04:12:24 | evan | if it does, thats a bug. |
| 04:12:30 | evan | also |
| 04:12:30 | matthewd | evan: Right |
| 04:12:39 | evan | are you just trying terrible things? |
| 04:12:42 | evan | or did you see this in real code? |
| 04:12:57 | evan | that info is important when you open the issue |
| 04:13:01 | evan | which you should do now. |
| 04:13:03 | matthewd | I did a Bignum.new accidentally while experimenting |
| 04:13:32 | evan | i'm thinking about instituting new punishments for people who sit on bugs and don't open issues |
| 04:13:33 | evan | :) |
| 04:13:38 | matthewd | Yeah, I was just trying to work out what the issue is |
| 04:15:25 | evan | matthewd: i'd prefer you open the issue with the problem |
| 04:15:30 | evan | and if you explore it more and find more out |
| 04:15:33 | evan | leave a comment on it. |
| 04:15:59 | evan | i can pretty plainly see whats going on |
| 04:16:09 | evan | i'm not sure what more you're looking for |
| 04:16:20 | dkubb | evan: heh, I'm the same way. saw some failures in one project's specs, but since I haven't isolated the prob I didn't want to bother anyone |
| 04:16:41 | evan | if it's a clean repro |
| 04:16:46 | evan | open the issue. |
| 04:16:50 | matthewd | Clearly we need to kill Bignum.allocate and Bignum.new |
| 04:16:53 | evan | thats generally the rule. |
| 04:17:11 | evan | if you want to explore what is happening in the repro, fine too |
| 04:17:22 | evan | but don't sit on a clean repro'd bug for any reason. |
| 04:17:29 | dkubb | yeah, it's not reprod yet. just some specs that fail with rbx and not with other rubies |
| 04:17:56 | evan | ok, sure. |
| 04:18:28 | evan | but if there is no issue, then don't complain that it's not fixed :) |
| 04:18:43 | dkubb | of course :) |
| 04:19:57 | matthewd | evan: But do we want to protect against Class#allocate being being rebound, and thus tricked into creating an instance of a "special" class, which other parts of the VM will later assume to be initialized in a particular way, etc. |
| 04:20:11 | evan | matthewd: we have to. |
| 04:20:22 | evan | no ruby code is allowed to crash the VM. |
| 04:20:30 | matthewd | Yeah, that's what I suspected |
| 04:20:35 | evan | period. |
| 04:20:47 | evan | you're issue only mentions Bignum.new |
| 04:20:50 | evan | what about Fixnum.new? |
| 04:20:54 | matthewd | So, we'll need to give the VM an intrinsic understanding that certain classes can't be allocated |
| 04:20:54 | evan | are you openning that as another issue? |
| 04:21:34 | evan | well, perhaps. |
| 04:21:39 | evan | i'll need to think about it. |
| 04:21:51 | evan | but not on a saturday night. |
| 04:21:56 | evan | :) |
| 04:25:33 | matthewd | evan: Commented |
| 09:10:11 | radarek | when I try to build from master i get "make: *** No rule to make target `ruby.h', needed by `openssl_missing.o'. Stop." |
| 09:10:13 | radarek | any idea? |
| 09:14:01 | matthewd | radarek: Try a `rake clean` |
| 09:57:58 | radarek | matthewd: thanks, it's ok now |
| 11:06:14 | asymmetric | hi guys |
| 11:06:22 | asymmetric | i have a patch that i'd like to submit |
| 11:06:30 | asymmetric | how should i proceed? |
| 11:07:13 | somebody | asymmetric, creates a ticket |
| 11:08:43 | asymmetric | on github? |
| 11:09:14 | somebody | yep |
| 11:18:34 | asymmetric | how do i add labels to issues? |
| 11:19:04 | asymmetric | anyway, the issue is here http://github.com/evanphx/rubinius/issues/issue/336 |
| 11:22:40 | dbussink | asymmetric: did you hit this with something? curious as to what would supply both options |
| 11:23:29 | asymmetric | well, it actually seemed quite illogical that if i specify both (by mistake), --disble takes precedence, no matter the order |
| 11:52:04 | somebody | asymmetric, Only contributers can add labels |
| 11:54:43 | asymmetric | somebody_: k, thanks |
| 22:25:42 | vladsharp | is kconv not available on rubinius |
| 22:25:43 | vladsharp | ? |