Skip to content

HttpServer plugin helper can not work well with io-stream 0.8 on Windows and Ruby 3.3/3.4/HEAD #5009

Open
@daipom

Description

@daipom

Describe the bug

HttpServer plugin helper can not work well with io-stream 0.8 on Windows and Ruby 3.3/3.4.

Currently, CI fails because of this: https://github.com/fluent/fluentd/actions/runs/15821469461/job/44646852748?pr=5008

This change causes this.

https://github.com/socketry/io-stream/pull/5/files#diff-aa450f7b0f2b1c4e53685e572dc8eaf991d7e0c2814d95ed5cd7c48f41e33837R109-R113

I'm not sure yet whether the problem is with Fluentd or async, or with net/http or io-stream.

I'm not sure yet whether it is simply a CI issue or not.

To Reproduce

  • Ruby 3.3 or 3.4
  • io-stream 0.8
$ bundle exec rake test TESTOPTS="-t'HttpHelperTest'"

Some tests fail as follows:

Error: test: mount frozen path(HttpHelperTest::Create a HTTP server): EOFError: end of file reached
C:/Ruby34-x64/lib/ruby/3.4.0/net/protocol.rb:237:in 'Net::BufferedIO#rbuf_fill'
C:/Ruby34-x64/lib/ruby/3.4.0/net/protocol.rb:199:in 'Net::BufferedIO#readuntil'
C:/Ruby34-x64/lib/ruby/3.4.0/net/protocol.rb:209:in 'Net::BufferedIO#readline'
C:/Ruby34-x64/lib/ruby/3.4.0/net/http/response.rb:158:in 'Net::HTTPResponse.read_status_line'
C:/Ruby34-x64/lib/ruby/3.4.0/net/http/response.rb:147:in 'Net::HTTPResponse.read_new'
C:/Ruby34-x64/lib/ruby/3.4.0/net/http.rb:2414:in 'block in Net::HTTP#transport_request'
C:/Ruby34-x64/lib/ruby/3.4.0/net/http.rb:2405:in 'Kernel#catch'
C:/Ruby34-x64/lib/ruby/3.4.0/net/http.rb:2405:in 'Net::HTTP#transport_request'
C:/Ruby34-x64/lib/ruby/3.4.0/net/http.rb:2378:in 'Net::HTTP#request'
C:/Users/reang/Documents/work/fluentd/fluentd/test/plugin_helper/test_http_server_helper.rb:75:in 'block (3 levels) in <class:HttpHelperTest>'
C:/Ruby34-x64/lib/ruby/3.4.0/net/http.rb:1626:in 'Net::HTTP#start'
C:/Ruby34-x64/lib/ruby/3.4.0/net/http.rb:1064:in 'Net::HTTP.start'
C:/Users/reang/Documents/work/fluentd/fluentd/test/plugin_helper/test_http_server_helper.rb:74:in 'block (2 levels) in <class:HttpHelperTest>'
C:/Users/reang/Documents/work/fluentd/fluentd/test/plugin_helper/test_http_server_helper.rb:189:in 'block (3 levels) in <class:HttpHelperTest>'
C:/Users/reang/Documents/work/fluentd/fluentd/test/plugin_helper/test_http_server_helper.rb:36:in 'HttpHelperTest#on_driver'
C:/Users/reang/Documents/work/fluentd/fluentd/test/plugin_helper/test_http_server_helper.rb:184:in 'block (2 levels) in <class:HttpHelperTest>'

...

Expected behavior

CI passes.

Your Environment

- Fluentd version: Current master (6821e4bb4b80bf99473541dc6a5779dbc3784c70)
- Package version:
- Operating system: Windows 10 Home
- Kernel version:

Your Configuration

Not related.

Maybe we can reproduce this with the following conf.

<source>
  @type monitor_agent
</source>

Your Error Log

See To Reproduce.

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    CITest/CI issues

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions