Stack consitency error crash when running Sequel specs #1

Closed
jeremyevans opened this Issue Jul 26, 2012 · 6 comments

Comments

Projects
None yet
2 participants

While testing your patch to Sequel's swift adapters with SQLite, I'm getting this:

...............*...................................................................***....*...**................................................................................................................................................**..../home/billg/sequel/lib/sequel/adapters/swift.rb:142: [BUG] Stack consistency error (sp: 140, bp: 141)
ruby 1.9.3p194 (2012-04-20 revision 35410) [i386-openbsd]

-- Control frame information -----------------------------------------------
c:0032 p:0039 s:0140 b:0141 l:ffffdae8 d:000140 BLOCK  /home/billg/sequel/lib/sequel/adapters/swift.rb:142
c:0031 p:0034 s:0137 b:0137 l:000114 d:000136 BLOCK  /home/billg/sequel/lib/sequel/adapters/swift.rb:68
c:0030 p:0008 s:0132 b:0132 l:000118 d:000131 BLOCK  /home/billg/sequel/lib/sequel/database/connecting.rb:229
c:0029 p:0201 s:0129 b:0129 l:000128 d:000128 METHOD /home/billg/sequel/lib/sequel/connection_pool/threaded.rb:105
c:0028 p:0024 s:0119 b:0119 l:000118 d:000118 METHOD /home/billg/sequel/lib/sequel/database/connecting.rb:229
c:0027 p:0021 s:0115 b:0115 l:000114 d:000114 METHOD /home/billg/sequel/lib/sequel/adapters/swift.rb:65
c:0026 p:0046 s:0110 b:0110 l:000109 d:000109 METHOD /home/billg/sequel/lib/sequel/dataset/actions.rb:744
c:0025 p:0013 s:0104 b:0104 l:ffffdae8 d:ffffdae8 METHOD /home/billg/sequel/lib/sequel/adapters/swift.rb:137
c:0024 p:0068 s:0100 b:0100 l:ffffdac8 d:ffffdac8 METHOD /home/billg/sequel/lib/sequel/dataset/actions.rb:133
c:0023 p:---- s:0096 b:0096 l:000095 d:000095 FINISH
c:0022 p:---- s:0094 b:0094 l:ffffdaa8 d:ffffdaa8 CFUNC  :map
c:0021 p:0097 s:0091 b:0091 l:fffff8ec d:fffff8ec METHOD /home/billg/sequel/lib/sequel/dataset/actions.rb:369
c:0020 p:0107 s:0086 b:0086 l:0013c4 d:000085 BLOCK  spec/integration/dataset_test.rb:789
c:0019 p:---- s:0084 b:0084 l:000083 d:000083 FINISH
c:0018 p:---- s:0082 b:0082 l:000081 d:000081 CFUNC  :instance_eval
c:0017 p:0024 s:0079 b:0079 l:000063 d:000078 BLOCK  /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_methods.rb:40
c:0016 p:0031 s:0076 b:0076 l:000075 d:000075 METHOD /usr/local/lib/ruby/1.9.1/timeout.rb:54
c:0015 p:0062 s:0064 b:0064 l:000063 d:000063 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_methods.rb:37
c:0014 p:0047 s:0057 b:0056 l:000046 d:000055 BLOCK  /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_group_methods.rb:219
c:0013 p:---- s:0052 b:0052 l:000051 d:000051 FINISH
c:0012 p:---- s:0050 b:0050 l:000049 d:000049 CFUNC  :each
c:0011 p:0035 s:0047 b:0047 l:000046 d:000046 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_group_methods.rb:217
c:0010 p:0135 s:0039 b:0039 l:000038 d:000038 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_group_methods.rb:103
c:0009 p:0017 s:0031 b:0030 l:000021 d:000029 BLOCK  /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/example_group_runner.rb:23
c:0008 p:---- s:0027 b:0027 l:000026 d:000026 FINISH
c:0007 p:---- s:0025 b:0025 l:000024 d:000024 CFUNC  :each
c:0006 p:0033 s:0022 b:0022 l:000021 d:000021 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/example_group_runner.rb:22
c:0005 p:0225 s:0018 b:0018 l:000017 d:000017 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/options.rb:153
c:0004 p:0068 s:0013 b:0013 l:000012 d:000012 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/command_line.rb:9
c:0003 p:0112 s:0008 b:0007 l:ffffe994 d:001208 EVAL   /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/bin/spec:5
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:ffffe994 d:ffffe994 TOP   

-- Ruby level backtrace information ----------------------------------------
/usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/bin/spec:5:in `<main>'
/usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/command_line.rb:9:in `run'
/usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/options.rb:153:in `run_examples'
/usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/example_group_runner.rb:22:in `run'
/usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/example_group_runner.rb:22:in `each'
/usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/example_group_runner.rb:23:in `block in run'
/usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_group_methods.rb:103:in `run'
/usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_group_methods.rb:217:in `run_examples'
/usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_group_methods.rb:217:in `each'
/usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_group_methods.rb:219:in `block in run_examples'
/usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_methods.rb:37:in `execute'
/usr/local/lib/ruby/1.9.1/timeout.rb:54:in `timeout'
/usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_methods.rb:40:in `block in execute'
/usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_methods.rb:40:in `instance_eval'
spec/integration/dataset_test.rb:789:in `block (2 levels) in <top (required)>'
/home/billg/sequel/lib/sequel/dataset/actions.rb:369:in `map'
/home/billg/sequel/lib/sequel/dataset/actions.rb:369:in `map'
/home/billg/sequel/lib/sequel/dataset/actions.rb:133:in `each'
/home/billg/sequel/lib/sequel/adapters/swift.rb:137:in `fetch_rows'
/home/billg/sequel/lib/sequel/dataset/actions.rb:744:in `execute'
/home/billg/sequel/lib/sequel/adapters/swift.rb:65:in `execute'
/home/billg/sequel/lib/sequel/database/connecting.rb:229:in `synchronize'
/home/billg/sequel/lib/sequel/connection_pool/threaded.rb:105:in `hold'
/home/billg/sequel/lib/sequel/database/connecting.rb:229:in `block in synchronize'
/home/billg/sequel/lib/sequel/adapters/swift.rb:68:in `block in execute'
/home/billg/sequel/lib/sequel/adapters/swift.rb:142:in `block in fetch_rows'

-- Other runtime information -----------------------------------------------

* Loaded script: /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/bin/spec

* Loaded features:

    0 enumerator.so
    1 /usr/local/lib/ruby/1.9.1/i386-openbsd/enc/encdb.so
    2 /usr/local/lib/ruby/1.9.1/i386-openbsd/enc/trans/transdb.so
    3 /usr/local/lib/ruby/1.9.1/rubygems/defaults.rb
    4 /usr/local/lib/ruby/1.9.1/i386-openbsd/rbconfig.rb
    5 /usr/local/lib/ruby/1.9.1/rubygems/deprecate.rb
    6 /usr/local/lib/ruby/1.9.1/rubygems/exceptions.rb
    7 /usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb
    8 /usr/local/lib/ruby/1.9.1/rubygems.rb
    9 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/deprecation.rb
   10 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/ruby.rb
   11 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/extensions/instance_exec.rb
   12 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/pretty.rb
   13 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/matcher.rb
   14 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/operator_matcher.rb
   15 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/dsl.rb
   16 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/be.rb
   17 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/be_close.rb
   18 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/be_instance_of.rb
   19 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/be_kind_of.rb
   20 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/change.rb
   21 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/eql.rb
   22 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/equal.rb
   23 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/errors.rb
   24 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/exist.rb
   25 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/generated_descriptions.rb
   26 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/has.rb
   27 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/have.rb
   28 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/include.rb
   29 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/match.rb
   30 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/match_array.rb
   31 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/method_missing.rb
   32 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/raise_exception.rb
   33 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/respond_to.rb
   34 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/satisfy.rb
   35 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/simple_matcher.rb
   36 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/throw_symbol.rb
   37 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/wrap_expectation.rb
   38 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers/compatibility.rb
   39 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/matchers.rb
   40 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/expectations/fail_with.rb
   41 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/expectations/errors.rb
   42 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/expectations/extensions/kernel.rb
   43 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/expectations/extensions.rb
   44 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/expectations/handler.rb
   45 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/expectations.rb
   46 /usr/local/lib/ruby/1.9.1/timeout.rb
   47 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/args_and_options.rb
   48 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/predicate_matchers.rb
   49 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_group_proxy.rb
   50 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_proxy.rb
   51 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/subject.rb
   52 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/before_and_after_hooks.rb
   53 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/pending.rb
   54 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/module_reopening_fix.rb
   55 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_group_hierarchy.rb
   56 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_group_methods.rb
   57 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_methods.rb
   58 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_group.rb
   59 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/shared_example_group.rb
   60 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_group_factory.rb
   61 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/errors.rb
   62 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example/example_matcher.rb
   63 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/example.rb
   64 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/configuration.rb
   65 /usr/local/lib/ruby/1.9.1/ostruct.rb
   66 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/options.rb
   67 /usr/local/lib/ruby/1.9.1/optparse.rb
   68 /usr/local/lib/ruby/1.9.1/i386-openbsd/stringio.so
   69 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/option_parser.rb
   70 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/example_group_runner.rb
   71 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/command_line.rb
   72 /usr/local/lib/ruby/1.9.1/i386-openbsd/socket.so
   73 /usr/local/lib/ruby/1.9.1/socket.rb
   74 /usr/local/lib/ruby/1.9.1/thread.rb
   75 /usr/local/lib/ruby/1.9.1/i386-openbsd/fcntl.so
   76 /usr/local/lib/ruby/1.9.1/drb/eq.rb
   77 /usr/local/lib/ruby/1.9.1/drb/invokemethod.rb
   78 /usr/local/lib/ruby/1.9.1/drb/drb.rb
   79 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/drb_command_line.rb
   80 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/backtrace_tweaker.rb
   81 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/reporter.rb
   82 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/line_number_query.rb
   83 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/class_and_arguments_parser.rb
   84 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/extensions/kernel.rb
   85 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner.rb
   86 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/version.rb
   87 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/dsl/main.rb
   88 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/dsl.rb
   89 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec.rb
   90 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/autorun.rb
   91 /usr/local/lib/ruby/1.9.1/i386-openbsd/pathname.so
   92 /usr/local/lib/ruby/1.9.1/pathname.rb
   93 /usr/local/lib/ruby/1.9.1/monitor.rb
   94 /usr/local/lib/ruby/1.9.1/logger.rb
   95 /usr/local/lib/ruby/1.9.1/i386-openbsd/bigdecimal.so
   96 /usr/local/lib/ruby/1.9.1/i386-openbsd/date_core.so
   97 /usr/local/lib/ruby/1.9.1/date/format.rb
   98 /usr/local/lib/ruby/1.9.1/date.rb
   99 /usr/local/lib/ruby/1.9.1/time.rb
  100 /usr/local/lib/ruby/1.9.1/uri/common.rb
  101 /usr/local/lib/ruby/1.9.1/uri/generic.rb
  102 /usr/local/lib/ruby/1.9.1/uri/ftp.rb
  103 /usr/local/lib/ruby/1.9.1/uri/http.rb
  104 /usr/local/lib/ruby/1.9.1/uri/https.rb
  105 /usr/local/lib/ruby/1.9.1/uri/ldap.rb
  106 /usr/local/lib/ruby/1.9.1/uri/ldaps.rb
  107 /usr/local/lib/ruby/1.9.1/uri/mailto.rb
  108 /usr/local/lib/ruby/1.9.1/uri.rb
  109 /home/billg/sequel/lib/sequel/metaprogramming.rb
  110 /home/billg/sequel/lib/sequel/sql.rb
  111 /home/billg/sequel/lib/sequel/connection_pool.rb
  112 /home/billg/sequel/lib/sequel/exceptions.rb
  113 /home/billg/sequel/lib/sequel/dataset/query.rb
  114 /home/billg/sequel/lib/sequel/dataset/actions.rb
  115 /home/billg/sequel/lib/sequel/dataset/features.rb
  116 /home/billg/sequel/lib/sequel/dataset/graph.rb
  117 /home/billg/sequel/lib/sequel/dataset/prepared_statements.rb
  118 /home/billg/sequel/lib/sequel/dataset/misc.rb
  119 /home/billg/sequel/lib/sequel/dataset/mutation.rb
  120 /home/billg/sequel/lib/sequel/dataset/sql.rb
  121 /home/billg/sequel/lib/sequel/dataset.rb
  122 /home/billg/sequel/lib/sequel/database/connecting.rb
  123 /home/billg/sequel/lib/sequel/database/dataset.rb
  124 /home/billg/sequel/lib/sequel/database/dataset_defaults.rb
  125 /home/billg/sequel/lib/sequel/database/logging.rb
  126 /home/billg/sequel/lib/sequel/database/misc.rb
  127 /home/billg/sequel/lib/sequel/database/query.rb
  128 /home/billg/sequel/lib/sequel/database/schema_generator.rb
  129 /home/billg/sequel/lib/sequel/database/schema_methods.rb
  130 /home/billg/sequel/lib/sequel/database.rb
  131 /home/billg/sequel/lib/sequel/timezones.rb
  132 /home/billg/sequel/lib/sequel/ast_transformer.rb
  133 /home/billg/sequel/lib/sequel/version.rb
  134 /home/billg/sequel/lib/sequel/core.rb
  135 /home/billg/sequel/lib/sequel/model/default_inflections.rb
  136 /home/billg/sequel/lib/sequel/model/inflections.rb
  137 /home/billg/sequel/lib/sequel/model/plugins.rb
  138 /home/billg/sequel/lib/sequel/model/base.rb
  139 /home/billg/sequel/lib/sequel/model/exceptions.rb
  140 /home/billg/sequel/lib/sequel/model/errors.rb
  141 /home/billg/sequel/lib/sequel/model/associations.rb
  142 /home/billg/sequel/lib/sequel/model.rb
  143 /home/billg/sequel/lib/sequel.rb
  144 /home/billg/sequel/lib/sequel/no_core_ext.rb
  145 /home/billg/sequel/spec/spec_config.rb
  146 /home/billg/sequel/spec/adapters/spec_helper.rb
  147 /home/billg/sequel/lib/sequel/adapters/swift.rb
  148 /home/billg/sequel/lib/sequel/connection_pool/threaded.rb
  149 /usr/local/lib/ruby/1.9.1/rubygems/version.rb
  150 /usr/local/lib/ruby/1.9.1/rubygems/requirement.rb
  151 /usr/local/lib/ruby/1.9.1/rubygems/platform.rb
  152 /usr/local/lib/ruby/1.9.1/rubygems/specification.rb
  153 /usr/local/lib/ruby/1.9.1/rubygems/path_support.rb
  154 /usr/local/lib/ruby/1.9.1/rubygems/dependency.rb
  155 /usr/local/lib/ruby/gems/1.9.1/gems/swift-db-sqlite3-0.1.0/ext/swift/db/sqlite3/swift_db_sqlite3_ext.so
  156 /usr/local/lib/ruby/gems/1.9.1/gems/swift-db-sqlite3-0.1.0/lib/swift/db/sqlite3.rb
  157 /home/billg/sequel/lib/sequel/adapters/shared/sqlite.rb
  158 /home/billg/sequel/lib/sequel/adapters/swift/sqlite.rb
  159 /home/billg/sequel/spec/integration/spec_helper.rb
  160 /home/billg/sequel/lib/sequel/extensions/migration.rb
  161 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/mocks/methods.rb
  162 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/mocks/argument_matchers.rb
  163 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/mocks/example_methods.rb
  164 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/mocks/proxy.rb
  165 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/mocks/mock.rb
  166 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/mocks/argument_expectation.rb
  167 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/mocks/message_expectation.rb
  168 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/mocks/order_group.rb
  169 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/mocks/errors.rb
  170 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/mocks/error_generator.rb
  171 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/mocks/space.rb
  172 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/mocks/framework.rb
  173 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/mocks/extensions/object.rb
  174 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/mocks/extensions.rb
  175 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/adapters/mock_frameworks/rspec.rb
  176 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/formatter/base_formatter.rb
  177 /usr/local/lib/ruby/1.9.1/i386-openbsd/etc.so
  178 /usr/local/lib/ruby/1.9.1/fileutils.rb
  179 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/formatter/base_text_formatter.rb
  180 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/formatter/no_op_method_missing.rb
  181 /usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/lib/spec/runner/formatter/progress_bar_formatter.rb
  182 /home/billg/sequel/lib/sequel/extensions/_pretty_table.rb
  183 /home/billg/sequel/lib/sequel/plugins/dataset_associations.rb
  184 /home/billg/sequel/lib/sequel/plugins/many_through_many.rb
  185 /home/billg/sequel/lib/sequel/plugins/prepared_statements_associations.rb

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

Abort trap (core dumped) 
rake aborted!
Command /usr/local/bin/ruby19 -I"lib"  "/usr/local/lib/ruby/gems/1.9.1/gems/rspec-1.3.2/bin/spec" "spec/adapters/sqlite_spec.rb" "spec/integration/prepared_statement_test.rb" "spec/integration/associations_test.rb" "spec/integration/database_test.rb" "spec/integration/dataset_test.rb" "spec/integration/eager_loader_test.rb" "spec/integration/migrator_test.rb" "spec/integration/model_test.rb" "spec/integration/plugin_test.rb" "spec/integration/timezone_test.rb" "spec/integration/schema_test.rb" "spec/integration/transaction_test.rb" "spec/integration/type_test.rb"  failed

Tasks: TOP => spec_sqlite
(See full trace by running task with --trace)

I committed a modified version of your Sequel pull request, which includes adding guards for all specs that would cause swift-db-sqlite3 to crash (jeremyevans/sequel@5068889). Hopefully that'll help in tracking down what the actual problem is, and after a new version is released with the fix, the spec guards can be removed.

Owner

deepfryed commented Jul 26, 2012

I ran rake spec_sqlite with swift-db-sqlite3 (0.1.1) on

  1. 3.0.0-1-amd64 #1 SMP Sun Jul 24 02:24:44 UTC 2011 x86_64 GNU/Linux
    ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux]
  2. 11.0.0 Darwin Kernel Version 11.0.0: Sat Jun 18 12:56:35 PDT 2011;
    root:xnu-1699.22.73~1/RELEASE_X86_64 x86_64
    ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.0.0]

seemed fine, I will retry on a i386 openbsd vm

Is that with the current Sequel master branch? If so, it may be because the specs that crash are guarded on swift/sqlite. You'll have to unguard them for testing.

If you've already unguarded the relevant specs, it may be a compiler issue, or a memory issue (OpenBSD is stricter than Linux in regards to memory management).

Owner

deepfryed commented Jul 28, 2012

yeah it worked fine on lucid i386, lucid x86_64 but segfaulted in bsd i386. tracked it down to a rb_gc_register_address. v0.1.2 seems to work fine now.

would you be able to confirm ?

thanks

I'll test on Monday and let you know. Thanks!

With 0.1.2, the issues appear to be fixed. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment