Skip to content

Instantly share code, notes, and snippets.

@NickClark
Created May 4, 2011 21:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NickClark/956091 to your computer and use it in GitHub Desktop.
Save NickClark/956091 to your computer and use it in GitHub Desktop.
Error using launchy with cucumber and spork.

Description

This error occurs when I run this feature with spork. If I run it without spork, then it works as expected.

Feature: View Pages
In Order to view content pages
As a guest
I want to view pages
Scenario: View a page # features/view_pages.feature:6
Given a page exists with the following: # features/step_definitions/page_steps.rb:1
| body | This is a test page! |
| title | Test Page |
And I go to the page # features/step_definitions/web_steps.rb:48
Then I should see "Test Page" # features/step_definitions/web_steps.rb:105
And I should see "This is a test page!" # features/step_definitions/web_steps.rb:105
And show me the page # features/step_definitions/web_steps.rb:209
Exception encountered: #<TypeError: incompatible marshal file format (can't be read)
format version 4.8 required; 0.0 given>
backtrace:
/Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:585:in `load'
/Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:585:in `block in load'
<internal:prelude>:10:in `synchronize'
/Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:581:in `load'
/Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:632:in `recv_reply'
/Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:918:in `recv_reply'
/Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1197:in `send_message'
/Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1088:in `block (2 levels) in method_missing'
/Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1172:in `open'
/Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1087:in `block in method_missing'
/Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1105:in `with_friend'
/Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1086:in `method_missing'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/formatter/pretty.rb:152:in `step_name'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:174:in `block in send_to_all'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:172:in `each'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:172:in `send_to_all'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:167:in `broadcast'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:112:in `visit_step_name'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:105:in `block in visit_step_result'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:164:in `broadcast'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:104:in `visit_step_result'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/step_invocation.rb:47:in `visit_step_result'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/step_invocation.rb:43:in `accept'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:99:in `block in visit_step'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:164:in `broadcast'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:98:in `visit_step'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/step_collection.rb:15:in `block in accept'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/step_collection.rb:14:in `each'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/step_collection.rb:14:in `accept'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:93:in `block in visit_steps'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:164:in `broadcast'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:92:in `visit_steps'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/scenario.rb:53:in `block (2 levels) in accept'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/runtime.rb:79:in `block (2 levels) in with_hooks'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/runtime.rb:95:in `before_and_after'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/runtime.rb:78:in `block in with_hooks'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/runtime/support_code.rb:115:in `call'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/runtime/support_code.rb:115:in `block (3 levels) in around'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/language_support/language_methods.rb:13:in `block in around'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/language_support/language_methods.rb:95:in `call'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/language_support/language_methods.rb:95:in `execute_around'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/language_support/language_methods.rb:12:in `around'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/runtime/support_code.rb:114:in `block (2 levels) in around'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/runtime/support_code.rb:112:in `call'
/Users/nick/.rvm/gems/ruby-1.9.2-p/Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:573:in `load'180@carob/gems/cucumber-0.10.2/lib/cucumber/runtime/support_code.rb:112:in `around'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/runtime.rb:90:in `around'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/runtime.rb:77:in `with_hooks'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/scenario.rb:51:in `block in accept'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/scenario.rb:106:in `with_visitor'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/scenario.rb:45:in `accept'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:51:in `block in visit_feature_element'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:164:in `broadcast'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/feature.rb:40:in `block in accept'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/feature.rb:39:in `each'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/feature.rb:39:in `accept'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:20:in `block in visit_feature'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:164:in `broadcast'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:19:in `visit_feature'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/features.rb:29:in `block in accept'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/features.rb:17:in `each'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/features.rb:17:in `each'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/features.rb:28:in `accept'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:14:in `block in visit_features'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:164:in `broadcast'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/ast/tree_walker.rb:13:in `visit_features'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@caro: b/gems/cucumber-0.10.2/lib/cucumber/runtime.rb:45:in `run!'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/cucumber-0.10.2/lib/cucumber/cli/main.rb:43:in `execute!'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/spork-0.9.0.rc5/lib/spork/test_framework/cucumber.rb:24:in `run_tests'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/spork-0.9.0.rc5/lib/spork/run_strategy/forking.rb:13:in `block in run'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/spork-0.9.0.rc5/lib/spork/forker.rb:21:in `block in initialize'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/spork-0.9.0.rc5/lib/spork/forker.rb:18:in `fork'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/spork-0.9.0.rc5/lib/spork/forker.rb:18:in `initialize'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/spork-0.9.0.rc5/lib/spork/run_strategy/forking.rb:9:in `new'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/spork-0.9.0.rc5/lib/spork/run_strategy/forking.rb:9:in `run'
/Users/nick/.rvm/gems/ruby-1.9.2-p180@carob/gems/spork-0.9.0.rc5/lib/spork/server.rb:48:in `run'
/Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1558:in `perform_without_block'
/Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1518:in `perform'
/Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1592:in `block (2 levels) in main_loop'
/Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1588:in `loop'
/Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1588:in `block in main_loop'too large packet 67654656
(DRb::DRbConnError)
from /Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:632:in `recv_reply'
from /Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:918:in `recv_reply'
from /Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1197:in `send_message'
from /Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1088:in `block (2 levels) in method_missing'
from /Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1172:in `open'
from /Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1087:in `block in method_missing'
from /Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1105:in `with_friend'
from /Users/nick/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1086:in `method_missing'
@rdp
Copy link

rdp commented May 4, 2011

looks like this is your problem: too large packet 67654656

@NickClark
Copy link
Author

I added this to my env.rb file:

DRb::DRbServer.default_load_limit 90214400

Which takes care of the packet error but I still get the incompatible marshal file format error

@rdp
Copy link

rdp commented May 5, 2011

do you know what it's trying to marshal? (it's probably stdout output). If you can isolate what it's sending over the wire, you could try to see if said item marshal's at all and if it does, make sure you're using the same version of ruby's across it, try sending just that item across drb, etc.

@NickClark
Copy link
Author

I started a clean rails project and narrowed it down. I don't know how, or why, but if growl is installed, it fails, without growl, everything seems to be fine. I have no Idea how or why that would interfere. I've uploaded the test app here: https://github.com/NickClark/Launchy-Test

@rdp
Copy link

rdp commented May 5, 2011

yeah, for me this is where ruby kind of sucks--it is flakey on the edge cases. If you get to the bottom of it it might help others with similar problems.
Cheers!
-r

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