puma / puma-dev

A tool to manage rack apps in development with puma
BSD 3-Clause "New" or "Revised" License
1.73k stars 106 forks source link

Difference with Linux and MacOS for same code #338

Closed resistorsoftware closed 8 months ago

resistorsoftware commented 8 months ago

I have puma-dev working with MacOS and when I start my ngrok tunnel, it hits my http://localhost:3206 port without trouble, which then gets picked up by puma-dev, and my connection is made. If I run the tunnel on my MacOS machine, but access the website with my Linux machine on the same Wi-Fi network, it works on my Linux box.

So I turn off the tunnel on MacOS, and run the exact same code on my Linux laptop with Puma-dev and it pukes trying to start-up the puma service:

 Exiting
20:50:44 web.1    | /home/dll/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/puma-6.3.0/lib/puma/binder.rb:334:in `initialize': Address already
 in use - bind(2) for "127.0.0.1" port 3206 (Errno::EADDRINUSE)

I am a bit confused as to what this means on the Linux box with Puma-dev. It seems to have trouble doing what MacOS does fine.

Why would Linux think an address was already in use? There are no services or tunnels using this port. Any Linux gurus with Puma Dev know what I am facing here? I am using a version of Arch, and this is seemingly my last hurdle before success.