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

Exception when map is converted to nil with a block #1243

Closed
HashNotAdam opened this issue Jul 28, 2021 · 2 comments · Fixed by #1257
Closed

Exception when map is converted to nil with a block #1243

HashNotAdam opened this issue Jul 28, 2021 · 2 comments · Fixed by #1257
Assignees
Labels

Comments

@HashNotAdam
Copy link

HashNotAdam commented Jul 28, 2021

Given this code:

def verses(first_verse, last_verse)
    first_verse.downto(last_verse).map { verse(_1) }.join("\n")
end

Mutant makes the following change which causes an exception:

 def verses(first_verse, last_verse)
-  first_verse.downto(last_verse).map {
+  nil {
     verse(_1)
   }.join("\n")
 end

Given this code:

def encode(_options = nil)
  attrs = attributes.deep_transform_keys { _1.camelize(:lower) }
  attrs.public_send("to_#{self.class.format.extension}")
end

Mutant makes the following change which causes an exception:

def encode(_options = nil)
-  attrs = attributes.deep_transform_keys {
+  attrs = nil {
    _1.camelize(:lower)
  }
  attrs.public_send("to_#{self.class.format.extension}")
end
@HashNotAdam
Copy link
Author

Error for first case

Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 75311 exit 1>
Log messages (combined stderr and stdout):
[killfork] /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/loader.rb:39:in `eval': /Users/arice/dev/books/99bottles_ruby_2021/lib/Bottles.rb:11: syntax error, unexpected '{', expecting `end' (SyntaxError)
[killfork]     nil {
[killfork]         ^
[killfork] /Users/arice/dev/books/99bottles_ruby_2021/lib/Bottles.rb:13: syntax error, unexpected '}', expecting `end'
[killfork]     }.join("\\n")
[killfork]     ^
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/loader.rb:39:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/loader.rb:28:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/mutation.rb:67:in `insert'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/env.rb:142:in `block in run_mutation_tests'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:224:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/procto.rb:19:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:102:in `block in start_child'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:101:in `fork'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:101:in `start_child'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:82:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/procto.rb:19:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:242:in `block (2 levels) in call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:46:in `block in with'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:45:in `pipe'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:45:in `with'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:241:in `block in call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:46:in `block in with'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:45:in `pipe'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:45:in `with'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:240:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/env.rb:140:in `run_mutation_tests'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/env.rb:61:in `cover_index'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:122:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:122:in `block in call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:121:in `loop'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:121:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:42:in `block in start'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:31:in `fork'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:31:in `start'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:26:in `block in workers'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:25:in `initialize'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:25:in `new'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:25:in `workers'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:15:in `async'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/runner.rb:20:in `run_mutation_analysis'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/runner.rb:12:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/unparser-0.6.0/lib/unparser/either.rb:115:in `bind'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/cli/command/environment/run.rb:31:in `action'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/cli/command.rb:79:in `execute'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/cli/command.rb:55:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/bin/mutant:47:in `<top (required)>'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/bin/mutant:23:in `load'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/bin/mutant:23:in `<top (required)>'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli/exec.rb:63:in `load'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli/exec.rb:63:in `kernel_load'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli/exec.rb:28:in `run'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli.rb:494:in `exec'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli.rb:30:in `dispatch'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli.rb:24:in `start'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/libexec/bundle:49:in `block in <top (required)>'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/friendly_errors.rb:130:in `with_friendly_errors'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/libexec/bundle:37:in `<top (required)>'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/bin/bundle:23:in `load'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/bin/bundle:23:in `<main>'
Killing the mutation resulted in an integration error.
This is the case when the tests selected for the current mutation
did not produce a test result, but instead an exception was raised.

This may point to the following problems:
* Bug in mutant
* Bug in the ruby interpreter
* Bug in your test suite
* Bug in your test suite under concurrency

The following exception was raised while reading the killfork result:

ArgumentError
marshal data too short
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:134:in load' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:134:in load_result'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:124:in read_child_result' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:84:in call'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/procto.rb:19:in call' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:242:in block (2 levels) in call'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:46:in block in with' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:45:in pipe'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:45:in with' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:241:in block in call'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:46:in block in with' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:45:in pipe'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:45:in with' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:240:in call'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/env.rb:140:in run_mutation_tests' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/env.rb:61:in cover_index'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:122:in call' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:122:in block in call'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:121:in loop' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:121:in call'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:42:in block in start' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:31:in fork'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:31:in start' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:26:in block in workers'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:25:in initialize' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:25:in new'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:25:in workers' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:15:in async'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/runner.rb:20:in run_mutation_analysis' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/runner.rb:12:in call'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/unparser-0.6.0/lib/unparser/either.rb:115:in bind' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/cli/command/environment/run.rb:31:in action'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/cli/command.rb:79:in execute' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/cli/command.rb:55:in call'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/bin/mutant:47:in <top (required)>' /Users/arice/.rbenv/versions/3.0.1/bin/mutant:23:in load'
/Users/arice/.rbenv/versions/3.0.1/bin/mutant:23:in <top (required)>' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli/exec.rb:63:in load'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli/exec.rb:63:in kernel_load' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli/exec.rb:28:in run'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli.rb:494:in exec' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/command.rb:27:in run'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in invoke_command' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor.rb:392:in dispatch'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli.rb:30:in dispatch' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/base.rb:485:in start'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli.rb:24:in start' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/libexec/bundle:49:in block in <top (required)>'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/friendly_errors.rb:130:in with_friendly_errors' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/libexec/bundle:37:in <top (required)>'
/Users/arice/.rbenv/versions/3.0.1/bin/bundle:23:in load' /Users/arice/.rbenv/versions/3.0.1/bin/bundle:23:in

'

@@ -1,6 +1,6 @@
 def verses(first_verse, last_verse)
-  first_verse.downto(last_verse).map {
+  nil {
     verse(_1)
   }.join("\n")
 end

@HashNotAdam
Copy link
Author

Error for second case:

Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 86329 exit 1>
Log messages (combined stderr and stdout):
[killfork] /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/loader.rb:39:in `eval': /Users/arice/dev/open_source/fixably/lib/fixably/application_resource.rb:92: syntax error, unexpected '{', expecting `end' (SyntaxError)
[killfork]       attrs = nil {
[killfork]                   ^
[killfork] /Users/arice/dev/open_source/fixably/lib/fixably/application_resource.rb:94: syntax error, unexpected '}', expecting `end'
[killfork]       }
[killfork]       ^
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/loader.rb:39:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/loader.rb:28:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/mutation.rb:67:in `insert'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/env.rb:142:in `block in run_mutation_tests'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:224:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/procto.rb:19:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:102:in `block in start_child'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:101:in `fork'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:101:in `start_child'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:82:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/procto.rb:19:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:242:in `block (2 levels) in call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:46:in `block in with'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:45:in `pipe'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:45:in `with'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:241:in `block in call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:46:in `block in with'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:45:in `pipe'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:45:in `with'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:240:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/env.rb:140:in `run_mutation_tests'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/env.rb:61:in `cover_index'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:122:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:122:in `block in call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:121:in `loop'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:121:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:42:in `block in start'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:31:in `fork'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:31:in `start'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:26:in `block in workers'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:25:in `initialize'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:25:in `new'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:25:in `workers'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:15:in `async'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/runner.rb:20:in `run_mutation_analysis'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/runner.rb:12:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/unparser-0.6.0/lib/unparser/either.rb:115:in `bind'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/cli/command/environment/run.rb:31:in `action'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/cli/command.rb:79:in `execute'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/cli/command.rb:55:in `call'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/bin/mutant:47:in `<top (required)>'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/bin/mutant:23:in `load'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/bin/mutant:23:in `<top (required)>'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli/exec.rb:63:in `load'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli/exec.rb:63:in `kernel_load'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli/exec.rb:28:in `run'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli.rb:494:in `exec'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli.rb:30:in `dispatch'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli.rb:24:in `start'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/libexec/bundle:49:in `block in <top (required)>'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/friendly_errors.rb:130:in `with_friendly_errors'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/libexec/bundle:37:in `<top (required)>'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/bin/bundle:23:in `load'
[killfork]      from /Users/arice/.rbenv/versions/3.0.1/bin/bundle:23:in `<main>'
Killing the mutation resulted in an integration error.
This is the case when the tests selected for the current mutation
did not produce a test result, but instead an exception was raised.

This may point to the following problems:
* Bug in mutant
* Bug in the ruby interpreter
* Bug in your test suite
* Bug in your test suite under concurrency

The following exception was raised while reading the killfork result:

ArgumentError
marshal data too short
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:134:in load' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:134:in load_result'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:124:in read_child_result' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:84:in call'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/procto.rb:19:in call' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:242:in block (2 levels) in call'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:46:in block in with' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:45:in pipe'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:45:in with' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:241:in block in call'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:46:in block in with' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:45:in pipe'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:45:in with' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/isolation/fork.rb:240:in call'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/env.rb:140:in run_mutation_tests' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/env.rb:61:in cover_index'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:122:in call' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:122:in block in call'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:121:in loop' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:121:in call'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:42:in block in start' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:31:in fork'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel/worker.rb:31:in start' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:26:in block in workers'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:25:in initialize' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:25:in new'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:25:in workers' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/parallel.rb:15:in async'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/runner.rb:20:in run_mutation_analysis' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/runner.rb:12:in call'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/unparser-0.6.0/lib/unparser/either.rb:115:in bind' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/cli/command/environment/run.rb:31:in action'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/cli/command.rb:79:in execute' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/lib/mutant/cli/command.rb:55:in call'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mutant-0.10.32/bin/mutant:47:in <top (required)>' /Users/arice/.rbenv/versions/3.0.1/bin/mutant:23:in load'
/Users/arice/.rbenv/versions/3.0.1/bin/mutant:23:in <top (required)>' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli/exec.rb:63:in load'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli/exec.rb:63:in kernel_load' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli/exec.rb:28:in run'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli.rb:494:in exec' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/command.rb:27:in run'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in invoke_command' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor.rb:392:in dispatch'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli.rb:30:in dispatch' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/base.rb:485:in start'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/cli.rb:24:in start' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/libexec/bundle:49:in block in <top (required)>'
/Users/arice/.rbenv/versions/3.0.1/lib/ruby/3.0.0/bundler/friendly_errors.rb:130:in with_friendly_errors' /Users/arice/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.15/libexec/bundle:37:in <top (required)>'
/Users/arice/.rbenv/versions/3.0.1/bin/bundle:23:in load' /Users/arice/.rbenv/versions/3.0.1/bin/bundle:23:in

'

@@ -1,8 +1,8 @@
 def encode(_options = nil, attrs: nil)
   attrs ||= attributes
-  attrs = attrs.deep_transform_keys {
+  attrs = nil {
     _1.camelize(:lower)
   }
   attrs.public_send("to_#{self.class.format.extension}")
 end

@mbj mbj self-assigned this Aug 29, 2021
@mbj mbj added the bug label Aug 29, 2021
mbj added a commit that referenced this issue Aug 30, 2021
mbj added a commit that referenced this issue Aug 30, 2021
mbj added a commit that referenced this issue Aug 30, 2021
mbj added a commit that referenced this issue Aug 30, 2021
mbj added a commit that referenced this issue Aug 30, 2021
mbj added a commit that referenced this issue Aug 30, 2021
mbj added a commit that referenced this issue Aug 30, 2021
mbj added a commit that referenced this issue Aug 30, 2021
@mbj mbj closed this as completed in #1257 Aug 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants