[MacRuby] #1175: Datamapper causing macruby to segfault.
MacRuby
ruby-noreply at macosforge.org
Mon Feb 28 23:49:58 PST 2011
#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/>
More information about the macruby-tickets
mailing list