-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
WebSearch behind a proxy not working on Windows 10 21H2. #10097
Comments
Did you restart JabRef after adding the SSL certs? MIght be that the certifacte config is evaluated at startup |
Yes, I restarted as Jabref recommends after importing the certificate. In fact, the network connectivity test passed both without and with the SSL certificate on the Preferences->Network page. With the SSL certificate though, it takes several noticeable seconds to report back success. The WebSearch fucntionality doesn't work in either case. The behavior is same with ArXiv fetcher as well. |
We also use custom proxies sometimes for applications that cannot pick up the default Windows settings, I tried with those as well. Now, when I try to search for "computers" on ACM portal, I see the following error message com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 26 path $ |
That seems like there is something else coming back, mabye html or whatever, but not json... |
ok: searching for "computer", results across portals as follows - ArXiv portal WebSearch works with custom proxies and SSL certificate import. |
Do you see anything in the log (despite the exception), something about SSL verification or similar? I am just looking at the code, trying to figure out where the certs are used. @HoussemNasri If I recall correctly, you worked on this some time ago, do you remember where this setting of the certs happens? |
For ACM Portal, searching for "computer", the event log shows -Error importing Import canceled For DOAJ, event log reads -Error importing Import canceled For Crossref, event log reads -Import canceled Could not parse entry Could not parse entry Could not parse entry Import canceled Import canceled |
Can you try this version? https://builds.jabref.org/pull/10099/merge |
@bhatiaa1 Any chance already testing the version I linked? That would be highly appreciated |
Hi @Siedlerchr, I tried the fixed version in portable mode (doing an admin level install will take significantly longer). Portable mode requires me to use "troubleshoot compatibility" mode in Windows (as before). ArXiv WebSearch continues to work fine with my corporate custom proxies and SSL certificate, ACM search on "computer" fails again with the following message - Error importing Import canceled |
Hi @bhatiaa1 Thanks for providing all the info. First, we need to make sure that the issue originates from JabRef, not the proxy. So can you open this Url in your browser and see if it returns a valid JSON? Also, how did you configure the proxy? was it on the OS level or in JabRef (by enabling the custom proxy preference) or both? It's interesting that all errors are triggered by an invalid JSON response, for example, the ACM Portal fetcher will first look up the DOI of the entry by scarping the HTML of the ACM website then it will perform another request with the DOI to get the JSON. This means that the first request was a success. |
Hi @HoussemNasri - confirming that pasting the url from above post into the browser returns a long page with lot of content in it (I assume it is JSON). Pasting first few and last few lines from the response below. For the custom proxy, I am manually adding the proxy inside the JabRef and similarly, I am importing the SSL certificate as well within JabRef Preferences.
|
To reproduce this, it gets hard. I assume:
Does anyone have recommendations for such a setup? Maybe with autosetup using Vagrant, teraform or similar tools? |
JabRef version
Latest development branch build (please note build date below)
Operating system
Windows
Details on version and operating system
Windows 10 21H2
Checked with the latest development build
Steps to reproduce the behaviour
WebSearch on JabRef 5.4 works fine within the same corporate firewalled network environment and on the same Windows 10 computer.
Install JabRef 5.10 within a corporate firewall environment on Windows 10 computer, post install details as follows.
JabRef 5.10--2023-07-18--34ac6d1
Windows 10 10.0 amd64
Java 21-internal
JavaFX 20+19
Import SSL certificate within Preferences->Network
Verify internet connectivity using the button in Preferences->Network. Confirmed that it works.
Go to Jabref WebSearch, choose ACM for searching. Search for keyword "computer".
Error message pops up in a window
"Unhandled Exception occurred"
"A network error happened while fetching from https://dl.acm.org/action/doSearch?AllField=computer"
Detailed trace as below -
org.jabref.logic.importer.FetcherException: A network error occurred while fetching from https://dl.acm.org/action/doSearch?AllField=computer
at [email protected]/org.jabref.logic.importer.SearchBasedParserFetcher.getBibEntries(Unknown Source)
at [email protected]/org.jabref.logic.importer.SearchBasedParserFetcher.performSearch(Unknown Source)
at [email protected]/org.jabref.logic.importer.SearchBasedFetcher.performSearch(Unknown Source)
at [email protected]/org.jabref.gui.importer.fetcher.WebSearchPaneViewModel.lambda$search$2(Unknown Source)
at [email protected]/org.jabref.gui.util.BackgroundTask$1.call(Unknown Source)
at [email protected]/org.jabref.gui.util.DefaultTaskExecutor$1.call(Unknown Source)
at [email protected]/javafx.concurrent.Task$TaskCallable.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.net.ConnectException: Connection timed out: no further information
at java.base/sun.nio.ch.Net.pollConnect(Native Method)
at java.base/sun.nio.ch.Net.pollConnectNow(Unknown Source)
at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(Unknown Source)
at java.base/sun.nio.ch.NioSocketImpl.connect(Unknown Source)
at java.base/java.net.SocksSocketImpl.connect(Unknown Source)
at java.base/java.net.Socket.connect(Unknown Source)
at java.base/sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
at java.base/sun.net.NetworkClient.doConnect(Unknown Source)
at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source)
at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source)
at java.base/sun.net.www.protocol.https.HttpsClient.(Unknown Source)
at java.base/sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.base/java.net.HttpURLConnection.getResponseCode(Unknown Source)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
at [email protected]/org.jabref.logic.net.URLDownload.openConnection(Unknown Source)
at [email protected]/org.jabref.logic.net.URLDownload.asInputStream(Unknown Source)
... 13 more
Appendix
...
Log File
The text was updated successfully, but these errors were encountered: