Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rescuing argument error on split so cucumber won't stop tests due bad en... #690

Merged
merged 1 commit into from
Sep 3, 2014
Merged

Conversation

awls99
Copy link

@awls99 awls99 commented Jun 6, 2014

I've been getting a few encoding errors lately on my CI server, I can't put the finger on the problem, I cannot get it happen locally either, that's why I haven't added a test for it, but I did this quick fix so it wouldn't impact other work until the root cause is discovered.
I've been running this on the CI server (edited directly on the gem) for 2 days now with no issues.

Conn close
invalid byte sequence in US-ASCII (ArgumentError)
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/formatter/html.rb:601:in `split'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/formatter/html.rb:601:in `lines_around'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/formatter/html.rb:593:in `snippet_for'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/formatter/html.rb:583:in `snippet'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/formatter/html.rb:277:in `extra_failure_content'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/formatter/html.rb:404:in `build_exception_detail'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/formatter/html.rb:272:in `exception'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:181:in `block in send_to_all'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:179:in `each'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:179:in `send_to_all'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:173:in `broadcast'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:129:in `visit_exception'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:114:in `block in visit_step_result'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:170:in `broadcast'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:111:in `visit_step_result'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/step_invocation.rb:43:in `visit_step_result'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/step_invocation.rb:39:in `accept'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:106:in `block in visit_step'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:170:in `broadcast'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:105:in `visit_step'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/step_collection.rb:19:in `block in accept'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/step_collection.rb:18:in `each'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/step_collection.rb:18:in `accept'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:100:in `block in visit_steps'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:170:in `broadcast'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:99:in `visit_steps'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:15:in `block in execute'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/runtime.rb:83:in `block (2 levels) in with_hooks'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/runtime.rb:99:in `before_and_after'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/runtime.rb:82:in `block in with_hooks'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/runtime/support_code.rb:120:in `call'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/runtime/support_code.rb:120:in `block (3 levels) in around'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/language_support/language_methods.rb:9:in `block in around'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/language_support/language_methods.rb:97:in `call'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/language_support/language_methods.rb:97:in `execute_around'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/language_support/language_methods.rb:8:in `around'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/runtime/support_code.rb:119:in `block (2 levels) in around'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/runtime/support_code.rb:123:in `call'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/runtime/support_code.rb:123:in `around'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/runtime.rb:94:in `around'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/runtime.rb:81:in `with_hooks'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:13:in `execute'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/scenario.rb:32:in `block in accept'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/scenario.rb:79:in `with_visitor'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/scenario.rb:31:in `accept'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:58:in `block in visit_feature_element'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:170:in `broadcast'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:57:in `visit_feature_element'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/feature.rb:38:in `block in accept'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/feature.rb:37:in `each'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/feature.rb:37:in `accept'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:27:in `block in visit_feature'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:170:in `broadcast'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:26:in `visit_feature'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/features.rb:28:in `block in accept'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/features.rb:17:in `each'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/features.rb:17:in `each'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/features.rb:27:in `accept'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:21:in `block in visit_features'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:170:in `broadcast'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/ast/tree_walker.rb:20:in `visit_features'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/runtime.rb:49:in `run!'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/lib/cucumber/cli/main.rb:47:in `execute!'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/gems/cucumber-1.3.10/bin/cucumber:13:in `<top (required)>'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/bin/cucumber:19:in `load'
/apps/jenkins/.rvm/gems/ruby-2.0.0-p451/bin/cucumber:19:in `<main>'

@mattwynne
Copy link
Member

I think we can accept this, though it would obviously be better to figure out the root cause so we can add a more helpful error message.

Can you please edit the PR to pull against the 1.3.x-bugfix branch so we can release it to production?

@awls99
Copy link
Author

awls99 commented Jun 9, 2014

Thanks @mattwynne, I didn't find a way to edit the PR (sorry my Githubfoo is lacking), so I cherry picked the commit from my branch into my local 1.3.x-bugfix, pushed it and created cucumber/common#692. Hope that's good enough.

@awls99
Copy link
Author

awls99 commented Jun 9, 2014

Also, on the matter of the root cause, I'm down to the point where I'm suspecting the Corporate Gitlab server of screwing with .feature files.

@os97673
Copy link
Member

os97673 commented Jun 12, 2014

Travis' build is failing :(

@awls99
Copy link
Author

awls99 commented Jun 12, 2014

@os97673, there are two tests failing with "process still alive after 35 seconds (ChildProcess::TimeoutError)"
I must have missed something important on the overall way of work, anyway you can try to point me on the right direction to fix this?

@os97673
Copy link
Member

os97673 commented Jun 12, 2014

I'm not sure that your changes may cause such problem most likely this is a known problem with jruby and subprocesses :( But I do not known the easy way to verify this :(
Is the problem reproducible for you locally?

mattwynne added a commit that referenced this pull request Sep 3, 2014
Rescuing argument error on split so cucumber won't stop tests due bad encoding
@mattwynne mattwynne merged commit fffb80f into cucumber:master Sep 3, 2014
@lock
Copy link

lock bot commented Oct 25, 2018

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked as resolved and limited conversation to collaborators Oct 25, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants