Skip to content

Instantly share code, notes, and snippets.

@sferik
Created October 24, 2023 02:27
Show Gist options
  • Save sferik/9db0b68c9323384c31dd606c9f34ff49 to your computer and use it in GitHub Desktop.
Save sferik/9db0b68c9323384c31dd606c9f34ff49 to your computer and use it in GitHub Desktop.
Erroring mutant output for x-ruby MediaUploader class
This file has been truncated, but you can view the full file.
warning: parser/current is loading parser/ruby33, which recognizes 3.3.0-dev-compliant syntax, but you are running 3.3.0.
Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
Mutant environment:
Matcher: #<Mutant::Matcher::Config subjects: [X::MediaUploader]>
Integration: minitest
Jobs: 10
Includes: ["lib"]
Requires: ["x", "x/media_uploader"]
Operators: full
MutationTimeout: 10
Subjects: 11
All-Tests: 142
Available-Tests: 142
Selected-Tests: 15
Tests/Subject: 1.36 avg
Mutations: 771
progress: 155/771 alive: 48 runtime: 1.01s killtime: 4.26s mutations/s: 153.45
progress: 159/771 alive: 49 runtime: 2.01s killtime: 4.37s mutations/s: 79.05
progress: 159/771 alive: 49 runtime: 3.01s killtime: 4.37s mutations/s: 52.79
progress: 159/771 alive: 49 runtime: 4.01s killtime: 4.37s mutations/s: 39.63
progress: 159/771 alive: 49 runtime: 5.01s killtime: 4.37s mutations/s: 31.72
progress: 159/771 alive: 49 runtime: 6.01s killtime: 4.37s mutations/s: 26.44
progress: 159/771 alive: 49 runtime: 7.01s killtime: 4.37s mutations/s: 22.67
progress: 159/771 alive: 49 runtime: 8.01s killtime: 4.37s mutations/s: 19.84
progress: 159/771 alive: 49 runtime: 9.01s killtime: 4.37s mutations/s: 17.64
progress: 159/771 alive: 49 runtime: 10.02s killtime: 4.37s mutations/s: 15.88
progress: 170/771 alive: 57 runtime: 11.02s killtime: 4.49s mutations/s: 15.43
progress: 201/771 alive: 67 runtime: 12.02s killtime: 5.26s mutations/s: 16.73
progress: 225/771 alive: 70 runtime: 13.02s killtime: 5.81s mutations/s: 17.28
progress: 225/771 alive: 70 runtime: 14.02s killtime: 5.81s mutations/s: 16.05
progress: 225/771 alive: 70 runtime: 15.02s killtime: 5.81s mutations/s: 14.98
progress: 225/771 alive: 70 runtime: 16.02s killtime: 5.81s mutations/s: 14.04
progress: 225/771 alive: 70 runtime: 17.02s killtime: 5.81s mutations/s: 13.22
progress: 225/771 alive: 70 runtime: 18.02s killtime: 5.81s mutations/s: 12.49
progress: 225/771 alive: 70 runtime: 19.02s killtime: 5.81s mutations/s: 11.83
progress: 225/771 alive: 70 runtime: 20.02s killtime: 5.81s mutations/s: 11.24
progress: 241/771 alive: 80 runtime: 21.02s killtime: 6.02s mutations/s: 11.46
progress: 356/771 alive: 113 runtime: 22.03s killtime: 9.10s mutations/s: 16.16
progress: 471/771 alive: 152 runtime: 23.03s killtime: 12.84s mutations/s: 20.45
progress: 555/771 alive: 178 runtime: 24.03s killtime: 15.41s mutations/s: 23.09
progress: 609/771 alive: 185 runtime: 25.03s killtime: 17.61s mutations/s: 24.33
progress: 658/771 alive: 205 runtime: 26.03s killtime: 19.50s mutations/s: 25.27
progress: 700/771 alive: 221 runtime: 27.04s killtime: 21.54s mutations/s: 25.89
progress: 762/771 alive: 238 runtime: 28.04s killtime: 23.72s mutations/s: 27.18
progress: 764/771 alive: 239 runtime: 29.04s killtime: 23.80s mutations/s: 26.31
progress: 764/771 alive: 239 runtime: 30.04s killtime: 23.80s mutations/s: 25.43
progress: 764/771 alive: 239 runtime: 31.04s killtime: 23.80s mutations/s: 24.61
progress: 767/771 alive: 242 runtime: 32.04s killtime: 23.80s mutations/s: 23.94
progress: 767/771 alive: 242 runtime: 33.04s killtime: 23.80s mutations/s: 23.21
X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87
- minitest:X::MediaUploaderTest#test_chunked_upload
- minitest:X::MediaUploaderTest#test_infer_media_type_for_webp
- minitest:X::MediaUploaderTest#test_infer_media_type_for_gif
- minitest:X::MediaUploaderTest#test_infer_media_type_for_png
- minitest:X::MediaUploaderTest#test_validate_with_invalid_file_path
- minitest:X::MediaUploaderTest#test_upload
- minitest:X::MediaUploaderTest#test_append_method
- minitest:X::MediaUploaderTest#test_validate_with_invalid_media_category
- minitest:X::MediaUploaderTest#test_infer_media_type_with_default
- minitest:X::MediaUploaderTest#test_await_processing
- minitest:X::MediaUploaderTest#test_retry
- minitest:X::MediaUploaderTest#test_infer_media_type_for_mp4
- minitest:X::MediaUploaderTest#test_infer_media_type_for_jpg
- minitest:X::MediaUploaderTest#test_validate_with_valid_params
- minitest:X::MediaUploaderTest#test_infer_media_type_for_srt
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:9047c
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81855 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork] #<Thread:0x000000010a5fe938 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:94:in `block (2 levels) in append': undefined local variable or method `media' for module X::MediaUploader (NameError)
[killfork] Did you mean? _media
[killfork] #<Thread:0x000000010a5fea50 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:94:in `block (2 levels) in append': undefined local variable or method `media' for module X::MediaUploader (NameError)
[killfork] Did you mean? _media
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:94:in `block (2 levels) in append': undefined local variable or method `media' for module X::MediaUploader (NameError)
[killfork] Did you mean? _media
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
<internal:marshal>:34:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:134:in `load_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:124:in `read_child_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:84:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/procto.rb:19:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:238:in `block (2 levels) in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:237:in `block in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:236:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:163:in `run_mutation_tests'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:63:in `cover_index'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `block in run_child'
<internal:kernel>:187:in `loop'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:60:in `run_child'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:37:in `block in start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `fork'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:24:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:25:in `block in workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `initialize'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `new'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:14:in `async'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:25:in `async_driver'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `block in run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:157:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:12:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:115:in `bind'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command/environment/run.rb:40:in `action'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:81:in `execute'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:59:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block (2 levels) in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:149:in `either'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:20:in `<module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:4:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:23:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:492:in `exec'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:34:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:28:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:37:in `block in <top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:29:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `<main>'
```
@@ -1 +1 @@
-def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
+def append(upload_client, chunk_paths, _media, media_type, boundary = SecureRandom.hex)
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:93a0d
-----------------------
Killfork: #<Process::Status: pid 81861 exit 0>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork]
[killfork]
[killfork] Finished in 0.036201s, 414.3532 runs/s, 441.9767 assertions/s.
[killfork]
[killfork] 15 runs, 16 assertions, 0 failures, 0 errors, 0 skips
@@ -1 +1 @@
-def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
+def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom)
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:3debd
-----------------------
Killfork: #<Process::Status: pid 81862 exit 0>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork]
[killfork]
[killfork] Finished in 0.036525s, 410.6776 runs/s, 438.0561 assertions/s.
[killfork]
[killfork] 15 runs, 16 assertions, 0 failures, 0 errors, 0 skips
@@ -1 +1 @@
-def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
+def append(upload_client, chunk_paths, media, media_type, boundary = self.hex)
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:716c6
-----------------------
Killfork: #<Process::Status: pid 81860 exit 0>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork]
[killfork]
[killfork] Finished in 0.038286s, 391.7881 runs/s, 417.9073 assertions/s.
[killfork]
[killfork] 15 runs, 16 assertions, 0 failures, 0 errors, 0 skips
@@ -1 +1 @@
-def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
+def append(upload_client, chunk_paths, media, media_type, boundary = nil)
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:06f8a
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81863 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork] #<Thread:0x00000001095fa168 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:93 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http.rb:106:in `request': Real HTTP connections are disabled. Unregistered request: POST https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=1234567890&segment_index=0 with body '--b06a16c1fb4a2829075315e3265ff80c
(WebMock::NetConnectNotAllowedError)
[killfork] Content-Disposition: form-data; name="media"; filename="x000"
[killfork] Content-Type: video/mp4
[killfork]
[killfork] ftypmp42isommp42^moovlmvhdË’@¬trak\tkhdÌ@< ^mdia mdhd0–UƒGhdlrvideISO Media file produced by Google Inc.Ôminf$dinfdref url Østblóstsdáavc1< HHˇˇ1avcCB¿
[killfork] ˇ·gB¿
[killfork] ⁄{† (`xë5hŒ<Ästts4stsc4stco ~3‡a˛êæ:ÏXvHär®|stszN
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork] stssvmhd(trak\tkhd’@ƒmdia mdhdªÄ∏UƒGhdlrsounISO Media file produced by Google Inc.Uminf$dinfdref url stblistsdYmp4aªÄ5esds'@êsttsÓ@stsc
[killfork] 
<stco ‡3˛bê:æXÏväH®r∆ú∆»∆stszÓsmhd›Pmdat2.‹EÈΩÊŸH∑ñ,ÿ Ÿ#ÓÔx264 - core 155 r2901 7d0ff22ÄeàÑ ˇˇ¸=)nÚrru◊]xAö 'ƒ¿Aö@'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄr!†ˇ¿7ÌÄs!†ˇ¿7ÌÄu!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄx!†ˇ¿7ÌÄv!†ˇ¿7ÌÄuAö`'ƒ¿AöÄ'ƒ¿Aö†'ƒ¿!†ˇ¿7ÌÄu!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄu!†ˇ¿7ÌÄq!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄx!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄy!†ˇ¿7ÌÄz!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄqAö¿'ƒ¿Aö‡'ƒ¿Aõ'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄt!†ˇ¿7ÌÄr!†ˇ¿7ÌÄw!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ!†ˇ¿7ÌÄr!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄy!†ˇ¿7ÌÄv!†ˇ¿7ÌÄp!†ˇ¿7ÌÄr!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ|Aõ 'ƒ¿Aõ@'ƒ¿Aõ`'ƒ¿!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄp!†ˇ¿7ÌÄr!†ˇ¿7ÌÄy!†ˇ¿7ÌÄq!†ˇ¿7ÌÄw!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄw!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄrAõÄ'ƒ¿Aõ†'ƒ¿Aõ¿'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄu!†ˇ¿7ÌÄx!†ˇ¿7ÌÄt!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄt!†ˇ¿7ÌÄp!†ˇ¿7ÌÄt!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ~Aõ‡'ƒ¿Aö'ƒ¿Aö 'ƒ¿!†ˇ¿7ÌÄz!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄt!†ˇ¿7Ì/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http.rb:106:in `request': Real HTTP connections are disabled. Unregistered request: POST https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=1234567890&segment_index=1 with body '--b06a16c1fb4a2829075315e3265ff80c
(WebMock::NetConnectNotAllowedError)
[killfork] Content-Disposition: form-data; name="media"; filename="x001"
[killfork] Content-Type: video/mp4
[killfork]
[killfork] y
[killfork] --b06a16c1fb4a2829075315e3265ff80c--
[killfork] ' with headers {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization'=>'OAuth oauth_consumer_key="TEST_API_KEY", oauth_nonce="bd0e027fe2f3e45e4fe9398a60a1dd3b", oauth_signature="o%2FoSl%2BR%2BwFVGDU5FlQnyYjJNXuo%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1698114359", oauth_token="TEST_ACCESS_TOKEN", oauth_version="1.0"', 'Content-Type'=>'multipart/form-data, boundary=b06a16c1fb4a2829075315e3265ff80c', 'Host'=>'upload.twitter.com', 'User-Agent'=>'X-Client/0.10.0 ruby/3.3.0 (arm64-darwin22)'}
[killfork]
[killfork] You can stub this request with the following snippet:
[killfork]
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=1234567890&segment_index=1").
[killfork] with(
[killfork] body: "--b06a16c1fb4a2829075315e3265ff80c\r\nContent-Disposition: form-data; name=\"media\"; filename=\"x001\"\r\nContent-Type: video/mp4\r\n\r\ny\r\n--b06a16c1fb4a2829075315e3265ff80c--\r\n",
[killfork] headers: {
[killfork] 'Accept'=>'*/*',
[killfork] 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
[killfork] 'Authorization'=>'OAuth oauth_consumer_key="TEST_API_KEY", oauth_nonce="bd0e027fe2f3e45e4fe9398a60a1dd3b", oauth_signature="o%2FoSl%2BR%2BwFVGDU5FlQnyYjJNXuo%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1698114359", oauth_token="TEST_ACCESS_TOKEN", oauth_version="1.0"',
[killfork] 'Content-Type'=>'multipart/form-data, boundary=b06a16c1fb4a2829075315e3265ff80c',
[killfork] 'Host'=>'upload.twitter.com',
[killfork] 'User-Agent'=>'X-Client/0.10.0 ruby/3.3.0 (arm64-darwin22)'
[killfork] }).
[killfork] to_return(status: 200, body: "", headers: {})
[killfork]
[killfork] registered request stubs:
[killfork]
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=1234567890&segment_index=1").
[killfork] with(
[killfork] headers: {
[killfork] 'Content-Type'=>'multipart/form-data, boundary=AaB03x'
[killfork] })
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=1234567890&segment_index=0").
[killfork] with(
[killfork] headers: {
[killfork] 'Content-Type'=>'multipart/form-data, boundary=AaB03x'
[killfork] })
[killfork]
[killfork] ============================================================
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/connection.rb:48:in `perform'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/client.rb:82:in `execute_request'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/client.rb:54:in `post'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:100:in `upload_chunk'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:97:in `block (2 levels) in append'
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
<internal:marshal>:34:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:134:in `load_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:124:in `read_child_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:84:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/procto.rb:19:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:238:in `block (2 levels) in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:237:in `block in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:236:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:163:in `run_mutation_tests'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:63:in `cover_index'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `block in run_child'
<internal:kernel>:187:in `loop'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:60:in `run_child'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:37:in `block in start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `fork'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:24:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:25:in `block in workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `initialize'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `new'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:14:in `async'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:25:in `async_driver'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `block in run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:157:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:12:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:115:in `bind'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command/environment/run.rb:40:in `action'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:81:in `execute'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:59:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block (2 levels) in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:149:in `either'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:20:in `<module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:4:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:23:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:492:in `exec'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:34:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:28:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:37:in `block in <top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:29:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `<main>'
```
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
- threads = chunk_paths.map.with_index { |chunk_path, index|
+ boundary = SecureRandom.hex
+ (threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
upload_body = construct_upload_body(chunk_path, media_type, boundary)
query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
- }
- threads.each(&:join)
+ }; threads.each(&:join))
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:d185c
-----------------------
Killfork: #<Process::Status: pid 81859 exit 0>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork]
[killfork]
[killfork] Finished in 0.043405s, 345.5823 runs/s, 368.6211 assertions/s.
[killfork]
[killfork] 15 runs, 16 assertions, 0 failures, 0 errors, 0 skips
@@ -1 +1 @@
-def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
+def append(upload_client, chunk_paths, media, media_type, boundary)
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:e28fe
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81867 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork]
[killfork]
[killfork] #<Thread:0x000000010a5f98c0 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http.rb:106:in `request': Real HTTP connections are disabled. Unregistered request: POST https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=1234567890&segment_index=0 with body '--8e8c9f7e5b411bb14154caac6e6364c5
(WebMock::NetConnectNotAllowedError)
[killfork] Content-Disposition: form-data; name="media"; filename="x000"
[killfork] Content-Type: video/mp4
[killfork]
[killfork] ftypmp42isommp42^moovlmvhdË’@¬trak\tkhdÌ@< ^mdia mdhd0–UƒGhdlrvideISO Media file produced by Google Inc.Ôminf$dinfdref url Østblóstsdáavc1< HHˇˇ1avcCB¿
[killfork] ˇ·gB¿
[killfork] ⁄{† (`xë5hŒ<Ästts4stsc4stco ~3‡a˛êæ:ÏXvHär®|stszN
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork] stssvmhd(trak\tkhd’@ƒmdia mdhdªÄ∏UƒGhdlrsounISO Media file produced by Google Inc.Uminf$dinfdref url stblistsdYmp4aªÄ5esds'@êsttsÓ@stsc
[killfork] 
<stco ‡3˛bê:æXÏväH®r∆ú∆»∆stszÓsmhd›Pmdat2.‹EÈΩÊŸH∑ñ,ÿ Ÿ#ÓÔx264 - core 155 r2901 7d0ff22ÄeàÑ ˇˇ¸=)nÚrru◊]xAö 'ƒ¿Aö@'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄr!†ˇ¿7ÌÄs!†ˇ¿7ÌÄu!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄx!†ˇ¿7ÌÄv!†ˇ¿7ÌÄuAö`'ƒ¿AöÄ'ƒ¿Aö†'ƒ¿!†ˇ¿7ÌÄu!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄu!†ˇ¿7ÌÄq!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄx!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄy!†ˇ¿7ÌÄz!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄqAö¿'ƒ¿Aö‡'ƒ¿Aõ'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄt!†ˇ¿7ÌÄr!†ˇ¿7ÌÄw!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ!†ˇ¿7ÌÄr!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄy!†ˇ¿7ÌÄv!†ˇ¿7ÌÄp!†ˇ¿7ÌÄr!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ|Aõ 'ƒ¿Aõ@'ƒ¿Aõ`'ƒ¿!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄp!†ˇ¿7ÌÄr!†ˇ¿7ÌÄy!†ˇ¿7ÌÄq!†ˇ¿7ÌÄw!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄw!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄrAõÄ'ƒ¿Aõ†'ƒ¿Aõ¿'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄu!†ˇ¿7ÌÄx!†ˇ¿7ÌÄt!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄt!†ˇ¿7ÌÄp!†ˇ¿7ÌÄt!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ~Aõ‡'ƒ¿Aö'ƒ¿Aö 'ƒ¿!†ˇ¿7ÌÄz!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄt!†ˇ¿7Ì/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http.rb:106:in `request': Real HTTP connections are disabled. Unregistered request: POST https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=1234567890&segment_index=0 with body '--8e8c9f7e5b411bb14154caac6e6364c5
(WebMock::NetConnectNotAllowedError)
[killfork] Content-Disposition: form-data; name="media"; filename="x000"
[killfork] Content-Type: video/mp4
[killfork]
[killfork] ftypmp42isommp42^moovlmvhdË’@¬trak\tkhdÌ@< ^mdia mdhd0–UƒGhdlrvideISO Media file produced by Google Inc.Ôminf$dinfdref url Østblóstsdáavc1< HHˇˇ1avcCB¿
[killfork] ˇ·gB¿
[killfork] ⁄{† (`xë5hŒ<Ästts4stsc4stco ~3‡a˛êæ:ÏXvHär®|stszN
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork] stssvmhd(trak\tkhd’@ƒmdia mdhdªÄ∏UƒGhdlrsounISO Media file produced by Google Inc.Uminf$dinfdref url stblistsdYmp4aªÄ5esds'@êsttsÓ@stsc
[killfork] 
<stco ‡3˛bê:æXÏväH®r∆ú∆»∆stszÓsmhd›Pmdat2.‹EÈΩÊŸH∑ñ,ÿ Ÿ#ÓÔx264 - core 155 r2901 7d0ff22ÄeàÑ ˇˇ¸=)nÚrru◊]xAö 'ƒ¿Aö@'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄr!†ˇ¿7ÌÄs!†ˇ¿7ÌÄu!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄx!†ˇ¿7ÌÄv!†ˇ¿7ÌÄuAö`'ƒ¿AöÄ'ƒ¿Aö†'ƒ¿!†ˇ¿7ÌÄu!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄu!†ˇ¿7ÌÄq!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄx!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄy!†ˇ¿7ÌÄz!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄqAö¿'ƒ¿Aö‡'ƒ¿Aõ'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄt!†ˇ¿7ÌÄr!†ˇ¿7ÌÄw!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ!†ˇ¿7ÌÄr!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄy!†ˇ¿7ÌÄv!†ˇ¿7ÌÄp!†ˇ¿7ÌÄr!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ|Aõ 'ƒ¿Aõ@'ƒ¿Aõ`'ƒ¿!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄp!†ˇ¿7ÌÄr!†ˇ¿7ÌÄy!†ˇ¿7ÌÄq!†ˇ¿7ÌÄw!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄw!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄrAõÄ'ƒ¿Aõ†'ƒ¿Aõ¿'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄu!†ˇ¿7ÌÄx!†ˇ¿7ÌÄt!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄt!†ˇ¿7ÌÄp!†ˇ¿7ÌÄt!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ~Aõ‡'ƒ¿Aö'ƒ¿Aö 'ƒ¿!†ˇ¿7ÌÄz!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄt!†ˇ¿7ÌÄ
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
<internal:marshal>:34:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:134:in `load_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:124:in `read_child_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:84:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/procto.rb:19:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:238:in `block (2 levels) in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:237:in `block in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:236:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:163:in `run_mutation_tests'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:63:in `cover_index'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `block in run_child'
<internal:kernel>:187:in `loop'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:60:in `run_child'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:37:in `block in start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `fork'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:24:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:25:in `block in workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `initialize'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `new'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:14:in `async'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:25:in `async_driver'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `block in run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:157:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:12:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:115:in `bind'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command/environment/run.rb:40:in `action'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:81:in `execute'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:59:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block (2 levels) in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:149:in `either'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:20:in `<module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:4:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:23:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:492:in `exec'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:34:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:28:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:37:in `block in <top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:29:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `<main>'
```
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
- threads = chunk_paths.map.with_index { |chunk_path, index|
+ threads__mutant__ = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
upload_body = construct_upload_body(chunk_path, media_type, boundary)
query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:e609c
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81878 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork] #<Thread:0x000000010a5fe398 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:93:in `block (2 levels) in append': undefined local variable or method `chunk_path' for module X::MediaUploader (NameError)
[killfork] Did you mean? chunk_paths
[killfork] _chunk_path
[killfork]
[killfork]
[killfork] #<Thread:0x000000010a5fe280 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:93:in `block (2 levels) in append': undefined local variable or method `chunk_path' for module X::MediaUploader (NameError)
[killfork] Did you mean? chunk_paths
[killfork] _chunk_path
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:93:in `block (2 levels) in append': undefined local variable or method `chunk_path' for module X::MediaUploader (NameError)
[killfork] Did you mean? chunk_paths
[killfork] _chunk_path
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
<internal:marshal>:34:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:134:in `load_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:124:in `read_child_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:84:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/procto.rb:19:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:238:in `block (2 levels) in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:237:in `block in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:236:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:163:in `run_mutation_tests'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:63:in `cover_index'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `block in run_child'
<internal:kernel>:187:in `loop'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:60:in `run_child'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:37:in `block in start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `fork'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:24:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:25:in `block in workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `initialize'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `new'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:14:in `async'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:25:in `async_driver'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `block in run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:157:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:12:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:115:in `bind'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command/environment/run.rb:40:in `action'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:81:in `execute'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:59:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block (2 levels) in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:149:in `either'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:20:in `<module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:4:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:23:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:492:in `exec'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:34:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:28:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:37:in `block in <top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:29:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `<main>'
```
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
- threads = chunk_paths.map.with_index { |chunk_path, index|
+ threads = chunk_paths.map.with_index { |_chunk_path, index|
Thread.new {
upload_body = construct_upload_body(chunk_path, media_type, boundary)
query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:6e78f
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81883 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork]
[killfork]
[killfork] Finished in 0.021824s, 45.8211 runs/s, 0.0000 assertions/s.
[killfork]
[killfork] 1) Error:
[killfork] X::MediaUploaderTest#test_chunked_upload:
[killfork] NoMethodError: undefined method `each' for an instance of Thread
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:97:in `append'
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:34:in `chunked_upload'
[killfork] /Users/erik/Code/Ruby/x-ruby/test/x/media_uploader_test.rb:34:in `test_chunked_upload'
[killfork]
[killfork] 1 runs, 0 assertions, 0 failures, 1 errors, 0 skips
[killfork] #<Thread:0x000000010a5d8198 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:91 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92:in `block in append': undefined local variable or method `chunk_path' for module X::MediaUploader (NameError)
[killfork] Did you mean? chunk_paths
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92:in `block in append': undefined local variable or method `chunk_path' for module X::MediaUploader (NameError)
[killfork] Did you mean? chunk_paths
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
<internal:marshal>:34:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:134:in `load_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:124:in `read_child_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:84:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/procto.rb:19:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:238:in `block (2 levels) in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:237:in `block in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:236:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:163:in `run_mutation_tests'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:63:in `cover_index'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `block in run_child'
<internal:kernel>:187:in `loop'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:60:in `run_child'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:37:in `block in start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `fork'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:24:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:25:in `block in workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `initialize'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `new'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:14:in `async'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:25:in `async_driver'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `block in run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:157:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:12:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:115:in `bind'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command/environment/run.rb:40:in `action'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:81:in `execute'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:59:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block (2 levels) in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:149:in `either'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:20:in `<module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:4:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:23:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:492:in `exec'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:34:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:28:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:37:in `block in <top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:29:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `<main>'
```
@@ -1,12 +1,10 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
- threads = chunk_paths.map.with_index { |chunk_path, index|
- Thread.new {
- upload_body = construct_upload_body(chunk_path, media_type, boundary)
- query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
- headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
- upload_chunk(upload_client, query, upload_body, chunk_path, headers)
- }
+ threads = Thread.new {
+ upload_body = construct_upload_body(chunk_path, media_type, boundary)
+ query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
+ headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
+ upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:c960d
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81888 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork] #<Thread:0x0000000108d79f48 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:93:in `block (2 levels) in append': unhandled exception
[killfork] #<Thread:0x0000000108d7cc98 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:93:in `block (2 levels) in append': unhandled exception
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:93:in `block (2 levels) in append': unhandled exception
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
<internal:marshal>:34:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:134:in `load_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:124:in `read_child_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:84:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/procto.rb:19:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:238:in `block (2 levels) in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:237:in `block in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:236:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:163:in `run_mutation_tests'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:63:in `cover_index'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `block in run_child'
<internal:kernel>:187:in `loop'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:60:in `run_child'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:37:in `block in start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `fork'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:24:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:25:in `block in workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `initialize'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `new'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:14:in `async'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:25:in `async_driver'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `block in run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:157:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:12:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:115:in `bind'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command/environment/run.rb:40:in `action'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:81:in `execute'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:59:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block (2 levels) in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:149:in `either'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:20:in `<module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:4:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:23:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:492:in `exec'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:34:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:28:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:37:in `block in <top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:29:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `<main>'
```
@@ -1,12 +1,9 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
- upload_body = construct_upload_body(chunk_path, media_type, boundary)
- query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
- headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
- upload_chunk(upload_client, query, upload_body, chunk_path, headers)
+ raise
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:77a38
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81889 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork] #<Thread:0x000000010a5f9500 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:96:in `block (2 levels) in append': undefined local variable or method `upload_body' for module X::MediaUploader (NameError)
[killfork] Did you mean? upload
[killfork]
[killfork]
[killfork] Finished in 0.020961s, 47.7076 runs/s, 0.0000 assertions/s.
[killfork]
[killfork] 1) Error:
[killfork] X::MediaUploaderTest#test_chunked_upload:
[killfork] NameError: undefined local variable or method `upload_body' for module X::MediaUploader
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:96:in `block (2 levels) in append'
[killfork]
[killfork] #<Thread:0x000000010a5f93e8 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:96:in `block (2 levels) in append': undefined local variable or method `upload_body' for module X::MediaUploader (NameError)
[killfork] Did you mean? upload
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:96:in `block (2 levels) in append': undefined local variable or method `upload_body' for module X::MediaUploader (NameError)
[killfork] Did you mean? upload
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
<internal:marshal>:34:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:134:in `load_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:124:in `read_child_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:84:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/procto.rb:19:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:238:in `block (2 levels) in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:237:in `block in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:236:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:163:in `run_mutation_tests'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:63:in `cover_index'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `block in run_child'
<internal:kernel>:187:in `loop'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:60:in `run_child'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:37:in `block in start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `fork'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:24:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:25:in `block in workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `initialize'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `new'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:14:in `async'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:25:in `async_driver'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `block in run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:157:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:12:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:115:in `bind'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command/environment/run.rb:40:in `action'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:81:in `execute'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:59:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block (2 levels) in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:149:in `either'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:20:in `<module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:4:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:23:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:492:in `exec'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:34:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:28:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:37:in `block in <top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:29:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `<main>'
```
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
- upload_body = construct_upload_body(chunk_path, media_type, boundary)
+ nil
query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:a4758
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81893 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork] #<Thread:0x000000010a5d40c0 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:114:in `construct_upload_body': wrong number of arguments (given 0, expected 2..3) (ArgumentError)
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:93:in `block (2 levels) in append'
[killfork] #<Thread:0x000000010a5d3fa8 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:114:in `construct_upload_body': wrong number of arguments (given 0, expected 2..3) (ArgumentError)
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:93:in `block (2 levels) in append'
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:114:in `construct_upload_body': wrong number of arguments (given 0, expected 2..3) (ArgumentError)
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:93:in `block (2 levels) in append'
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
<internal:marshal>:34:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:134:in `load_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:124:in `read_child_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:84:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/procto.rb:19:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:238:in `block (2 levels) in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:237:in `block in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:236:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:163:in `run_mutation_tests'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:63:in `cover_index'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `block in run_child'
<internal:kernel>:187:in `loop'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:60:in `run_child'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:37:in `block in start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `fork'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:24:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:25:in `block in workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `initialize'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `new'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:14:in `async'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:25:in `async_driver'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `block in run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:157:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:12:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:115:in `bind'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command/environment/run.rb:40:in `action'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:81:in `execute'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:59:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block (2 levels) in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:149:in `either'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:20:in `<module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:4:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:23:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:492:in `exec'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:34:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:28:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:37:in `block in <top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:29:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `<main>'
```
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
- upload_body = construct_upload_body(chunk_path, media_type, boundary)
+ upload_body = construct_upload_body
query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:ccae4
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81891 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork] #<Thread:0x000000010a5fa180 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:96:in `block (2 levels) in append': undefined local variable or method `upload_body' for module X::MediaUploader (NameError)
[killfork] Did you mean? upload
[killfork] #<Thread:0x000000010a5fa068 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork]
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:96:in `block (2 levels) in append': undefined local variable or method `upload_body' for module X::MediaUploader (NameError)
[killfork] Did you mean? upload
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:96:in `block (2 levels) in append': undefined local variable or method `upload_body' for module X::MediaUploader (NameError)
[killfork] Did you mean? upload
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
<internal:marshal>:34:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:134:in `load_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:124:in `read_child_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:84:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/procto.rb:19:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:238:in `block (2 levels) in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:237:in `block in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:236:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:163:in `run_mutation_tests'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:63:in `cover_index'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `block in run_child'
<internal:kernel>:187:in `loop'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:60:in `run_child'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:37:in `block in start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `fork'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:24:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:25:in `block in workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `initialize'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `new'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:14:in `async'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:25:in `async_driver'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `block in run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:157:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:12:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:115:in `bind'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command/environment/run.rb:40:in `action'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:81:in `execute'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:59:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block (2 levels) in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:149:in `either'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:20:in `<module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:4:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:23:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:492:in `exec'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:34:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:28:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:37:in `block in <top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:29:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `<main>'
```
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
- upload_body = construct_upload_body(chunk_path, media_type, boundary)
+ upload_body__mutant__ = construct_upload_body(chunk_path, media_type, boundary)
query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:07459
-----------------------
Killfork: #<Process::Status: pid 81892 exit 0>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork]
[killfork]
[killfork] Finished in 0.035237s, 425.6889 runs/s, 454.0682 assertions/s.
[killfork]
[killfork] 15 runs, 16 assertions, 0 failures, 0 errors, 0 skips
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
- upload_body = construct_upload_body(chunk_path, media_type, boundary)
+ upload_body = nil
query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:538fe
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81895 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork] #<Thread:0x000000010a5ff6d0 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:118:in `read': No such file or directory @ rb_sysopen - video/mp4 (Errno::ENOENT)
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:118:in `construct_upload_body'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:93:in `block (2 levels) in append'
[killfork] #<Thread:0x000000010a5ff5b8 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:118:in `read': No such file or directory @ rb_sysopen - video/mp4 (Errno::ENOENT)
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:118:in `construct_upload_body'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:93:in `block (2 levels) in append'
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:118:in `read': No such file or directory @ rb_sysopen - video/mp4 (Errno::ENOENT)
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:118:in `construct_upload_body'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:93:in `block (2 levels) in append'
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
<internal:marshal>:34:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:134:in `load_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:124:in `read_child_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:84:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/procto.rb:19:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:238:in `block (2 levels) in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:237:in `block in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:236:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:163:in `run_mutation_tests'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:63:in `cover_index'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `block in run_child'
<internal:kernel>:187:in `loop'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:60:in `run_child'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:37:in `block in start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `fork'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:24:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:25:in `block in workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `initialize'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `new'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:14:in `async'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:25:in `async_driver'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `block in run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:157:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:12:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:115:in `bind'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command/environment/run.rb:40:in `action'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:81:in `execute'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:59:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block (2 levels) in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:149:in `either'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:20:in `<module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:4:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:23:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:492:in `exec'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:34:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:28:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:37:in `block in <top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:29:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `<main>'
```
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
- upload_body = construct_upload_body(chunk_path, media_type, boundary)
+ upload_body = construct_upload_body(media_type, boundary)
query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:773e7
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81894 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork] #<Thread:0x000000010a5d00b0 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] #<Thread:0x000000010a5fff68 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:116:in `basename': no implicit conversion of nil into String (TypeError)
[killfork]
[killfork] "Content-Disposition: form-data; name=\"media\"; filename=\"#{File.basename(file_path)}\"\r\n" \
[killfork] ^^^^^^^^^
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:116:in `construct_upload_body'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:93:in `block (2 levels) in append'
[killfork]
[killfork]
[killfork] Finished in 0.023758s, 42.0911 runs/s, 0.0000 assertions/s.
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:116:in `basename': no implicit conversion of nil into String (TypeError)
[killfork]
[killfork] "Content-Disposition: form-data; name=\"media\"; filename=\"#{File.basename(file_path)}\"\r\n" \
[killfork] ^^^^^^^^^
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:116:in `construct_upload_body'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:93:in `block (2 levels) in append'
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:116:in `basename': no implicit conversion of nil into String (TypeError)
[killfork]
[killfork] "Content-Disposition: form-data; name=\"media\"; filename=\"#{File.basename(file_path)}\"\r\n" \
[killfork] ^^^^^^^^^
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:116:in `construct_upload_body'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:93:in `block (2 levels) in append'
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
<internal:marshal>:34:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:134:in `load_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:124:in `read_child_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:84:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/procto.rb:19:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:238:in `block (2 levels) in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:237:in `block in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:236:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:163:in `run_mutation_tests'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:63:in `cover_index'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `block in run_child'
<internal:kernel>:187:in `loop'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:60:in `run_child'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:37:in `block in start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `fork'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:24:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:25:in `block in workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `initialize'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `new'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:14:in `async'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:25:in `async_driver'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `block in run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:157:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:12:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:115:in `bind'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command/environment/run.rb:40:in `action'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:81:in `execute'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:59:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block (2 levels) in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:149:in `either'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:20:in `<module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:4:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:23:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:492:in `exec'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:34:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:28:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:37:in `block in <top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:29:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `<main>'
```
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
- upload_body = construct_upload_body(chunk_path, media_type, boundary)
+ upload_body = construct_upload_body(nil, media_type, boundary)
query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:82377
-----------------------
Killfork: #<Process::Status: pid 81896 exit 0>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork]
[killfork]
[killfork] Finished in 0.035462s, 422.9880 runs/s, 451.1872 assertions/s.
[killfork]
[killfork] 15 runs, 16 assertions, 0 failures, 0 errors, 0 skips
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
- upload_body = construct_upload_body(chunk_path, media_type, boundary)
+ upload_body = construct_upload_body(chunk_path, nil, boundary)
query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:f5b33
-----------------------
Killfork: #<Process::Status: pid 81897 exit 0>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork]
[killfork]
[killfork] Finished in 0.034299s, 437.3305 runs/s, 466.4859 assertions/s.
[killfork]
[killfork] 15 runs, 16 assertions, 0 failures, 0 errors, 0 skips
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
- upload_body = construct_upload_body(chunk_path, media_type, boundary)
+ upload_body = construct_upload_body(chunk_path, boundary)
query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:27e1c
-----------------------
Killfork: #<Process::Status: pid 81898 exit 0>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork]
[killfork]
[killfork] Finished in 0.038515s, 389.4587 runs/s, 415.4226 assertions/s.
[killfork]
[killfork] 15 runs, 16 assertions, 0 failures, 0 errors, 0 skips
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
- upload_body = construct_upload_body(chunk_path, media_type, boundary)
+ upload_body = construct_upload_body(chunk_path, media_type, nil)
query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:3b622
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81901 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork] #<Thread:0x000000010a5d4160 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:96:in `block (2 levels) in append': undefined local variable or method `query' for module X::MediaUploader (NameError)
[killfork] #<Thread:0x000000010a5d4048 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:96:in `block (2 levels) in append': undefined local variable or method `query' for module X::MediaUploader (NameError)
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:96:in `block (2 levels) in append': undefined local variable or method `query' for module X::MediaUploader (NameError)
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
<internal:marshal>:34:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:134:in `load_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:124:in `read_child_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:84:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/procto.rb:19:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:238:in `block (2 levels) in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:237:in `block in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:236:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:163:in `run_mutation_tests'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:63:in `cover_index'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `block in run_child'
<internal:kernel>:187:in `loop'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:60:in `run_child'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:37:in `block in start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `fork'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:24:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:25:in `block in workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `initialize'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `new'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:14:in `async'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:25:in `async_driver'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `block in run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:157:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:12:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:115:in `bind'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command/environment/run.rb:40:in `action'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:81:in `execute'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:59:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block (2 levels) in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:149:in `either'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:20:in `<module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:4:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:23:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:492:in `exec'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:34:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:28:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:37:in `block in <top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:29:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `<main>'
```
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
upload_body = construct_upload_body(chunk_path, media_type, boundary)
- query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
+ nil
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:ab6f7
-----------------------
Killfork: #<Process::Status: pid 81899 exit 0>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork]
[killfork]
[killfork] Finished in 0.038253s, 392.1261 runs/s, 418.2678 assertions/s.
[killfork]
[killfork] 15 runs, 16 assertions, 0 failures, 0 errors, 0 skips
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
- upload_body = construct_upload_body(chunk_path, media_type, boundary)
+ upload_body = construct_upload_body(chunk_path, media_type)
query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:3d1f7
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81903 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork] #<Thread:0x000000010a5d0e20 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http.rb:106:in `request': Real HTTP connections are disabled. Unregistered request: POST https://upload.twitter.com/1.1/media/upload.json with body '--e962a3dfa4ed39f44267649ea718c9d5
(WebMock::NetConnectNotAllowedError)
[killfork] Content-Disposition: form-data; name="media"; filename="x001"
[killfork] Content-Type: video/mp4
[killfork]
[killfork] y
[killfork] --e962a3dfa4ed39f44267649ea718c9d5--
[killfork] ' with headers {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization'=>'OAuth oauth_consumer_key="TEST_API_KEY", oauth_nonce="515b5f4c0394b09935c13b515c6460e1", oauth_signature="sfOHvrlTkp6Q3zAbQj1kmvkv0k4%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1698114359", oauth_token="TEST_ACCESS_TOKEN", oauth_version="1.0"', 'Content-Type'=>'multipart/form-data, boundary=e962a3dfa4ed39f44267649ea718c9d5', 'Host'=>'upload.twitter.com', 'User-Agent'=>'X-Client/0.10.0 ruby/3.3.0 (arm64-darwin22)'}
[killfork]
[killfork] You can stub this request with the following snippet:
[killfork]
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json").
[killfork] with(
[killfork] body: "--e962a3dfa4ed39f44267649ea718c9d5\r\nContent-Disposition: form-data; name=\"media\"; filename=\"x001\"\r\nContent-Type: video/mp4\r\n\r\ny\r\n--e962a3dfa4ed39f44267649ea718c9d5--\r\n",
[killfork] headers: {
[killfork] 'Accept'=>'*/*',
[killfork] 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
[killfork] 'Authorization'=>'OAuth oauth_consumer_key="TEST_API_KEY", oauth_nonce="515b5f4c0394b09935c13b515c6460e1", oauth_signature="sfOHvrlTkp6Q3zAbQj1kmvkv0k4%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1698114359", oauth_token="TEST_ACCESS_TOKEN", oauth_version="1.0"',
[killfork] 'Content-Type'=>'multipart/form-data, boundary=e962a3dfa4ed39f44267649ea718c9d5',
[killfork] 'Host'=>'upload.twitter.com',
[killfork] 'User-Agent'=>'X-Client/0.10.0 ruby/3.3.0 (arm64-darwin22)'
[killfork] }).
[killfork] to_return(status: 200, body: "", headers: {})
[killfork]
[killfork] registered request stubs:
[killfork]
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=FINALIZE&media_id=1234567890")
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=1234567890&segment_index=1")
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=1234567890&segment_index=0")
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=INIT&media_category=tweet_video&media_type=video/mp4&total_bytes=123590")
[killfork]
[killfork] ============================================================
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/connection.rb:48:in `perform'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/client.rb:82:in `execute_request'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/client.rb:54:in `post'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:100:in `upload_chunk'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:96:in `block (2 levels) in append'
[killfork] #<Thread:0x000000010a5d0f38 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http.rb:106:in `request': Real HTTP connections are disabled. Unregistered request: POST https://upload.twitter.com/1.1/media/upload.json with body '--e962a3dfa4ed39f44267649ea718c9d5
(WebMock::NetConnectNotAllowedError)
[killfork] Content-Disposition: form-data; name="media"; filename="x000"
[killfork] Content-Type: video/mp4
[killfork]
[killfork] ftypmp42isommp42^moovlmvhdË’@¬trak\tkhdÌ@< ^mdia mdhd0–UƒGhdlrvideISO Media file produced by Google Inc.Ôminf$dinfdref url Østblóstsdáavc1< HHˇˇ1avcCB¿
[killfork] ˇ·gB¿
[killfork] ⁄{† (`xë5hŒ<Ästts4stsc4stco ~3‡a˛êæ:ÏXvHär®|stszN
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork] stssvmhd(trak\tkhd’@ƒmdia mdhdªÄ∏UƒGhdlrsounISO Media file produced by Google Inc.Uminf$dinfdref url stblistsdYmp4aªÄ5esds'@êsttsÓ@stsc
[killfork] 
<stco ‡3˛bê:æXÏväH®r∆ú∆»∆stszÓsmhd›Pmdat2.‹EÈΩÊŸH∑ñ,ÿ Ÿ#ÓÔx264 - core 155 r2901 7d0ff22ÄeàÑ ˇˇ¸=)nÚrru◊]xAö 'ƒ¿Aö@'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄr!†ˇ¿7ÌÄs!†ˇ¿7ÌÄu!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄx!†ˇ¿7ÌÄv!†ˇ¿7ÌÄuAö`'ƒ¿AöÄ'ƒ¿Aö†'ƒ¿!†ˇ¿7ÌÄu!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄu!†ˇ¿7ÌÄq!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄx!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄy!†ˇ¿7ÌÄz!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄqAö¿'ƒ¿Aö‡'ƒ¿Aõ'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄt!†ˇ¿7ÌÄr!†ˇ¿7ÌÄw!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ!†ˇ¿7ÌÄr!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄy!†ˇ¿7ÌÄv!†ˇ¿7ÌÄp!†ˇ¿7ÌÄr!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ|Aõ 'ƒ¿Aõ@'ƒ¿Aõ`'ƒ¿!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄp!†ˇ¿7ÌÄr!†ˇ¿7ÌÄy!†ˇ¿7ÌÄq!†ˇ¿7ÌÄw!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄw!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄrAõÄ'ƒ¿Aõ†'ƒ¿Aõ¿'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄu!†ˇ¿7ÌÄx!†ˇ¿7ÌÄt!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄt!†ˇ¿7ÌÄp!†ˇ¿7ÌÄt!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ~Aõ‡'ƒ¿Aö'ƒ¿Aö 'ƒ¿!†ˇ¿7ÌÄz!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http.rb:106:in `request': Real HTTP connections are disabled. Unregistered request: POST https://upload.twitter.com/1.1/media/upload.json with body '--e962a3dfa4ed39f44267649ea718c9d5
(WebMock::NetConnectNotAllowedError)
[killfork] Content-Disposition: form-data; name="media"; filename="x000"
[killfork] Content-Type: video/mp4
[killfork]
[killfork] ftypmp42isommp42^moovlmvhdË’@¬trak\tkhdÌ@< ^mdia mdhd0–UƒGhdlrvideISO Media file produced by Google Inc.Ôminf$dinfdref url Østblóstsdáavc1< HHˇˇ1avcCB¿
[killfork] ˇ·gB¿
[killfork] ⁄{† (`xë5hŒ<Ästts4stsc4stco ~3‡a˛êæ:ÏXvHär®|stszN
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork] stssvmhd(trak\tkhd’@ƒmdia mdhdªÄ∏UƒGhdlrsounISO Media file produced by Google Inc.Uminf$dinfdref url stblistsdYmp4aªÄ5esds'@êsttsÓ@stsc
[killfork] 
<stco ‡3˛bê:æXÏväH®r∆ú∆»∆stszÓsmhd›Pmdat2.‹EÈΩÊŸH∑ñ,ÿ Ÿ#ÓÔx264 - core 155 r2901 7d0ff22ÄeàÑ ˇˇ¸=)nÚrru◊]xAö 'ƒ¿Aö@'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄr!†ˇ¿7ÌÄs!†ˇ¿7ÌÄu!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄx!†ˇ¿7ÌÄv!†ˇ¿7ÌÄuAö`'ƒ¿AöÄ'ƒ¿Aö†'ƒ¿!†ˇ¿7ÌÄu!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄu!†ˇ¿7ÌÄq!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄx!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄy!†ˇ¿7ÌÄz!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄqAö¿'ƒ¿Aö‡'ƒ¿Aõ'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄt!†ˇ¿7ÌÄr!†ˇ¿7ÌÄw!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ!†ˇ¿7ÌÄr!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄy!†ˇ¿7ÌÄv!†ˇ¿7ÌÄp!†ˇ¿7ÌÄr!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ|Aõ 'ƒ¿Aõ@'ƒ¿Aõ`'ƒ¿!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄp!†ˇ¿7ÌÄr!†ˇ¿7ÌÄy!†ˇ¿7ÌÄq!†ˇ¿7ÌÄw!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄw!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄrAõÄ'ƒ¿Aõ†'ƒ¿Aõ¿'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄu!†ˇ¿7ÌÄx!†ˇ¿7ÌÄt!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄt!†ˇ¿7ÌÄp!†ˇ¿7ÌÄt!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ~Aõ‡'ƒ¿Aö'ƒ¿Aö 'ƒ¿!†ˇ¿7ÌÄz!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄt!†ˇ¿7ÌÄ
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
<internal:marshal>:34:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:134:in `load_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:124:in `read_child_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:84:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/procto.rb:19:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:238:in `block (2 levels) in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:237:in `block in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:236:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:163:in `run_mutation_tests'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:63:in `cover_index'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `block in run_child'
<internal:kernel>:187:in `loop'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:60:in `run_child'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:37:in `block in start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `fork'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:24:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:25:in `block in workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `initialize'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `new'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:14:in `async'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:25:in `async_driver'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `block in run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:157:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:12:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:115:in `bind'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command/environment/run.rb:40:in `action'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:81:in `execute'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:59:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block (2 levels) in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:149:in `either'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:20:in `<module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:4:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:23:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:492:in `exec'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:34:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:28:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:37:in `block in <top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:29:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `<main>'
```
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
upload_body = construct_upload_body(chunk_path, media_type, boundary)
- query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
+ query = nil
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:ec4d8
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81904 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork] #<Thread:0x000000010a5fc728 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http.rb:106:in `request': Real HTTP connections are disabled. Unregistered request: POST https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=&segment_index=0 with body '--3e04af60e0a23a08f32a9a41add667be
(WebMock::NetConnectNotAllowedError)
[killfork] Content-Disposition: form-data; name="media"; filename="x000"
[killfork] Content-Type: video/mp4
[killfork]
[killfork] ftypmp42isommp42^moovlmvhdË’@¬trak\tkhdÌ@< ^mdia mdhd0–UƒGhdlrvideISO Media file produced by Google Inc.Ôminf$dinfdref url Østblóstsdáavc1< HHˇˇ1avcCB¿
[killfork] ˇ·gB¿
[killfork] ⁄{† (`xë5hŒ<Ästts4stsc4stco ~3‡a˛êæ:ÏXvHär®|stszN
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork] stssvmhd(trak\tkhd’@ƒmdia mdhdªÄ∏UƒGhdlrsounISO Media file produced by Google Inc.Uminf$dinfdref url stblistsdYmp4aªÄ5esds'@êsttsÓ@stsc
[killfork] 
<stco ‡3˛bê:æXÏväH®r∆ú∆»∆stszÓsmhd›Pmdat2.‹EÈΩÊŸH∑ñ,ÿ Ÿ#ÓÔx264 - core 155 r2901 7d0ff22ÄeàÑ ˇˇ¸=)nÚrru◊]xAö 'ƒ¿Aö@'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄr!†ˇ¿7ÌÄs!†ˇ¿7ÌÄu!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄx!†ˇ¿7ÌÄv!†ˇ¿7ÌÄuAö`'ƒ¿AöÄ'ƒ¿Aö†'ƒ¿!†ˇ¿7ÌÄu!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄu!†ˇ¿7ÌÄq!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄx!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄy!†ˇ¿7ÌÄz!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄqAö¿'ƒ¿Aö‡'ƒ¿Aõ'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄt!†ˇ¿7ÌÄr!†ˇ¿7ÌÄw!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ!†ˇ¿7ÌÄr!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄy!†ˇ¿7ÌÄv!†ˇ¿7ÌÄp!†ˇ¿7ÌÄr!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ|Aõ 'ƒ¿Aõ@'ƒ¿Aõ`'ƒ¿!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄp!†ˇ¿7ÌÄr!†ˇ¿7ÌÄy!†ˇ¿7ÌÄq!†ˇ¿7ÌÄw!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄw!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄrAõÄ'ƒ¿Aõ†'ƒ¿Aõ¿'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄu!†ˇ¿7ÌÄx!†ˇ¿7ÌÄt!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄt!†ˇ¿7ÌÄp!†ˇ¿7ÌÄt!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ~Aõ‡'ƒ¿Aö'ƒ¿Aö 'ƒ¿!†ˇ¿7ÌÄz!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄt!†ˇ¿7ÌÄ
[killfork]
[killfork] Finished in 0.033651s, 29.7168 runs/s, 0.0000 assertions/s.
[killfork]
[killfork] 1) Error:
[killfork] X::MediaUploaderTest#test_chunked_upload:
[killfork] WebMock::NetConnectNotAllowedError: Real HTTP connections are disabled. Unregistered request: POST https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=&segment_index=0 with body '--3e04af60e0a23a08f32a9a41add667be
[killfork] Content-Disposition: form-data; name="media"; filename="x000"
[killfork] Content-Type: video/mp4
[killfork]
[killfork] ftypmp42isommp42^moovlmvhdË’@¬trak\tkhdÌ@< ^mdia mdhd0–UƒGhdlrvideISO Media file produced by Google Inc.Ôminf$dinfdref url Østblóstsdáavc1< HHˇˇ1avcCB¿
[killfork] ˇ·gB¿
[killfork] ⁄{† (`xë5hŒ<Ästts4stsc4stco ~3‡a˛êæ:ÏXvHär®|stszN
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork] stssvmhd(trak\tkhd’@ƒmdia mdhdªÄ∏UƒGhdlrsounISO Media file produced by Google Inc.Uminf$dinfdref url stblistsdYmp4aªÄ5esds'@êsttsÓ@stsc
[killfork] 
<stco ‡3˛bê:æXÏväH®r∆ú∆»∆stszÓsmhd›Pmdat2.‹EÈΩÊŸH∑ñ,ÿ Ÿ#ÓÔx264 - core 155 r2901 7d0ff22ÄeàÑ ˇˇ¸=)nÚrru◊]xAö 'ƒ¿Aö@'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄr!†ˇ¿7ÌÄs!†ˇ¿7ÌÄu!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄx!†ˇ¿7ÌÄv!†ˇ¿7ÌÄuAö`'ƒ¿AöÄ'ƒ¿Aö†'ƒ¿!†ˇ¿7ÌÄu!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄu!†ˇ¿7ÌÄq!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄx!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄy!†ˇ¿7ÌÄz!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄqAö¿'ƒ¿Aö‡'ƒ¿Aõ'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄt!†ˇ¿7ÌÄr!†ˇ¿7ÌÄw!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ!†ˇ¿7ÌÄr!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄy!†ˇ¿7ÌÄv!†ˇ¿7ÌÄp!†ˇ¿7ÌÄr!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ|Aõ 'ƒ¿Aõ@'ƒ¿Aõ`'ƒ¿!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄp!†ˇ¿7ÌÄr!†ˇ¿7ÌÄy!†ˇ¿7ÌÄq!†ˇ¿7ÌÄw!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄw!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄrAõÄ'ƒ¿Aõ†'ƒ¿Aõ¿'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄu!†ˇ¿7ÌÄx!†ˇ¿7ÌÄt!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄt!†ˇ¿7ÌÄp!†ˇ¿7ÌÄt!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ~Aõ‡'ƒ¿Aö'ƒ¿Aö 'ƒ¿!†ˇ¿7ÌÄz!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄt!†ˇ¿7ÌÄz!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄs!†ˇ¿7ÌÄt!†ˇ¿7ÌÄy!†ˇ¿7ÌÄz!†ˇ¿7ÌÄu!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄt!†ˇ¿7ÌÄu!†ˇ¿7ÌÄ!†ˇ¿7ÌÄy!†ˇ¿7ÌÄv!†ˇ¿7ÌÄtAö@'ƒ¿Aö`'ƒ¿!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ!†ˇ¿7ÌÄp!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄv!†ˇ¿7ÌÄy!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄr!†ˇ¿7ÌÄq!†ˇ¿7ÌÄyAöÄ'ƒ¿Aö†'ƒ¿Aö¿'ƒ¿!†ˇ¿7ÌÄ!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ#<Thread:0x000000010a5fc610 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] v!†ˇ¿7ÌÄu!†ˇ¿7ÌÄt!†ˇ¿7ÌÄ!†ˇ¿7ÌÄr!†ˇ¿7ÌÄw!†ˇ¿7ÌÄu!†ˇ¿7ÌÄy!†ˇ¿7ÌÄr!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ!†ˇ¿7ÌÄw!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄpAö‡'ƒ¿Aõ'ƒ¿Aõ 'ƒ¿!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄr!†ˇ¿7ÌÄs!†ˇ¿7ÌÄu!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄx!†ˇ¿7ÌÄv!†ˇ¿7ÌÄu!†ˇ¿7ÌÄu!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄu!†ˇ¿7ÌÄq!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄx!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄy!†ˇ¿7ÌÄz!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄt!†ˇ¿7ÌÄr!†ˇ¿7ÌÄw!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ!†ˇ¿7ÌÄr!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄ
[killfork] --3e04af60e0a23a08f32a9a41add667be--
[killfork] ' with headers {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization'=>'OAuth oauth_consumer_key="TEST_API_KEY", oauth_nonce="60725861b441cf7cbb916e2944c70ec3", oauth_signature="GQHYWaTEtbNK71wuW4I4HaiFHAg%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1698114359", oauth_token="TEST_ACCESS_TOKEN", oauth_version="1.0"', 'Content-Type'=>'multipart/form-data, boundary=3e04af60e0a23a08f32a9a41add667be', 'Host'=>'upload.twitter.com', 'User-Agent'=>'X-Client/0.10.0 ruby/3.3.0 (arm64-darwin22)'}
[killfork]
[killfork] You can stub this request with the following snippet:
[killfork]
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=&segment_index=0").
[killfork] with(
[killfork] body: "--3e04af60e0a23a08f32a9a41add667be\r\nContent-Disposition: form-data; name=\"media\"; filename=\"x000\"\r\nContent-Type: video/mp4\r\n\r\n\u0000\u0000\u0000\u0018ftypmp42\u0000\u0000\u0000\u0000isommp42\u0000\u0000\u0005^moov\u0000\u0000\u0000lmvhd\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\xE8\u0000\u0000\u0013\xD5\u0000\u0001\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000\u0002\xC2trak\u0000\u0000\u0000\\tkhd\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0010\xED\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@\u0000\u0000\u0000\u0000<\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0002^mdia\u0000\u0000\u0000 mdhd\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00000\u0000\u0000\u0000\xD0\u0000U\xC4\u0000\u0000\u0000\u0000\u0000Ghdlr\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000vide\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000ISO Media file produced by Google Inc.\u0000\u0000\u0000\u0001\xEFminf\u0000\u0000\u0000$dinf\u0000\u0000\u0000\u001Cdref\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\furl \u0000\u0000\u0000\u0001\u0000\u0000\u0001\xAFstbl\u0000\u0000\u0000\x97stsd\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\x87avc1\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000<\u0000 \u0000H\u0000\u0000\u0000H\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018\xFF\xFF\u0000\u0000\u00001avcC\u0001B\xC0\n\xFF\xE1\u0000\u001AgB\xC0\n\xDA\u0011{\xF0\u0016\xA0 (\u0000\u0000\u0003\u0000\b\u0000\u0000\u0003\u0000`x\x915\u0001\u0000\u0004h\xCE<\x80\u0000\u0000\u0000\u0018stts\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u001A\u0000\u0000\b\u0000\u0000\u0000\u00004stsc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0000\u0000\a\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0001\u0000\u0000\u0000\b\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0000\u00004stco\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0005~\u0000\u00003\xE0\u0000\u0000a\xFE\u0000\u0000\x90\u001C\u0000\u0000\xBE:\u0000\u0000\xECX\u0000\u0001\u001Av\u0000\u0001H\x8A\u0000\u0001r\xA8\u0000\u0000\u0000|stsz\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001A\u0000\u0000\u0000N\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\n\u0000\u0000\u0000\u0014stss\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0014vmhd\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002(trak\u0000\u0000\u0000\\tkhd\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0013\xD5\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\xC4mdia\u0000\u0000\u0000 mdhd\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\xBB\x80\u0000\u0003\xB8\u0000U\xC4\u0000\u0000\u0000\u0000\u0000Ghdlr\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000soun\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000ISO Media file produced by Google Inc.\u0000\u0000\u0000\u0001Uminf\u0000\u0000\u0000$dinf\u0000\u0000\u0000\u001Cdref\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\furl \u0000\u0000\u0000\u0001\u0000\u0000\u0001\u0019stbl\u0000\u0000\u0000istsd\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000Ymp4a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0010\u0000\u0000\u0000\u0000\xBB\x80\u0000\u0000\u0000\u0000\u00005esds\u0000\u0000\u0000\u0000\u0003'\u0000\u0002\u0000\u0004\u001F@\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\u0010\u0011\x90\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0001\u0002\u0000\u0000\u0000\u0018stts\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\xEE\u0000\u0000\u0004\u0000\u0000\u0000\u0000@stsc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0017\u0000\u0000\u0000\u0001\u0000\u0000\u0000\b\u0000\u0000\u0000\u0015\u0000\u0000\u0000\u0001\u0000\u0000\u0000\n\u0000\u0000\u0000\u0016\u0000\u0000\u0000\u0001\u0000\u0000\u0000\v\u0000\u0000\u0000\r\u0000\u0000\u0000\u0001\u0000\u0000\u0000<stco\u0000\u0000\u0000\u0000\u0000\u0000\u0000\v\u0000\u0000\u0005\xE0\u0000\u00003\xFE\u0000\u0000b\u001C\u0000\u0000\x90:\u0000\u0000\xBEX\u0000\u0000\xECv\u0000\u0001\u001A\x8A\u0000\u0001H\xA8\u0000\u0001r\xC6\u0000\u0001\x9C\xC6\u0000\u0001\xC8\xC6\u0000\u0000\u0000\u0014stsz\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000\xEE\u0000\u0000\u0000\u0010smhd\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\xDDPmdat\u0000\u0000\u00002\u0006\u0005.\xDCE\xE9\xBD\xE6\xD9H\xB7\x96,\xD8 \xD9#\xEE\xEFx264 - core 155 r2901 7d0ff22\u0000\x80\u0000\u0000\u0000\u0014e\x88\x84\t\xFF\xFF\xFC=\u0014\u0000\u0004)n\xF2rru\xD7]x\u0000\u0000\u0000\u0006A\x9A '\xC4\xC0\u0000\u0000\u0000\u0006A\x9A@'\xC4\xC0!\u0000\u0005\u0000\xA0\e\xFF\xC0\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00007\xED\x80\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000{!\u0010\u0005\u0000\xA0\e\xFF\xC0\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00007\xED\x80\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000w!\u0010\u0005\u0000\xA0\e\xFF\xC0\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00007\xED\x80\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000z!\u0010\u0005\u0000\xA0\e\xFF\xC0\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00007\xED\x80\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000u!\u0010\u0005\u0000\xA0\e\xFF\xC0\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00007\xED\x80\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000p!\u0010\u0005\u0000\xA0\e\xFF\xC0\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http.rb:106:in `request': Real HTTP connections are disabled. Unregistered request: POST https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=&segment_index=1 with body '--3e04af60e0a23a08f32a9a41add667be
(WebMock::NetConnectNotAllowedError)
[killfork] Content-Disposition: form-data; name="media"; filename="x001"
[killfork] Content-Type: video/mp4
[killfork]
[killfork] y
[killfork] --3e04af60e0a23a08f32a9a41add667be--
[killfork] ' with headers {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization'=>'OAuth oauth_consumer_key="TEST_API_KEY", oauth_nonce="959589848b6b84b7982a4b78cd2ee9b2", oauth_signature="YDXHhtDwEelIxfY6JHjbjwsCJNc%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1698114359", oauth_token="TEST_ACCESS_TOKEN", oauth_version="1.0"', 'Content-Type'=>'multipart/form-data, boundary=3e04af60e0a23a08f32a9a41add667be', 'Host'=>'upload.twitter.com', 'User-Agent'=>'X-Client/0.10.0 ruby/3.3.0 (arm64-darwin22)'}
[killfork]
[killfork] You can stub this request with the following snippet:
[killfork]
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=&segment_index=1").
[killfork] with(
[killfork] body: "--3e04af60e0a23a08f32a9a41add667be\r\nContent-Disposition: form-data; name=\"media\"; filename=\"x001\"\r\nContent-Type: video/mp4\r\n\r\ny\r\n--3e04af60e0a23a08f32a9a41add667be--\r\n",
[killfork] headers: {
[killfork] 'Accept'=>'*/*',
[killfork] 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
[killfork] 'Authorization'=>'OAuth oauth_consumer_key="TEST_API_KEY", oauth_nonce="959589848b6b84b7982a4b78cd2ee9b2", oauth_signature="YDXHhtDwEelIxfY6JHjbjwsCJNc%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1698114359", oauth_token="TEST_ACCESS_TOKEN", oauth_version="1.0"',
[killfork] 'Content-Type'=>'multipart/form-data, boundary=3e04af60e0a23a08f32a9a41add667be',
[killfork] 'Host'=>'upload.twitter.com',
[killfork] 'User-Agent'=>'X-Client/0.10.0 ruby/3.3.0 (arm64-darwin22)'
[killfork] }).
[killfork] to_return(status: 200, body: "", headers: {})
[killfork]
[killfork] registered request stubs:
[killfork]
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=FINALIZE&media_id=1234567890")
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=1234567890&segment_index=1")
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=1234567890&segment_index=0")
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=INIT&media_category=tweet_video&media_type=video/mp4&total_bytes=123590")
[killfork]
[killfork] ============================================================
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/connection.rb:48:in `perform'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/client.rb:82:in `execute_request'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/client.rb:54:in `post'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:100:in `upload_chunk'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:96:in `block (2 levels) in append'
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
<internal:marshal>:34:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:134:in `load_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:124:in `read_child_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:84:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/procto.rb:19:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:238:in `block (2 levels) in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:237:in `block in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:236:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:163:in `run_mutation_tests'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:63:in `cover_index'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `block in run_child'
<internal:kernel>:187:in `loop'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:60:in `run_child'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:37:in `block in start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `fork'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:24:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:25:in `block in workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `initialize'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `new'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:14:in `async'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:25:in `async_driver'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `block in run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:157:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:12:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:115:in `bind'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command/environment/run.rb:40:in `action'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:81:in `execute'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:59:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block (2 levels) in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:149:in `either'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:20:in `<module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:4:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:23:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:492:in `exec'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:34:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:28:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:37:in `block in <top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:29:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `<main>'
```
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
upload_body = construct_upload_body(chunk_path, media_type, boundary)
- query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
+ query = "command=APPEND&media_id=#{nil}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:206a7
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81905 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork] #<Thread:0x000000010a5fc8b8 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:94:in `block (2 levels) in append': undefined method `[]' for module X::MediaUploader (NoMethodError)
[killfork]
[killfork]
[killfork] #<Thread:0x000000010a5fc7a0 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:94:in `block (2 levels) in append': undefined method `[]' for module X::MediaUploader (NoMethodError)
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:94:in `block (2 levels) in append': undefined method `[]' for module X::MediaUploader (NoMethodError)
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
<internal:marshal>:34:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:134:in `load_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:124:in `read_child_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:84:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/procto.rb:19:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:238:in `block (2 levels) in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:237:in `block in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:236:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:163:in `run_mutation_tests'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:63:in `cover_index'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `block in run_child'
<internal:kernel>:187:in `loop'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:60:in `run_child'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:37:in `block in start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `fork'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:24:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:25:in `block in workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `initialize'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `new'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:14:in `async'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:25:in `async_driver'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `block in run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:157:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:12:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:115:in `bind'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command/environment/run.rb:40:in `action'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:81:in `execute'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:59:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block (2 levels) in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:149:in `either'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:20:in `<module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:4:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:23:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:492:in `exec'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:34:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:28:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:37:in `block in <top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:29:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `<main>'
```
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
upload_body = construct_upload_body(chunk_path, media_type, boundary)
- query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
+ query = "command=APPEND&media_id=#{self["media_id"]}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:787af
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81908 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork] #<Thread:0x000000010a5f70c0 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:94:in `block (2 levels) in append': undefined method `at' for an instance of Hash (NoMethodError)
[killfork] #<Thread:0x000000010a5f6fa8 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:94:in `block (2 levels) in append': undefined method `at' for an instance of Hash (NoMethodError)
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:94:in `block (2 levels) in append': undefined method `at' for an instance of Hash (NoMethodError)
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
<internal:marshal>:34:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:134:in `load_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:124:in `read_child_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:84:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/procto.rb:19:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:238:in `block (2 levels) in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:237:in `block in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:236:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:163:in `run_mutation_tests'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:63:in `cover_index'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `block in run_child'
<internal:kernel>:187:in `loop'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:60:in `run_child'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:37:in `block in start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `fork'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:24:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:25:in `block in workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `initialize'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `new'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:14:in `async'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:25:in `async_driver'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `block in run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:157:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:12:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:115:in `bind'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command/environment/run.rb:40:in `action'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:81:in `execute'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:59:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block (2 levels) in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:149:in `either'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:20:in `<module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:4:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:23:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:492:in `exec'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:34:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:28:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:37:in `block in <top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:29:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `<main>'
```
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
upload_body = construct_upload_body(chunk_path, media_type, boundary)
- query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
+ query = "command=APPEND&media_id=#{media.at("media_id")}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:38545
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81906 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork] #<Thread:0x000000010a5fecd0 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http.rb:106:in `request': Real HTTP connections are disabled. Unregistered request: POST https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=%7B%22media_id%22=%3E1234567890%7D&segment_index=0 with body '--2eba33514b3876d124ab1aa84be752ff
(WebMock::NetConnectNotAllowedError)
[killfork] Content-Disposition: form-data; name="media"; filename="x000"
[killfork] Content-Type: video/mp4
[killfork]
[killfork] ftypmp42isommp42^moovlmvhdË’@¬trak\tkhdÌ@< ^mdia mdhd0–UƒGhdlrvideISO Media file produced by Google Inc.Ôminf$dinfdref url Østblóstsdáavc1< HHˇˇ1avcCB¿
[killfork] ˇ·gB¿
[killfork] ⁄{† (`xë5hŒ<Ästts4stsc4stco ~3‡a˛êæ:ÏXvHär®|stszN
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork] stssvmhd(trak\tkhd’@ƒmdia mdhdªÄ∏UƒGhdlrsounISO Media file produced by Google Inc.Uminf$dinfdref url stblistsdYmp4aªÄ5esds'@êsttsÓ@stsc
[killfork] 
<stco ‡3˛bê:æXÏväH®r∆ú∆»∆stszÓsmhd›Pmdat2.‹EÈΩÊŸH∑ñ,ÿ Ÿ#ÓÔx264 - core 155 r2901 7d0ff22ÄeàÑ ˇˇ¸=)nÚrru◊]xAö 'ƒ¿Aö@'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄr!†ˇ¿7ÌÄs!†ˇ¿7ÌÄu!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄx!†ˇ¿7ÌÄv!†ˇ¿7ÌÄuAö`'ƒ¿AöÄ'ƒ¿Aö†'ƒ¿!†ˇ¿7ÌÄu!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄu!†ˇ¿7ÌÄq!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄx!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄy!†ˇ¿7ÌÄz!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄqAö¿'ƒ¿Aö‡'ƒ¿Aõ'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄt!†ˇ¿7ÌÄr!†ˇ¿7ÌÄw!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ!†ˇ¿7ÌÄr!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄy!†ˇ¿7ÌÄv!†ˇ¿7ÌÄp!†ˇ¿7ÌÄr!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ|Aõ 'ƒ¿Aõ@'ƒ¿Aõ`'ƒ¿!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄp!†ˇ¿7ÌÄr!†ˇ¿7ÌÄy!†ˇ¿7ÌÄq!†ˇ¿7ÌÄw!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄw!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄrAõÄ'ƒ¿Aõ†'ƒ¿Aõ¿'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄu!†ˇ¿7ÌÄx!†ˇ¿7ÌÄt!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄt!†ˇ¿7ÌÄp!†ˇ¿7ÌÄt!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ~Aõ‡'ƒ¿Aö'ƒ¿Aö 'ƒ¿!†ˇ¿7ÌÄz!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄt!†ˇ¿
[killfork]
[killfork] Finished in 0.037668s, 26.5477 runs/s, 0.0000 assertions/s.
[killfork]
[killfork] 1) Error:
[killfork] X::MediaUploaderTest#test_chunked_upload:
[killfork] WebMock::NetConnectNotAllowedError: Real HTTP connections are disabled. Unregistered request: POST https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=%7B%22media_id%22=%3E1234567890%7D&segment_index=0 with body '--2eba33514b3876d124ab1aa84be752ff
[killfork] Content-Disposition: form-data; name="media"; filename="x000"
[killfork] Content-Type: video/mp4
[killfork]
[killfork] ftypmp42isommp42^moovlmvhdË’@¬trak\tkhdÌ@< ^mdia mdhd0–UƒGhdlrvideISO Media file produced by Google Inc.Ôminf$dinfdref url Østblóstsdáavc1< HHˇˇ1avcCB¿
[killfork] ˇ·gB¿
[killfork] ⁄{† (`xë5hŒ<Ästts4stsc4stco ~3‡a˛êæ:ÏXvHär®|stszN
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork] stssvmhd(trak\tkhd’@ƒmdia mdhdªÄ∏UƒGhdlrsounISO Media file produced by Google Inc.Uminf$dinfdref url stblistsdYmp4aªÄ5esds'@êsttsÓ@stsc
[killfork] 
<stco ‡3˛bê:æXÏväH®r∆ú∆»∆stszÓsmhd›Pmdat2.‹EÈΩÊŸH∑ñ,ÿ Ÿ#ÓÔx264 - core 155 r2901 7d0ff22ÄeàÑ ˇˇ¸=)nÚrru◊]xAö 'ƒ¿Aö@'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄr!†ˇ¿7ÌÄs!†ˇ¿7ÌÄu!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄx!†ˇ¿7ÌÄv!†ˇ¿7ÌÄuAö`'ƒ¿AöÄ'ƒ¿Aö†'ƒ¿!†ˇ¿7ÌÄu!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄu!†ˇ¿7ÌÄq!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄx!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄy!†ˇ¿7ÌÄz!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄqAö¿'ƒ¿Aö‡'ƒ¿Aõ'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄt!†ˇ¿7ÌÄr!†ˇ¿7ÌÄw!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ!†ˇ¿7ÌÄr!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄy!†ˇ¿7ÌÄv!†ˇ¿7ÌÄp!†ˇ¿7ÌÄr!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ|Aõ 'ƒ¿Aõ@'ƒ¿Aõ`'ƒ¿!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄp!†ˇ¿7ÌÄr!†ˇ¿7ÌÄy!†ˇ¿7ÌÄq!†ˇ¿7ÌÄw!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄw!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄrAõÄ'ƒ¿Aõ†'ƒ¿Aõ¿'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄu!†ˇ¿7ÌÄx!†ˇ¿7ÌÄt!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄq!†ˇ¿7ÌÄt!†ˇ¿7ÌÄt!†ˇ¿7ÌÄp!†ˇ¿7ÌÄt!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄ~Aõ‡'ƒ¿Aö'ƒ¿Aö 'ƒ¿!†ˇ¿7ÌÄz!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄv!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄt!†ˇ¿7ÌÄ#<Thread:0x000000010a5febb8 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http.rb:106:in `request': Real HTTP connections are disabled. Unregistered request: POST https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=%7B%22media_id%22=%3E1234567890%7D&segment_index=1 with body '--2eba33514b3876d124ab1aa84be752ff
(WebMock::NetConnectNotAllowedError)
[killfork] Content-Disposition: form-data; name="media"; filename="x001"
[killfork] Content-Type: video/mp4
[killfork]
[killfork] y
[killfork] --2eba33514b3876d124ab1aa84be752ff--
[killfork] ' with headers {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization'=>'OAuth oauth_consumer_key="TEST_API_KEY", oauth_nonce="1ca507efb85749c44e6a1edc10984725", oauth_signature="mGX8SuYsBAbfRgk%2B21lOrQXKFA4%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1698114359", oauth_token="TEST_ACCESS_TOKEN", oauth_version="1.0"', 'Content-Type'=>'multipart/form-data, boundary=2eba33514b3876d124ab1aa84be752ff', 'Host'=>'upload.twitter.com', 'User-Agent'=>'X-Client/0.10.0 ruby/3.3.0 (arm64-darwin22)'}
[killfork]
[killfork] You can stub this request with the following snippet:
[killfork]
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=%7B%22media_id%22=%3E1234567890%7D&segment_index=1").
[killfork] with(
[killfork] body: "--2eba33514b3876d124ab1aa84be752ff\r\nContent-Disposition: form-data; name=\"media\"; filename=\"x001\"\r\nContent-Type: video/mp4\r\n\r\ny\r\n--2eba33514b3876d124ab1aa84be752ff--\r\n",
[killfork] headers: {
[killfork] 'Accept'=>'*/*',
[killfork] 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
[killfork] 'Authorization'=>'OAuth oauth_consumer_key="TEST_API_KEY", oauth_nonce="1ca507efb85749c44e6a1edc10984725", oauth_signature="mGX8SuYsBAbfRgk%2B21lOrQXKFA4%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1698114359", oauth_token="TEST_ACCESS_TOKEN", oauth_version="1.0"',
[killfork] 'Content-Type'=>'multipart/form-data, boundary=2eba33514b3876d124ab1aa84be752ff',
[killfork] 'Host'=>'upload.twitter.com',
[killfork] 'User-Agent'=>'X-Client/0.10.0 ruby/3.3.0 (arm64-darwin22)'
[killfork] }).
[killfork] to_return(status: 200, body: "", headers: {})
[killfork]
[killfork] registered request stubs:
[killfork]
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=FINALIZE&media_id=1234567890")
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=1234567890&segment_index=1")
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=1234567890&segment_index=0")
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=INIT&media_category=tweet_video&media_type=video/mp4&total_bytes=123590")
[killfork]
[killfork] ============================================================
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/connection.rb:48:in `perform'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/client.rb:82:in `execute_request'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/client.rb:54:in `post'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:100:in `upload_chunk'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:96:in `block (2 levels) in append'
[killfork] /Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http.rb:106:in `request': Real HTTP connections are disabled. Unregistered request: POST https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=%7B%22media_id%22=%3E1234567890%7D&segment_index=1 with body '--2eba33514b3876d124ab1aa84be752ff
(WebMock::NetConnectNotAllowedError)
[killfork] Content-Disposition: form-data; name="media"; filename="x001"
[killfork] Content-Type: video/mp4
[killfork]
[killfork] y
[killfork] --2eba33514b3876d124ab1aa84be752ff--
[killfork] ' with headers {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization'=>'OAuth oauth_consumer_key="TEST_API_KEY", oauth_nonce="1ca507efb85749c44e6a1edc10984725", oauth_signature="mGX8SuYsBAbfRgk%2B21lOrQXKFA4%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1698114359", oauth_token="TEST_ACCESS_TOKEN", oauth_version="1.0"', 'Content-Type'=>'multipart/form-data, boundary=2eba33514b3876d124ab1aa84be752ff', 'Host'=>'upload.twitter.com', 'User-Agent'=>'X-Client/0.10.0 ruby/3.3.0 (arm64-darwin22)'}
[killfork]
[killfork] You can stub this request with the following snippet:
[killfork]
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=%7B%22media_id%22=%3E1234567890%7D&segment_index=1").
[killfork] with(
[killfork] body: "--2eba33514b3876d124ab1aa84be752ff\r\nContent-Disposition: form-data; name=\"media\"; filename=\"x001\"\r\nContent-Type: video/mp4\r\n\r\ny\r\n--2eba33514b3876d124ab1aa84be752ff--\r\n",
[killfork] headers: {
[killfork] 'Accept'=>'*/*',
[killfork] 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
[killfork] 'Authorization'=>'OAuth oauth_consumer_key="TEST_API_KEY", oauth_nonce="1ca507efb85749c44e6a1edc10984725", oauth_signature="mGX8SuYsBAbfRgk%2B21lOrQXKFA4%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1698114359", oauth_token="TEST_ACCESS_TOKEN", oauth_version="1.0"',
[killfork] 'Content-Type'=>'multipart/form-data, boundary=2eba33514b3876d124ab1aa84be752ff',
[killfork] 'Host'=>'upload.twitter.com',
[killfork] 'User-Agent'=>'X-Client/0.10.0 ruby/3.3.0 (arm64-darwin22)'
[killfork] }).
[killfork] to_return(status: 200, body: "", headers: {})
[killfork]
[killfork] registered request stubs:
[killfork]
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=FINALIZE&media_id=1234567890")
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=1234567890&segment_index=1")
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=1234567890&segment_index=0")
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=INIT&media_category=tweet_video&media_type=video/mp4&total_bytes=123590")
[killfork]
[killfork] ============================================================
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/connection.rb:48:in `perform'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/client.rb:82:in `execute_request'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/client.rb:54:in `post'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:100:in `upload_chunk'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:96:in `block (2 levels) in append'
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
<internal:marshal>:34:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:134:in `load_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:124:in `read_child_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:84:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/procto.rb:19:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:238:in `block (2 levels) in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:237:in `block in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:236:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:163:in `run_mutation_tests'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:63:in `cover_index'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `block in run_child'
<internal:kernel>:187:in `loop'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:60:in `run_child'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:37:in `block in start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `fork'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:24:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:25:in `block in workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `initialize'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `new'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:14:in `async'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:25:in `async_driver'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `block in run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:157:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:12:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:115:in `bind'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command/environment/run.rb:40:in `action'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:81:in `execute'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:59:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block (2 levels) in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:149:in `either'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:20:in `<module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:4:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:23:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:492:in `exec'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:34:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:28:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:37:in `block in <top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:29:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `<main>'
```
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
upload_body = construct_upload_body(chunk_path, media_type, boundary)
- query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
+ query = "command=APPEND&media_id=#{media}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:a8bbf
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81911 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork] #<Thread:0x000000010a5fab30 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:94:in `[]': wrong number of arguments (given 0, expected 1) (ArgumentError)
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:94:in `block (2 levels) in append'
[killfork]
[killfork] #<Thread:0x000000010a5fac48 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:94:in `[]': wrong number of arguments (given 0, expected 1) (ArgumentError)
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:94:in `block (2 levels) in append'
[killfork] /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:94:in `[]': wrong number of arguments (given 0, expected 1) (ArgumentError)
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:94:in `block (2 levels) in append'
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
<internal:marshal>:34:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:134:in `load_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:124:in `read_child_result'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:84:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/procto.rb:19:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:238:in `block (2 levels) in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:237:in `block in call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:46:in `block in with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `pipe'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:45:in `with'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/isolation/fork.rb:236:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:163:in `run_mutation_tests'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:63:in `cover_index'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:61:in `block in run_child'
<internal:kernel>:187:in `loop'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:60:in `run_child'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:37:in `block in start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `fork'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:36:in `start_config'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel/worker.rb:24:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:25:in `block in workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `initialize'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `new'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:24:in `workers'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/parallel.rb:14:in `async'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:25:in `async_driver'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `block in run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/env.rb:157:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:19:in `run_mutation_analysis'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/mutation/runner.rb:12:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:115:in `bind'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command/environment/run.rb:40:in `action'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:81:in `execute'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/cli/command.rb:59:in `call'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block (2 levels) in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/segment/recorder.rb:24:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/lib/mutant/world.rb:83:in `record'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:57:in `block in <module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/unparser-0.6.9/lib/unparser/either.rb:149:in `either'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:20:in `<module:Mutant>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/mutant-0.11.24/bin/mutant:4:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/mutant:25:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli/exec.rb:23:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:492:in `exec'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:34:in `dispatch'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/cli.rb:28:in `start'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:37:in `block in <top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/3.3.0+0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle:29:in `<top (required)>'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `load'
/Users/erik/.rbenv/versions/3.3.0-preview2/bin/bundle:25:in `<main>'
```
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
upload_body = construct_upload_body(chunk_path, media_type, boundary)
- query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
+ query = "command=APPEND&media_id=#{media[]}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:84624
-----------------------
Killfork: #<Process::Status: pid 81907 exit 0>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork]
[killfork]
[killfork] Finished in 0.045422s, 330.2365 runs/s, 352.2522 assertions/s.
[killfork]
[killfork] 15 runs, 16 assertions, 0 failures, 0 errors, 0 skips
@@ -1,12 +1,12 @@
def append(upload_client, chunk_paths, media, media_type, boundary = SecureRandom.hex)
threads = chunk_paths.map.with_index { |chunk_path, index|
Thread.new {
upload_body = construct_upload_body(chunk_path, media_type, boundary)
- query = "command=APPEND&media_id=#{media["media_id"]}&segment_index=#{index}"
+ query = "command=APPEND&media_id=#{media.fetch("media_id")}&segment_index=#{index}"
headers = { "Content-Type" => "multipart/form-data, boundary=#{boundary}" }
upload_chunk(upload_client, query, upload_body, chunk_path, headers)
}
}
threads.each(&:join)
end
-----------------------
evil:X::MediaUploader#append:/Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:87:75c64
-----------------------
Killfork exited nonzero. Its result (if any) was ignored.
Process status:
#<Process::Status: pid 81912 exit 1>
Log messages (combined stderr and stdout):
[killfork] Run options:
[killfork]
[killfork] # Running:
[killfork]
[killfork] #<Thread:0x000000010a5f7458 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http.rb:106:in `request': Real HTTP connections are disabled. Unregistered request: POST https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=&segment_index=1 with body '--0d291b3868dc9e94d86b20f689876702
(WebMock::NetConnectNotAllowedError)
[killfork] Content-Disposition: form-data; name="media"; filename="x001"
[killfork] Content-Type: video/mp4
[killfork]
[killfork] y
[killfork] --0d291b3868dc9e94d86b20f689876702--
[killfork] ' with headers {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization'=>'OAuth oauth_consumer_key="TEST_API_KEY", oauth_nonce="f8f5888935bb69602d814db86676a7e2", oauth_signature="AUq5kltiNw0RI0B3e%2FoeekXWaU0%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1698114359", oauth_token="TEST_ACCESS_TOKEN", oauth_version="1.0"', 'Content-Type'=>'multipart/form-data, boundary=0d291b3868dc9e94d86b20f689876702', 'Host'=>'upload.twitter.com', 'User-Agent'=>'X-Client/0.10.0 ruby/3.3.0 (arm64-darwin22)'}
[killfork]
[killfork] You can stub this request with the following snippet:
[killfork]
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=&segment_index=1").
[killfork] with(
[killfork] body: "--0d291b3868dc9e94d86b20f689876702\r\nContent-Disposition: form-data; name=\"media\"; filename=\"x001\"\r\nContent-Type: video/mp4\r\n\r\ny\r\n--0d291b3868dc9e94d86b20f689876702--\r\n",
[killfork] headers: {
[killfork] 'Accept'=>'*/*',
[killfork] 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
[killfork] 'Authorization'=>'OAuth oauth_consumer_key="TEST_API_KEY", oauth_nonce="f8f5888935bb69602d814db86676a7e2", oauth_signature="AUq5kltiNw0RI0B3e%2FoeekXWaU0%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1698114359", oauth_token="TEST_ACCESS_TOKEN", oauth_version="1.0"',
[killfork] 'Content-Type'=>'multipart/form-data, boundary=0d291b3868dc9e94d86b20f689876702',
[killfork] 'Host'=>'upload.twitter.com',
[killfork] 'User-Agent'=>'X-Client/0.10.0 ruby/3.3.0 (arm64-darwin22)'
[killfork] }).
[killfork] to_return(status: 200, body: "", headers: {})
[killfork]
[killfork] registered request stubs:
[killfork]
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=FINALIZE&media_id=1234567890")
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=1234567890&segment_index=1")
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=1234567890&segment_index=0")
[killfork] stub_request(:post, "https://upload.twitter.com/1.1/media/upload.json?command=INIT&media_category=tweet_video&media_type=video/mp4&total_bytes=123590")
[killfork]
[killfork] ============================================================
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/connection.rb:48:in `perform'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/client.rb:82:in `execute_request'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/client.rb:54:in `post'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:100:in `upload_chunk'
[killfork] from /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:96:in `block (2 levels) in append'
[killfork] #<Thread:0x000000010a5f7570 /Users/erik/Code/Ruby/x-ruby/lib/x/media_uploader.rb:92 run> terminated with exception (report_on_exception is true):
[killfork] /Users/erik/.rbenv/versions/3.3.0-preview2/lib/ruby/gems/3.3.0+0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http.rb:106:in `request': Real HTTP connections are disabled. Unregistered request: POST https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=&segment_index=0 with body '--0d291b3868dc9e94d86b20f689876702
(WebMock::NetConnectNotAllowedError)
[killfork] Content-Disposition: form-data; name="media"; filename="x000"
[killfork] Content-Type: video/mp4
[killfork]
[killfork] ftypmp42isommp42^moovlmvhdË’@¬trak\tkhdÌ@< ^mdia mdhd0–UƒGhdlrvideISO Media file produced by Google Inc.Ôminf$dinfdref url Østblóstsdáavc1< HHˇˇ1avcCB¿
[killfork] ˇ·gB¿
[killfork] ⁄{† (`xë5hŒ<Ästts4stsc4stco ~3‡a˛êæ:ÏXvHär®|stszN
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork]
[killfork] stssvmhd(trak\tkhd’@ƒmdia mdhdªÄ∏UƒGhdlrsounISO Media file produced by Google Inc.Uminf$dinfdref url stblistsdYmp4aªÄ5esds'@êsttsÓ@stsc
[killfork] 
<stco ‡3˛bê:æXÏväH®r∆ú∆»∆stszÓsmhd›Pmdat2.‹EÈΩÊŸH∑ñ,ÿ Ÿ#ÓÔx264 - core 155 r2901 7d0ff22ÄeàÑ ˇˇ¸=)nÚrru◊]xAö 'ƒ¿Aö@'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄp!†ˇ¿7ÌÄu!†ˇ¿7ÌÄp!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿7ÌÄr!†ˇ¿7ÌÄs!†ˇ¿7ÌÄu!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄz!†ˇ¿7ÌÄz!†ˇ¿7ÌÄw!†ˇ¿7ÌÄx!†ˇ¿7ÌÄv!†ˇ¿7ÌÄuAö`'ƒ¿AöÄ'ƒ¿Aö†'ƒ¿!†ˇ¿7ÌÄu!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄz!†ˇ¿7ÌÄ!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄu!†ˇ¿7ÌÄq!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄs!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄ|!†ˇ¿7ÌÄz!†ˇ¿7ÌÄx!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄq!†ˇ¿7ÌÄs!†ˇ¿7ÌÄy!†ˇ¿7ÌÄz!†ˇ¿7ÌÄr!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄqAö¿'ƒ¿Aö‡'ƒ¿Aõ'ƒ¿!†ˇ¿7ÌÄ{!†ˇ¿7ÌÄ~!†ˇ¿7ÌÄ}!†ˇ¿7ÌÄv!†ˇ¿
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment