Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Working with ERLANG on a windows machine with IPv6 only yields an error message #8848

Closed
c0di11a opened this issue Sep 23, 2024 · 5 comments
Closed
Assignees
Labels
bug Issue is reported as a bug team:PS Assigned to OTP team PS

Comments

@c0di11a
Copy link

c0di11a commented Sep 23, 2024

Describe the bug
Using latest Erlang release 27.1 yields an error. I believe that this may cause a later issue with RabbitMQ.

To Reproduce

  1. Installed Windows 2019 VM with both IPv4 + IPv6
  2. Installed erlang, e.g. version 27.1
  3. I ran netsh Ipv4 interface uninstall to remove IPv4
  4. I ran erl.exe and I get an error message
=ERROR MSG==== 938556505 ===
Failed create 'dummy' socket:
   eafnosupport (10047)
=ERROR MSG==== 938559987 ===
Failed initiating I/O backendErlang/OTP 27 [erts-15.1] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [jit:ns]

Eshell V15.1 (press Ctrl+G to abort, type help(). for help)
1>

I have also tried the next mitigations

  1. run erl.exe -proto_dist inet6_tcp
  2. add variables to .inetrc
{inet6, true}.
{tcp, inet6_tcp}
  1. adding the next variables to .inetrc was not parsed correctly
{inet_default_bind_address, {0,0,0,0,0,0,0,0}}.
{inet_default_connect_options, [inet6]}.

Expected behavior
I expected this to be smooth without errors

Affected versions
tested with 26.x and 27.1

Additional context
Add any other context about the problem here. If you wish to attach Erlang code you can either write it directly in the post using code tags, create a gist, or attach it as a zip file to this post.

@c0di11a c0di11a added the bug Issue is reported as a bug label Sep 23, 2024
@c0di11a
Copy link
Author

c0di11a commented Sep 23, 2024

Some investigation lead to esaio_init which seems to rely on IPv4 interface at ctrl.dummy = sock_open(AF_INET, SOCK_STREAM, IPPROTO_TCP);

@IngelaAndin IngelaAndin added the team:PS Assigned to OTP team PS label Sep 23, 2024
@bmk
Copy link
Contributor

bmk commented Sep 24, 2024

Yes, I discovered same.
I have (just) created a PR for this: #8857
It is currently building.
Since we do not have a IPv6-only machine to test on, could you give it a try?

@c0di11a
Copy link
Author

c0di11a commented Sep 24, 2024

Sure. I also described how I disabled IPv4 if it helps. (I'll see if I can set the build system here from my colleagues)

@c0di11a
Copy link
Author

c0di11a commented Sep 25, 2024

rerunning above steps now is smooth with no error. I will test further the rabbitmq, I hope it's fine now.

@bmk
Copy link
Contributor

bmk commented Oct 1, 2024

A patch for this has been release with 27.1.1
A patch for 26 will be released at a later date.

@bmk bmk closed this as completed Oct 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issue is reported as a bug team:PS Assigned to OTP team PS
Projects
None yet
Development

No branches or pull requests

3 participants