1

I’m running erl.exe on a machine with IPv6 only and I get an error. I discovered it trying to run RabbitMQ on an IPv6 machine.

Here’s what I have done

  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

This is the error message

=ERROR MSG==== 18446744072343088544 ===
Failed create 'dummy' socket:
   eafnosupport (10047)
=ERROR MSG==== 18446744072343091104 ===
Failed initiating I/O backendErlang/OTP 26 [erts-14.2.3] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]

Eshell V14.2.3 (press Ctrl+G to abort, type help(). for help)

Now, when I run the rabbit I get some other error on top of that, but I suppose the erlang is where I should start.

I tried inserting some content in .inetrc

{inet6, true}.
{tcp, inet6_tcp}.
%% {inet_default_bind_address, {0,0,0,0,0,0,0,0}}.
%% {inet_default_connect_options, [inet6]}.

The two top line parse correctly, but I still get the error message. The two bottom lines wouldn’t parse correctly anyway.

I also tried erl.exe -proto_dist inet6_tcp and the error still persists.

I investigated the sources a bit and I see it's coming from the next line in esaio_init, which seems to rely on IPv4 interface ctrl.dummy = sock_open(AF_INET, SOCK_STREAM, IPPROTO_TCP);

Any suggestions?

thanks in advance

1
  • "%% {inet_default_bind_address, {0,0,0,0,0,0,0,0}}" Do you need to put in the IPv6 addressing instead? Something like "%% {inet_default_bind_address, {::}}" or "_"%% {inet_default_bind_address, {0}}" or "%% {inet_default_bind_address, {0:0:0:0:0:0:0:0}}" Commented Sep 23, 2024 at 13:45

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.