-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some unit tests are broken on Ruby 3.0 #3263
Comments
#3262 will fix the first |
It still seems fail: https://cloud.drone.io/fluent/fluentd/1045/2/2
|
First test case: @example = ConfigurableSpec::ExampleWithSkipAccessor.new
@example.configure(config_element('ROOT'))
p @example.inspect Then
|
|
Revised #3262 for fixing 2nd test case. |
They aren't Drone or Arm specific, it's caused by combination of Ruby 3.0 and RR. |
FIXME:
|
In this failure case, it seems that fluentd/lib/fluent/plugin_helper/server.rb Lines 352 to 360 in 4752cc1
|
server_create_tcp_socket depends server_socket_manager_client fluentd/lib/fluent/plugin_helper/server.rb Lines 343 to 349 in 4752cc1
|
#3263 (comment) It is not clarified the problem well. it may differ between Ruby 2.7 (raise EADDRINUSE) and Ruby 3.0 (NO error)
|
I'll try a reproducible minimum script. |
It seems SocketManager.send_peer succeeds (TCPSocket writes packed data - 91 bytes), but SocketManager.recv_peer behaves differently. |
Both of 2.7/3.0, WinSock.bind(sock.handle, sock_addr, sock_addr.bytesize) returns -1, but |
I've found bind return -1, but |
|
I got feedback to reproduce it
Ruby 2.7
Ruby 3.0
|
Additiional experiment with #3263 (comment) ruby 3.0 fiddle 1.0.6 NG (WinSock.WSAGetLastError returns 0) |
FYI: ruby/fiddle#72 I've forwarded to upstream about this issue. #3263 (comment) |
rr's issue is fixed in #3304 Remaining issue is
In addition, following error may be also Ruby 3.0 on Windows specific? https://github.com/fluent/fluentd/runs/2253559936
|
It seems so. |
It seems so.
It depends whether |
#3316 will solve \test\plugin\test_output_as_buffered_backup.rb Timeout:Error #3263 (comment) |
As #3316 was merged, the rest of TODO: fiddle related one. |
Fix for ServerEngine: treasure-data/serverengine#112 |
I've released ServerEngine 2.2.4: https://rubygems.org/gems/serverengine/versions/2.2.4 |
I'm trying serverengine 2.2.4 & fiddle 1.0.8 at ashie#14 |
And bundler doesn't accept fiddle 1.0.8 on Windows: https://github.com/rubygems/bundler/blob/35be6d9a603084f719fec4f4028c18860def07f6/spec/runtime/setup_spec.rb#L1211 |
On Ruby 3.0, we need to use fiddle 1.0.8 or later to retrieve correct error code. In addition, we have to specify the path of fiddle by RUBYLIB because RubyInstaller loads Ruby's bundled fiddle before initializing gem. See also: * ruby/fiddle#72 * https://bugs.ruby-lang.org/issues/17813 * https://github.com/oneclick/rubyinstaller2/blob/8225034c22152d8195bc0aabc42a956c79d6c712/lib/ruby_installer/build/dll_directory.rb Fix fluent#3263 Signed-off-by: Takuro Ashie <[email protected]>
Check CONTRIBUTING guideline first and here is the list to help us investigate the problem.
Describe the bug
Drone CI is continuously broken for two months.
See https://cloud.drone.io/fluent/fluentd
To Reproduce
Follow steps in .drone.yml
See https://github.com/fluent/fluentd/blob/master/.drone.yml#L26-L35
Expected behavior
There are 3 test case failures.
Your Environment
fluentd --version
ortd-agent --version
cat /etc/os-release
uname -r
Your Configuration
N/A
Your Error Log
I've attached logs
Additional context
N/A
arm64v8-test.log
The text was updated successfully, but these errors were encountered: