Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Invalid block local access causes segfault #26

Closed
brixen opened this Issue · 1 comment

1 participant

Brian Shirai
Brian Shirai
Owner

A segfault results if the VM encounters a (set|push)_local_depth when the scope nesting does not match the depth given.

For example:

class Hash
  def self.allocate
    hash = super()
    Rubinius.privately { hash.setup }
    hash
  end
end

If the compiler does not fix up the local access for hash in hash.setup in Rubinius.privately, the push_local_depth insn will attempt call_frame->scope->parent() and parent is 0x0.

Brian Shirai
Owner

Fixed.

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.