sproutcore / abbot

SproutCore Build Tools [deprecated]
http://www.sproutcore.com
88 stars 44 forks source link

NoMethodError: undefined method `key' for #<Hash:0x101dbaea0> #16

Closed jeremi closed 13 years ago

jeremi commented 13 years ago

I'm using the master of abbot and master of sproutcore. I followed this instruction to configure it : https://github.com/sproutit/sproutcore-abbot/wiki/Using-Abbot-1.4-From-Source When I'm using sc-server, I'm getting the following error (but it still work) :

$ sc-server
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/vendor/chance/lib/chance/parser.rb:104: warning: don't put space before argument parentheses
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/vendor/chance/lib/chance/parser.rb:136: warning: don't put space before argument parentheses
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/vendor/chance/lib/chance/parser.rb:153: warning: don't put space before argument parentheses
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/vendor/chance/lib/chance/parser.rb:293: warning: don't put space before argument parentheses
SproutCore v1.4.4 Development Server
Starting server at http://0.0.0.0:4020 in debug mode
To quit sc-server, press Control-C
>> Thin web server (v1.2.7 codename No Hup)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:4020, CTRL+C to stop
NoMethodError: undefined method `key' for #
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/vendor/chance/lib/chance/instance.rb:169:in `_combine'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/vendor/chance/lib/chance/instance.rb:168:in `map'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/vendor/chance/lib/chance/instance.rb:168:in `_combine'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/vendor/chance/lib/chance/instance.rb:90:in `update'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/builders/combine.rb:43:in `buildWithChance'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/builders/combine.rb:26:in `buildWithChance'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/buildtasks/build.rake:65:in `define!'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/buildfile/task.rb:239:in `call'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/buildfile/task.rb:239:in `execute'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/buildfile/task.rb:234:in `each'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/buildfile/task.rb:234:in `execute'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/buildfile/task.rb:191:in `invoke_with_call_chain'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/buildfile/task.rb:148:in `invoke'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/buildfile.rb:216:in `invoke'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/models/manifest_entry.rb:339:in `build_to'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/models/manifest_entry.rb:251:in `build!'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/rack/builder.rb:129:in `call'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/rack/builder.rb:89:in `synchronize'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/rack/builder.rb:89:in `call'
    /Library/Ruby/Gems/1.8/gems/rack-1.2.1/lib/rack/cascade.rb:23:in `call'
    /Library/Ruby/Gems/1.8/gems/rack-1.2.1/lib/rack/cascade.rb:22:in `each'
    /Library/Ruby/Gems/1.8/gems/rack-1.2.1/lib/rack/cascade.rb:22:in `call'
    /Library/Ruby/Gems/1.8/gems/rack-1.2.1/lib/rack/showexceptions.rb:24:in `call'
    /Library/Ruby/Gems/1.8/gems/rack-1.2.1/lib/rack/recursive.rb:43:in `_call'
    /Library/Ruby/Gems/1.8/gems/rack-1.2.1/lib/rack/recursive.rb:38:in `call'
    /Library/Ruby/Gems/1.8/gems/rack-1.2.1/lib/rack/conditionalget.rb:25:in `call'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/rack/service.rb:110:in `call'
    /Library/Ruby/Gems/1.8/gems/rack-1.2.1/lib/rack/content_length.rb:13:in `call'
    /Library/Ruby/Gems/1.8/gems/rack-1.2.1/lib/rack/chunked.rb:15:in `call'
    /Library/Ruby/Gems/1.8/gems/thin-1.2.7/lib/thin/connection.rb:76:in `pre_process'
    /Library/Ruby/Gems/1.8/gems/thin-1.2.7/lib/thin/connection.rb:74:in `catch'
    /Library/Ruby/Gems/1.8/gems/thin-1.2.7/lib/thin/connection.rb:74:in `pre_process'
    /Library/Ruby/Gems/1.8/gems/thin-1.2.7/lib/thin/connection.rb:57:in `process'
    /Library/Ruby/Gems/1.8/gems/thin-1.2.7/lib/thin/connection.rb:42:in `receive_data'
    /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
    /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
    /Library/Ruby/Gems/1.8/gems/thin-1.2.7/lib/thin/backends/base.rb:57:in `start'
    /Library/Ruby/Gems/1.8/gems/thin-1.2.7/lib/thin/server.rb:156:in `start'
    /Library/Ruby/Gems/1.8/gems/rack-1.2.1/lib/rack/handler/thin.rb:14:in `run'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/rack/service.rb:93:in `start'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/tools/server.rb:43:in `server'
    /Library/Ruby/Gems/1.8/gems/thor-0.14.6/lib/thor/task.rb:22:in `send'
    /Library/Ruby/Gems/1.8/gems/thor-0.14.6/lib/thor/task.rb:22:in `run'
    /Library/Ruby/Gems/1.8/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task'
    /Library/Ruby/Gems/1.8/gems/thor-0.14.6/lib/thor.rb:263:in `dispatch'
    /Library/Ruby/Gems/1.8/gems/thor-0.14.6/lib/thor/base.rb:389:in `start'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/tools.rb:380:in `start'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/tools.rb:30:in `invoke'
    /Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/bin/sc-server:16
    /usr/bin/sc-server:19:in `load'
    /usr/bin/sc-server:19

When I'm trying to build using sc-build, it fails:

$ sc-build
/Library/Ruby/Gems/1.8/bundler/gems/abbot-727348279e25/lib/sproutcore/tools/build.rb:119: warning: don't put space before argument parentheses
/Library/Ruby/Gems/1.8/bundler/gems/abbot-727348279e25/vendor/chance/lib/chance/parser.rb:104: warning: don't put space before argument parentheses
/Library/Ruby/Gems/1.8/bundler/gems/abbot-727348279e25/vendor/chance/lib/chance/parser.rb:136: warning: don't put space before argument parentheses
/Library/Ruby/Gems/1.8/bundler/gems/abbot-727348279e25/vendor/chance/lib/chance/parser.rb:153: warning: don't put space before argument parentheses
/Library/Ruby/Gems/1.8/bundler/gems/abbot-727348279e25/vendor/chance/lib/chance/parser.rb:293: warning: don't put space before argument parentheses
FATAL ~ undefined method `key' for # 

Any ideas where it can come from ?

jeremi commented 13 years ago

it seems to be happening when loading some css and js (but not all) : http://localhost:4020/static/sproutcore/desktop/en/current/stylesheet.css?1291711844 http://localhost:4020/static/activity_stream/en/current/module_info.js?1291754880

using sc-build -v, here is what I get:


$ sc-build -v
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/vendor/chance/lib/chance/parser.rb:104: warning: don't put space before argument parentheses
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/vendor/chance/lib/chance/parser.rb:136: warning: don't put space before argument parentheses
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/vendor/chance/lib/chance/parser.rb:153: warning: don't put space before argument parentheses
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/vendor/chance/lib/chance/parser.rb:293: warning: don't put space before argument parentheses
INFO ~ Starting build process... 
INFO ~ Loaded project at: /Users/jeremi/wmp/src/activityStream/src/medias/activity_stream 
INFO ~ Building targets: /sproutcore/statechart,/sproutcore/table,/sproutcore/empty_theme,/sproutcore/docs,/sproutcore/animation,/sproutcore/bootstrap,/activity_stream,/sproutcore/desktop,/sproutcore/iphone_theme,/sproutcore,/sproutcore/welcome,/sproutcore/forms,/sproutcore/jquery,/sproutcore/media,/sproutcore/ace,/sproutcore/greenhouse,/sproutcore/runtime,/sproutcore/testing,/sproutcore/core_tools,/sproutcore/datejs,/sproutcore/debug,/sproutcore/foundation,/sproutcore/tests,/sproutcore/designer,/sproutcore/datastore,/sproutcore/documentation,/sproutcore/standard_theme,/sproutcore/test_controls,/sproutcore/mini 
INFO ~ Building languages: en,es 
INFO ~ Building manifest for: /sproutcore/statechart:en 
INFO ~ Building manifest for: /sproutcore/statechart:es 
INFO ~ Building manifest for: /sproutcore/table:en 
INFO ~ Building manifest for: /sproutcore/table:es 
INFO ~ Building manifest for: /sproutcore/empty_theme:en 
INFO ~ Building manifest for: /sproutcore/empty_theme:es 
INFO ~ Building manifest for: /sproutcore/docs:en 
INFO ~ Building manifest for: /sproutcore/docs:es 
INFO ~ Building manifest for: /sproutcore/animation:en 
INFO ~ Building manifest for: /sproutcore/animation:es 
INFO ~ Building manifest for: /sproutcore/bootstrap:en 
INFO ~ Building manifest for: /sproutcore/bootstrap:es 
INFO ~ Building manifest for: /activity_stream:en 
INFO ~ Building manifest for: /activity_stream:es 
INFO ~ Building manifest for: /sproutcore/desktop:en 
INFO ~ Building manifest for: /sproutcore/desktop:es 
INFO ~ Building manifest for: /sproutcore/iphone_theme:en 
INFO ~ Building manifest for: /sproutcore/iphone_theme:es 
INFO ~ Building manifest for: /sproutcore:en 
INFO ~ Building manifest for: /sproutcore:es 
INFO ~ Building manifest for: /sproutcore/welcome:en 
INFO ~ Building manifest for: /sproutcore/welcome:es 
INFO ~ Building manifest for: /sproutcore/forms:en 
INFO ~ Building manifest for: /sproutcore/forms:es 
INFO ~ Building manifest for: /sproutcore/jquery:en 
INFO ~ Building manifest for: /sproutcore/jquery:es 
INFO ~ Building manifest for: /sproutcore/media:en 
INFO ~ Building manifest for: /sproutcore/media:es 
INFO ~ Building manifest for: /sproutcore/ace:en 
INFO ~ Building manifest for: /sproutcore/ace:es 
INFO ~ Building manifest for: /sproutcore/greenhouse:en 
INFO ~ Building manifest for: /sproutcore/greenhouse:es 
INFO ~ Building manifest for: /sproutcore/runtime:en 
INFO ~ Building manifest for: /sproutcore/runtime:es 
INFO ~ Building manifest for: /sproutcore/testing:en 
INFO ~ Building manifest for: /sproutcore/testing:es 
INFO ~ Building manifest for: /sproutcore/core_tools:en 
INFO ~ Building manifest for: /sproutcore/core_tools:es 
INFO ~ Building manifest for: /sproutcore/datejs:en 
INFO ~ Building manifest for: /sproutcore/datejs:es 
INFO ~ Building manifest for: /sproutcore/debug:en 
INFO ~ Building manifest for: /sproutcore/debug:es 
INFO ~ Building manifest for: /sproutcore/foundation:en 
INFO ~ Building manifest for: /sproutcore/foundation:es 
INFO ~ Building manifest for: /sproutcore/tests:en 
INFO ~ Building manifest for: /sproutcore/tests:es 
INFO ~ Building manifest for: /sproutcore/designer:en 
INFO ~ Building manifest for: /sproutcore/designer:es 
INFO ~ Building manifest for: /sproutcore/datastore:en 
INFO ~ Building manifest for: /sproutcore/datastore:es 
INFO ~ Building manifest for: /sproutcore/documentation:en 
INFO ~ Building manifest for: /sproutcore/documentation:es 
INFO ~ Building manifest for: /sproutcore/standard_theme:en 
INFO ~ Building manifest for: /sproutcore/standard_theme:es 
INFO ~ Building manifest for: /sproutcore/test_controls:en 
INFO ~ Building manifest for: /sproutcore/test_controls:es 
INFO ~ Building manifest for: /sproutcore/mini:en 
INFO ~ Building manifest for: /sproutcore/mini:es 
INFO ~ Building entries for /sproutcore/statechart:en... 
INFO ~   stylesheet.css -> tmp/build/static/sproutcore/statechart/en/36524392b5b4c4e528ad549672eaa6bc873823db/stylesheet.css 
INFO ~   javascript.js -> tmp/build/static/sproutcore/statechart/en/36524392b5b4c4e528ad549672eaa6bc873823db/javascript.js 
INFO ~   javascript-packed.js -> tmp/build/static/sproutcore/statechart/en/36524392b5b4c4e528ad549672eaa6bc873823db/javascript-packed.js 
INFO ~   stylesheet-packed.css -> tmp/build/static/sproutcore/statechart/en/36524392b5b4c4e528ad549672eaa6bc873823db/stylesheet-packed.css 
INFO ~ Building entries for /sproutcore/statechart:es... 
INFO ~   stylesheet.css -> tmp/build/static/sproutcore/statechart/es/36524392b5b4c4e528ad549672eaa6bc873823db/stylesheet.css 
INFO ~   javascript.js -> tmp/build/static/sproutcore/statechart/es/36524392b5b4c4e528ad549672eaa6bc873823db/javascript.js 
INFO ~   javascript-packed.js -> tmp/build/static/sproutcore/statechart/es/36524392b5b4c4e528ad549672eaa6bc873823db/javascript-packed.js 
INFO ~   stylesheet-packed.css -> tmp/build/static/sproutcore/statechart/es/36524392b5b4c4e528ad549672eaa6bc873823db/stylesheet-packed.css 
INFO ~ Building entries for /sproutcore/table:en... 
INFO ~   stylesheet.css -> tmp/build/static/sproutcore/table/en/05e4067ed339a7ce6708a1e4294dff3096ff0840/stylesheet.css 
INFO ~   javascript.js -> tmp/build/static/sproutcore/table/en/05e4067ed339a7ce6708a1e4294dff3096ff0840/javascript.js 
INFO ~   javascript-packed.js -> tmp/build/static/sproutcore/table/en/05e4067ed339a7ce6708a1e4294dff3096ff0840/javascript-packed.js 
INFO ~   stylesheet-packed.css -> tmp/build/static/sproutcore/table/en/05e4067ed339a7ce6708a1e4294dff3096ff0840/stylesheet-packed.css 
FATAL ~ undefined method `key' for # 
FATAL ~ BACKTRACE:
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/vendor/chance/lib/chance/instance.rb:169:in `_combine'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/vendor/chance/lib/chance/instance.rb:168:in `map'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/vendor/chance/lib/chance/instance.rb:168:in `_combine'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/vendor/chance/lib/chance/instance.rb:90:in `update'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/builders/combine.rb:43:in `buildWithChance'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/builders/combine.rb:26:in `buildWithChance'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/buildtasks/build.rake:65:in `define!'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/buildfile/task.rb:239:in `call'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/buildfile/task.rb:239:in `execute'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/buildfile/task.rb:234:in `each'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/buildfile/task.rb:234:in `execute'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/buildfile/task.rb:191:in `invoke_with_call_chain'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/buildfile/task.rb:148:in `invoke'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/buildfile.rb:216:in `invoke'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/models/manifest_entry.rb:339:in `build_to'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/models/manifest_entry.rb:257:in `stage!'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/models/manifest_entry.rb:331:in `build_to'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/models/manifest_entry.rb:331:in `each'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/models/manifest_entry.rb:331:in `build_to'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/models/manifest_entry.rb:257:in `stage!'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/models/manifest_entry.rb:331:in `build_to'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/models/manifest_entry.rb:331:in `each'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/models/manifest_entry.rb:331:in `build_to'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/models/manifest_entry.rb:251:in `build!'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/tools/build.rb:80:in `build'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/tools/build.rb:77:in `each'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/tools/build.rb:77:in `build'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/tools/build.rb:56:in `each'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/tools/build.rb:56:in `build'
/Library/Ruby/Gems/1.8/gems/thor-0.14.6/lib/thor/task.rb:22:in `send'
/Library/Ruby/Gems/1.8/gems/thor-0.14.6/lib/thor/task.rb:22:in `run'
/Library/Ruby/Gems/1.8/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task'
/Library/Ruby/Gems/1.8/gems/thor-0.14.6/lib/thor.rb:263:in `dispatch'
/Library/Ruby/Gems/1.8/gems/thor-0.14.6/lib/thor/base.rb:389:in `start'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/tools.rb:380:in `start'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/lib/sproutcore/tools.rb:30:in `invoke'
/Library/Ruby/Gems/1.8/gems/sproutcore-1.4.4/bin/sc-build:16
/usr/bin/sc-build:19:in `load'
/usr/bin/sc-build:19

jeremi commented 13 years ago

I found the problem. I was using ruby 1.8.7 (coming with mac). After switching to 1.9.2 it resolved the problem.