#1175: Datamapper causing macruby to segfault. ------------------------------+--------------------------------------------- Reporter: jhamor@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: Component: MacRuby | Keywords: ------------------------------+--------------------------------------------- When trying to use datamapper, i'm seeing segfaults for at least the sqlite & rest adapters. These are happening around seemingly basic functionality. Snippets below: {{{ $macirb irb(main):001:0> require 'rubygems' => true irb(main):002:0> require 'stringio' => true irb(main):003:0> require 'dm-core' => true irb(main):004:0> DataMapper::Logger.new($stdout, :debug) => #<DataMapper::Logger:0x20094f600 @init_args=[#<IO:<STDOUT>>, :debug] @level=0 @buffer=[] @delimiter=" ~ " @auto_flush=true @log=#<IO:<STDOUT>>> irb(main):005:0> DataMapper.setup(:default, 'sqlite::memory:') => #<DataMapper::Adapters::SqliteAdapter:0x2009586c0 @name=:default @options={"scheme"=>"sqlite", "user"=>nil, "password"=>nil, "host"=>nil, "port"=>nil, "path"=>":memory:", "query"=>nil, "fragment"=>nil, "adapter"=>"sqlite3", "database"=>""} @resource_naming_convention=DataMapper::NamingConventions::Resource::UnderscoredAndPluralized @field_naming_convention=DataMapper::NamingConventions::Field::Underscored @normalized_uri=#<struct DataObjects::URI scheme="sqlite3", user=nil, password=nil, host=nil, port=nil, path=":memory:", query=nil, fragment=nil>> irb(main):006:0> class Users irb(main):007:1> include DataMapper::Resource irb(main):008:1> irb(main):009:1> property :login, String, :key => true irb(main):010:1> property :id, Integer irb(main):011:1> property :gecos, String irb(main):012:1> property :shell, String irb(main):013:0> end => #<DataMapper::Property::String @model=Users @name=:shell> irb(main):014:0> Users => Users irb(main):015:0> Users.new Segmentation fault $ macruby -v MacRuby 0.9 (ruby 1.9.2) [universal-darwin10.0, x86_64] $ }}} To demonstrate this in standard ruby: {{{ $ irb
require 'rubygems' => false require 'stringio' => true require 'dm-core' => true DataMapper::Logger.new($stdout, :debug) => #<DataMapper::Logger:0x1011fa2c8 @buffer=[], @log=#<IO:0x100177ba8>, @level=0, @auto_flush=true, @delimiter=" ~ ", @init_args=[#<IO:0x100177ba8>, :debug]> DataMapper.setup(:default, 'sqlite::memory:') => #<DataMapper::Adapters::SqliteAdapter:0x10110f8b8 @name=:default, @options={"port"=>nil, "adapter"=>"sqlite3", "fragment"=>nil, "scheme"=>"sqlite", "path"=>":memory:", "database"=>"", "host"=>nil, "user"=>nil, "password"=>nil, "query"=>nil}, @resource_naming_convention=DataMapper::NamingConventions::Resource::UnderscoredAndPluralized, @field_naming_convention=DataMapper::NamingConventions::Field::Underscored, @normalized_uri=#<struct DataObjects::URI scheme="sqlite3", user=nil, password=nil, host=nil, port=nil, path=":memory:", query=nil, fragment=nil>> class Users include DataMapper::Resource
?> property :login, String, :key => true
property :id, Integer property :gecos, String property :shell, String end => #<DataMapper::Property::String @model=Users @name=:shell> Users => Users Users.new => #<Users @login=nil @id=nil @gecos=nil @shell=nil>
}}} -- Ticket URL: <http://www.macruby.org/trac/ticket/1175> MacRuby <http://macruby.org/>