Skip to content

Processing won't start a second time when a system proxy server is set on Linux #438

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

Open
processing-bot opened this issue Mar 7, 2022 · 9 comments
Labels
help wanted Extra attention is needed

Comments

@processing-bot
Copy link
Collaborator

Created by: rapiz1

Description

The IDE will crash after a second start, without any error messages.

Expected Behavior

The IDE can start

Current Behavior

The IDE failed to start at the second time

Steps to Reproduce

  1. Open processing
  2. Quit
  3. Open processing again.

Your Environment

  • Processing version: processing-4.0b6
  • Operating System and OS version: Arch Linux
  • Other information:

Possible Causes / Solutions

After rm -rf ~/.config/processing, the IDE can start.

@processing-bot
Copy link
Collaborator Author

Created by: rapiz1

In preference.txt,

instance_server.key=0.22815461437707485
instance_server.port=37109

is relevant.
If these two lines are deleted, then the next start will work

@processing-bot
Copy link
Collaborator Author

Created by: rapiz1

Background: I have http and sock proxy set, in the KDE Proxy setting.
After reading

socket = new Socket(InetAddress.getLoopbackAddress(), port);
and strace -f ./processing, I found out that processing try to connect the instance server via the proxy. This didn't work, of course.

Seting proxy.system=false in preference.txt solves the issue.

@processing-bot
Copy link
Collaborator Author

Created by: benfry

Hm, I don't personally know enough about system proxies to understand why enabling it would cause connections to localhost break. Maybe someone else can help.

@processing-bot
Copy link
Collaborator Author

Created by: guilhermesilveira

@rapiz1 can you try it with beta 7?

@processing-bot
Copy link
Collaborator Author

Created by: dev01111

Working on a fix for this issue. Maybe we should disable proxys when running singleinstance.java?

@processing-bot
Copy link
Collaborator Author

Created by: rapiz1

I now think a sane proxy implementation should handle the loopback address. I haven't tried processing ever since. Maybe this isn't a issue that processing should fix?

---Original---
From: @.>
Date: Tue, Jun 21, 2022 10:45 AM
To: @.
>;
Cc: "Yujia @.@.>;
Subject: Re: [processing/processing4] Processing won't start a second timewhen a system proxy server is set on Linux (Issue #438)

Working on a fix for this issue. Maybe we should disable proxys when running singleinstance.java?


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

@processing-bot
Copy link
Collaborator Author

Created by: dev01111

#501
This little addition of code doesn't ask the proxy about a private Loopback IP (localhost also known as 127.0.0.1) resolving lots of potential issues. However it is untested, try building this code.

@processing-bot
Copy link
Collaborator Author

Created by: benfry

Ok, thanks; I can't just ship it out without testing, we'd need someone who's dealing with proxies to weigh in.

As far as I know, localhost should not be proxied (why would it be? it's not like the receiving proxy server can redirect traffic back to… 127.0.0.1), but it seems that things have gone back and forth with whether that's the correct behavior in Java or not:

https://bugs.openjdk.org/browse/JDK-8025065
https://bugs.openjdk.org/browse/JDK-6737819

@processing-bot
Copy link
Collaborator Author

Created by: dev01111

Ok, thanks; I can't just ship it out without testing, we'd need someone who's dealing with proxies to weigh in.

As far as I know, localhost should not be proxied (why would it be? it's not like the receiving proxy server can redirect traffic back to… 127.0.0.1), but it seems that things have gone back and forth with whether that's the correct behavior in Java or not:

https://bugs.openjdk.org/browse/JDK-8025065
https://bugs.openjdk.org/browse/JDK-6737819

Java should definitely fix this, I just thought that maybe a temporary solution could be good while the nerds at Oracle work this out.

I also tried building it, no javac errors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant