Stream: IG creation
Topic: Is this an IG Publisher issue?
Yan Heras (Dec 06 2021 at 17:52):
Ever since I got the latest IG Publisher yesterday, I am starting to have issue and not able to build locally. The build keeps failing due to error fetching package hl7.fhir.us.core#4.1.0 from server. The Risk Adjustment IG that I am building does not even point to us.core#4.1.0 anywhere. Could this be a possible issue with the IG Publisher? Below is the error message:
Yan Heras (Dec 06 2021 at 17:52):
2021-12-06 09:27:32.419 [main] INFO o.h.f.u.npm.BasePackageCacheManager [BasePackageCacheManager.java:80] Failed to resolve package hl7.fhir.us.core#4.1.x from server: https://packages2.fhir.org/packages (https://packages2.fhir.org/packages/hl7.fhir.us.core/4.1.x)
Publishing Content Failed: Error fetching package directly (http://hl7.org/fhir/us/core/4.1.0/package.tgz), or fetching package list for hl7.fhir.us.core from http://hl7.org/fhir/us/core/package-list.json: Unable to fetch: Server returned HTTP response code: 400 for URL: http://hl7.org/fhir/us/core/4.1.0/package.tgz (01:02.0018)
(01:02.0020)
Use -? to get command line help (01:02.0021)
(01:02.0022)
Stack Dump (for debugging): (01:02.0023)
org.hl7.fhir.exceptions.FHIRException: Error fetching package directly (http://hl7.org/fhir/us/core/4.1.0/package.tgz), or fetching package list for hl7.fhir.us.core from http://hl7.org/fhir/us/core/package-list.json: Unable to fetch: Server returned HTTP response code: 400 for URL: http://hl7.org/fhir/us/core/4.1.0/package.tgz
at org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.fetchTheOldWay(FilesystemPackageCacheManager.java:722)
at org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.loadFromPackageServer(FilesystemPackageCacheManager.java:223)
at org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.loadPackage(FilesystemPackageCacheManager.java:507)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.fetchLatestUSCore(USRealmBusinessRules.java:176)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.checkSD(USRealmBusinessRules.java:99)
at org.hl7.fhir.igtools.publisher.Publisher.checkConformanceResources(Publisher.java:4173)
at org.hl7.fhir.igtools.publisher.Publisher.loadConformance(Publisher.java:4102)
at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:942)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:794)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:8942)
Caused by: org.hl7.fhir.exceptions.FHIRException: Unable to fetch: Server returned HTTP response code: 400 for URL: http://hl7.org/fhir/us/core/4.1.0/package.tgz
at org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.fetchFromUrlSpecific(FilesystemPackageCacheManager.java:525)
at org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.fetchTheOldWay(FilesystemPackageCacheManager.java:719)
... 9 more
Lloyd McKenzie (Dec 06 2021 at 18:29):
Do any of the IGs you depend on depend on US Core?
Yan Heras (Dec 06 2021 at 18:48):
Yes, but it is version 4.0.0 and 3.1.0, not 4.1.0
Grahame Grieve (Dec 06 2021 at 22:31):
how do i reproduce this? I can't
Vassil Peytchev (Dec 06 2021 at 22:57):
I think it is this IG, but I haven't tried it: https://github.com/HL7/davinci-ra/
Jean Duteau (Dec 06 2021 at 22:57):
it is, but I just cloned it and it ran without any errors
Corey Spears (Dec 06 2021 at 23:27):
@Dave Hill ran into a similar issue recently. I can't say it is the same thing, but the same sort of issue has appeared on the CI build, but seems intermittent. Sometimes just forcing a CI rebuild fixed it. It seems challenging to track down since it is intermittent without code changes.
Grahame Grieve (Dec 06 2021 at 23:57):
Right. I've tried several times but I can't reproduce it and don't have any insights from the code
Yan Heras (Dec 07 2021 at 18:34):
I tried it using another IG (the DEQM IG) and getting the same error for can't find us core 4.1.0 package. I asked Rob Reynolds to build the risk adjustment IG and he didn't get any errors, so I am not sure what's going on. I re-cloned the RA IG and it didn't help. I haven't changed anything on my end.
Yan Heras (Dec 07 2021 at 18:37):
@Corey Spears how do I force a CI rebuild?
Lynn Laakso (Dec 07 2021 at 19:12):
from https://fhir.github.io/auto-ig-builder/builds.html
Yan Heras (Dec 07 2021 at 19:32):
Thanks Lynn. I will give it a try.
Yan Heras (Dec 07 2021 at 21:36):
Well, forcing a CI rebuild did not resolve the issue, but I figured out a way to fix it. I manually downloaded the us core 4.1.0 package and added to the cache package-client folder and I am now able to build. However, I have no idea why the build is asking to download us core 4.1.0 package because it is not called anywhere in the IG. Maybe something hidden somewhere is causing the issue? I guess besides the IG Publisher update, the other potential variable that I can think about is that I did notice that US Core build site was last generated on 12/6 and that was the same date when I began to encounter this build issue.
Yan Heras (Dec 07 2021 at 21:37):
actually the date was 12/5 when I started to see the issue, and US Core had a build that date too.
Grahame Grieve (Dec 07 2021 at 22:56):
I can't understand why you haev to download the package manually, when it should just download automatically and it does for most people
Grahame Grieve (Dec 07 2021 at 22:58):
and I can't test. I'm wondering whether you have a caching issue - a corporate web proxy that's screwing it up
Yan Heras (Dec 07 2021 at 23:29):
All other packages are downloaded automatically. But for some reason the publisher/build is looking for us.core.4.1.0 package and failing to download it. The problem is that the RA IG is not even using version 4.1.0 and I can't figure out why the build is even trying to download 4.1.0. I never had this problem before and I haven't changed any environment settings.
Grahame Grieve (Dec 07 2021 at 23:32):
4.1.0 was published, and all US realm guides look in the lastest US Core to see that the conform
Yan Heras (Dec 08 2021 at 01:21):
Thanks Grahame, that explains why it tries to look for 4.1.0, but it is weird that this is the only package that doesn't download automatically for me.
Corey Spears (Dec 08 2021 at 06:09):
Is it appropriate that all US realm guides are checked against a yet to be balloted version of US Core? It does not seem that ballot versions should be looked at for conformance unless the IG is specifically dependent on that version. Just before going to ballot QA review I got a surprised new warning that my IG was not conformant to a brand new profile that was first created less than a month ago.
Grahame Grieve (Dec 08 2021 at 06:13):
well, I don't think that should be a problem from a process point of view. I don't think we'd say something couldn't ballot because of a warning like that. And it's better to know earlier than later
Eric Haas (Jan 17 2022 at 17:53):
I am getting this error now after loading latest IG pub and running the US Core CI Build locally. Deleting caches and trying again...
Eric Haas (Jan 17 2022 at 18:07):
no dice getting:
Validating Conformance Resources (02:26.0939)
Publishing Content Failed: Server returned HTTP response code: 400 for URL: https://hl7.org/fhir/us/core/package-list.json?nocache=1642442621598 (03:09.0101)
(03:09.0105)
Use -? to get command line help (03:09.0107)
(03:09.0110)
Stack Dump (for debugging): (03:09.0115)
java.io.IOException: Server returned HTTP response code: 400 for URL: https://hl7.org/fhir/us/core/package-list.json?nocache=1642442621598
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)
at java.base/sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1963)
at java.base/sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1958)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1957)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1525)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1509)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:245)
at org.hl7.fhir.utilities.SimpleHTTPClient.get(SimpleHTTPClient.java:150)
at org.hl7.fhir.utilities.SimpleHTTPClient.get(SimpleHTTPClient.java:108)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.fetchJson(USRealmBusinessRules.java:199)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.fetchLatestUSCore(USRealmBusinessRules.java:176)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.checkSD(USRealmBusinessRules.java:103)
at org.hl7.fhir.igtools.publisher.Publisher.checkConformanceResources(Publisher.java:4190)
at org.hl7.fhir.igtools.publisher.Publisher.loadConformance(Publisher.java:4119)
at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:947)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:798)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:9033)
Caused by: java.io.IOException: Server returned HTTP response code: 400 for URL: https://hl7.org/fhir/us/core/package-list.json?nocache=1642442621598
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1913)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1509)
at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:329)
at org.hl7.fhir.utilities.SimpleHTTPClient.get(SimpleHTTPClient.java:136)
... 9 more
Eric Haas (Jan 17 2022 at 18:10):
trying the CI build....
Grahame Grieve (Jan 17 2022 at 19:37):
what version?
Eric Haas (Jan 18 2022 at 00:22):
works with CI Build... I 'll run locally once more to make sure....
Eric Haas (Jan 18 2022 at 00:24):
FHIR IG Publisher Version 1.1.97 (Git# 32b147b5e630). Built 2022-01-18T00:06:35.489Z (17 mins old)
Eric Haas (Jan 18 2022 at 01:05):
deleted entire local cache but still same error locally, any more suggestions to get this to build locally?
Grahame Grieve (Jan 18 2022 at 01:36):
can you access https://hl7.org/fhir/us/core/package-list.json in your browser?
Eric Haas (Jan 18 2022 at 03:07):
yes
Grahame Grieve (Jan 18 2022 at 03:28):
hmm. strange...
Grahame Grieve (Jan 18 2022 at 03:30):
I can't think how to investigate. @David Otasek have you got any ideas - why would accessing this URL in java get a 400 in Java on one particular computer and not others?
Grahame Grieve (Jan 18 2022 at 03:30):
Eric, what Java version are you running? On what OS?
Eric Haas (Jan 18 2022 at 05:54):
MacOS Mojave,
ERICS-AIR-2:US-Core-R4 ehaas$ java --version
java 10.0.2 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)
David Otasek (Jan 18 2022 at 14:31):
From Eric's description, the first thing I'd be checking is whether or not Java 18 is the culprit. It shouldn't be, but it happens. What steps would I have to follow to replicate ?
From the code on https://github.com/HL7/davinci-ra/ I believe I would run _updatePublisher.sh and then _genonce.sh. Is this correct?
Yan Heras (Jan 18 2022 at 18:47):
I got the same error as Eric when I used 1.1.95 last Friday. I switched back to an older version 1.1.90 that I have locally and it builds no problem. I also tried cleaning the cache and didn't work.
Yan Heras (Jan 18 2022 at 18:49):
The error is with building locally with 1.1.95. After I build locally with 1.1.90 it commits fine in the CI build.
Yan Heras (Jan 18 2022 at 18:51):
@David Otasek yes, if you use davinci-ra. I used _genonce.bat, but I think .sh gives the same issue.
Yan Heras (Jan 18 2022 at 18:53):
This is the Jira version I use:
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
Jens Villadsen (Jan 18 2022 at 18:54):
@Eric Haas run it in docker instead ... then all your environment variables stays the same
Jens Villadsen (Jan 18 2022 at 18:55):
eg.: rm -rf output && rm -rf temp/ && docker run -v $(pwd):/home/publisher/ig hl7fhir/ig-publisher-base:latest /bin/bash -c "cd /home/publisher/ig && ./_updatePublisher.sh -y -f && ./_genonce.sh -Xms1G -Xmx4G"
Jens Villadsen (Jan 18 2022 at 18:56):
And your Java version, Jekyll version and what-not-version also stays the same
David Otasek (Jan 18 2022 at 21:50):
Not much luck replicating here. I'm running _genonce.sh locally without exceptions.
I've also tried replicating @Eric Haas 's failure with a unit test using the latest FHIR core build. The query is pretty straightforward, and no version of Java appears to have trouble with it. There is no change in that area of the code that should impact that query.
Still investigating.
David Otasek (Jan 18 2022 at 23:22):
I made a branch of davinci-ra with additional http logging: https://github.com/dotasek/davinci-ra/tree/http-debug
If you pull this and run _genonce.sh, it should produce a davinci-http.log file in your home folder that we may be able to analyze to get more information on why this is failing on your configuration.
Eric Haas (Jan 18 2022 at 23:29):
@Yan Heras can you send me your old ig-pub version? ( I wiped my trashcan :-( )
Yan Heras (Jan 18 2022 at 23:40):
@Eric Haas just sent you via skype. Too big to send through email.
Yan Heras (Jan 18 2022 at 23:48):
@David Otasek I just run the build using your branch. I can't find the davinci-http.log file.
Yan Heras (Jan 18 2022 at 23:48):
I am still getting the error message: Validating Conformance Resources (00:46.0975)
Publishing Content Failed: Server returned HTTP response code: 400 for URL: https://hl7.org/fhir/us/core/package-list.json?nocache=1642549543032 (00:52.0750)
(00:52.0751)
Use -? to get command line help (00:52.0752)
(00:52.0752)
Stack Dump (for debugging): (00:52.0753)
java.io.IOException: Server returned HTTP response code: 400 for URL: https://hl7.org/fhir/us/core/package-list.json?nocache=1642549543032
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$10.run(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$10.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
at org.hl7.fhir.utilities.SimpleHTTPClient.get(SimpleHTTPClient.java:150)
at org.hl7.fhir.utilities.SimpleHTTPClient.get(SimpleHTTPClient.java:108)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.fetchJson(USRealmBusinessRules.java:199)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.fetchLatestUSCore(USRealmBusinessRules.java:176)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.checkSD(USRealmBusinessRules.java:103)
at org.hl7.fhir.igtools.publisher.Publisher.checkConformanceResources(Publisher.java:4190)
at org.hl7.fhir.igtools.publisher.Publisher.loadConformance(Publisher.java:4119)
at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:947)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:798)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:9079)
Caused by: java.io.IOException: Server returned HTTP response code: 400 for URL: https://hl7.org/fhir/us/core/package-list.json?nocache=1642549543032
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.HttpURLConnection.getResponseCode(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
at org.hl7.fhir.utilities.SimpleHTTPClient.get(SimpleHTTPClient.java:136)
... 9 more
Yan Heras (Jan 18 2022 at 23:49):
using 1.1.97 and on Windows 10
Eric Haas (Jan 19 2022 at 00:21):
I can confirm that switching back to an older version 1.1.90 builds locally with no problem. (thanks @Yan Heras )
Eric Haas (Jan 19 2022 at 00:27):
Despite the fact that the http error does not seem to indicate this would be the issue and I can fetch them in my browser, Could the content of the package-list file be causing the problem? The uscore package-list files contain large markdown files that have caused Grahame headaches in the past.
David Otasek (Jan 19 2022 at 14:38):
@Eric Haas I can definitely check if the file size is an issue, but a 400 error would indicate that something is wrong with the request, not the response.
@Yan Heras Try pulling the latest change I did on that branch; the davinci-http.log
log file should now appear in your davinci-ra project after a run. You can also verify that there is a logging.properties
file in that directory, as that will ensure you are on the right branch.
Yan Heras (Jan 19 2022 at 17:32):
Thanks @David Otasek . Here is the generated davinci-http.log file. davinci-http.log
David Otasek (Jan 19 2022 at 19:12):
@Yan Heras Here's something you could follow up on, based on that log:
I found this description of the failure:
FINE: sun.net.www.MessageHeader@1000d54d6 pairs: {null: HTTP/1.1 400 Bad Request}{Content-Type: text/html; charset=us-ascii}{Server: Microsoft-HTTPAPI/2.0}{Date: Wed, 19 Jan 2022 17:28:57 GMT}{Connection: close}{Content-Length: 339}
The key there may be the server field: `Microsoft-HTTPAPI/2.0. A quick google led me to this, which indicates that it could be something locally configured that's blocking the request.
https://stackoverflow.com/questions/35277668/get-request-to-iis-returns-microsoft-httpapi-2-0
David Otasek (Jan 19 2022 at 19:12):
This is new territory for me, so I have no immediate answer.
David Otasek (Jan 19 2022 at 19:22):
The first answer on that thread suggests taking a look in the config for the HTTP.sys service, which can be found in the windows registry under HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
I will try to replicate this on one of my Windows boxes, but my result may vary (I still need to set up Jekyll/Ruby/etc).
David Otasek (Jan 19 2022 at 19:22):
If you can find that config, maybe I can compare it with my default.
Yan Heras (Jan 20 2022 at 16:27):
Thanks @David Otasek I will look for the config. It is strange though that the older version 1.1.90 builds just fine.
David Otasek (Jan 20 2022 at 16:28):
@Yan Heras
David Otasek (Jan 20 2022 at 16:37):
What I suspect triggered it is the migration to https for that particular endpoint. https should not be a problem (hence why I can't replicate), but it looks like we hit an edge case here.
Eric Haas (Jan 20 2022 at 17:08):
@Yan Heras let me know if it works. then I can figure out for mac os
Grahame Grieve (Jan 27 2022 at 03:10):
this does sound like a proxy issue, and we will continue to migrating to https across the board, so I guess this will come up for others
David Otasek (Jan 27 2022 at 19:54):
I can verify that this works for me on Windows, and the multi-platform test I created here appears to indicate it works across all the OS's in our core build: https://github.com/hapifhir/org.hl7.fhir.core/pull/718
Eric Haas (Jan 28 2022 at 20:43):
(deleted)
Grahame Grieve (Jan 28 2022 at 20:45):
is this in the right topic?
Eric Haas (Jan 28 2022 at 23:07):
oops :-)
Eric Haas (Jan 29 2022 at 04:33):
The latest version of the publisher still does not work locally for me and I continue to use an old version of the publisher. What do I need to do?
Grahame Grieve (Jan 29 2022 at 05:49):
well, you could start by saying why it doesn't work locally
Eric Haas (Jan 29 2022 at 06:52):
The reasons are documented in the thread above.
Grahame Grieve (Jan 29 2022 at 20:41):
so you can fetch https://hl7.org/fhir/us/core/package-list.json?nocache=1642442621598 in your browser?
Eric Haas (Jan 31 2022 at 17:15):
yep...
Eric Haas (Jan 31 2022 at 17:31):
once again same error when run ig-pub:
java -jar /Users/ehaas/Downloads/org.hl7.fhir.igpublisher.jar -ig ig.ini -tx http://tx.fhir.org
FHIR IG Publisher Version 1.1.97 (Git# 32b147b5e630). Built 2022-01-18T00:06:35.489Z (13 days old)
Detected Java version: 10.0.2 from /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home on Mac OS X/x86_64 (64bit). 2048MB available
dir = /Users/ehaas/Documents/FHIR/Davinci-CDEX, path = /Library/Frameworks/Python.framework/Versions/3.9/bin:/usr/local/opt/ruby/bin:/usr/local/opt/ruby/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Ant-1.10.5/bin:/opt/X11/bin:/Users/ehaas/.rvm/bin
Parameters: -ig ig.ini -tx http://tx.fhir.org
Start Clock @ Monday, January 31, 2022 at 9:21:36 AM Pacific Standard Time (2022-01-31T09:21:36-08:00)
API keys loaded from /Users/ehaas/fhir-api-keys.ini (00:00.0152)
Package Cache: /Users/ehaas/.fhir/packages (00:00.0165)
Load Template from hl7.davinci.template#current (00:03.0572)
Load Template from hl7.fhir.template#current (00:06.0266)
Load Template from hl7.base.template#current (00:06.0322)
Load Template from fhir.base.template#current (00:06.0454)
onLoad.findSpreadsheets:
onLoad.updateIg:
[xslt] Processing /Users/ehaas/Documents/FHIR/Davinci-CDEX/template/onLoad-ig-working.xml to /Users/ehaas/Documents/FHIR/Davinci-CDEX/template/onLoad-ig-updated.xml
[xslt] Loading stylesheet /Users/ehaas/Documents/FHIR/Davinci-CDEX/template/scripts/onLoad.xslt
onLoad.extend:
onLoad:
Root directory: /Users/ehaas/Documents/FHIR/Davinci-CDEX (00:14.0135)
Core Package hl7.fhir.r4.core#4.0.1
Terminology Cache is at /Users/ehaas/Documents/FHIR/Davinci-CDEX/input-cache/txcache. 5 files in cache (00:28.0317)
Connect to Terminology Server at http://tx.fhir.org (00:28.0360)
Load Package hl7.fhir.pubpack#0.0.9
Load Package hl7.fhir.xver-extensions#0.0.8
Load Package hl7.terminology.r4#3.0.0
Load Package hl7.fhir.us.core#3.1.1
Load Package hl7.fhir.us.core#3.1.0
Load Package hl7.fhir.us.davinci-hrex#0.2.0
Load Package hl7.fhir.us.davinci-pas#1.0.0
Initialization complete (00:40.0406)
Fetch http://hl7.org/fhir/us/davinci-cdex/package-list.json for version check (00:40.0413)
Load Content (00:40.0753)
loadPrePages from FetchedFile[/Users/ehaas/Documents/FHIR/Davinci-CDEX/input/includes] as /Users/ehaas/Documents/FHIR/Davinci-CDEX/input/includes
loadPrePages from FetchedFile[/Users/ehaas/Documents/FHIR/Davinci-CDEX/fsh-generated/includes] as /Users/ehaas/Documents/FHIR/Davinci-CDEX/fsh-generated/includes
loadPrePages from FetchedFile[/Users/ehaas/Documents/FHIR/Davinci-CDEX/input/data] as /Users/ehaas/Documents/FHIR/Davinci-CDEX/input/data
loadPrePages from FetchedFile[/Users/ehaas/Documents/FHIR/Davinci-CDEX/input/intro-notes] as /Users/ehaas/Documents/FHIR/Davinci-CDEX/input/intro-notes
loadPrePages from FetchedFile[/Users/ehaas/Documents/FHIR/Davinci-CDEX/input/pagecontent] as /Users/ehaas/Documents/FHIR/Davinci-CDEX/input/pagecontent
Processing Conformance Resources (00:41.0933)
Generating Snapshots (00:42.0554)
Generating Narratives (00:42.0775)
Validating Conformance Resources (01:07.0590)
Publishing Content Failed: Server returned HTTP response code: 400 for URL: https://hl7.org/fhir/us/core/package-list.json?nocache=1643649769086 (01:11.0061)
(01:11.0064)
Use -? to get command line help (01:11.0065)
(01:11.0066)
Stack Dump (for debugging): (01:11.0067)
java.io.IOException: Server returned HTTP response code: 400 for URL: https://hl7.org/fhir/us/core/package-list.json?nocache=1643649769086
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)
at java.base/sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1963)
at java.base/sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1958)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1957)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1525)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1509)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:245)
at org.hl7.fhir.utilities.SimpleHTTPClient.get(SimpleHTTPClient.java:150)
at org.hl7.fhir.utilities.SimpleHTTPClient.get(SimpleHTTPClient.java:108)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.fetchJson(USRealmBusinessRules.java:199)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.fetchLatestUSCore(USRealmBusinessRules.java:176)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.checkSD(USRealmBusinessRules.java:103)
at org.hl7.fhir.igtools.publisher.Publisher.checkConformanceResources(Publisher.java:4190)
at org.hl7.fhir.igtools.publisher.Publisher.loadConformance(Publisher.java:4119)
at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:947)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:798)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:9079)
Caused by: java.io.IOException: Server returned HTTP response code: 400 for URL: https://hl7.org/fhir/us/core/package-list.json?nocache=1643649769086
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1913)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1509)
at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:329)
at org.hl7.fhir.utilities.SimpleHTTPClient.get(SimpleHTTPClient.java:136)
... 9 more
=== rename the input/_fsh folder to input/fsh ===
ERICS-AIR-2:Davinci-CDEX ehaas$
Grahame Grieve (Jan 31 2022 at 19:58):
you didn't answer my question - can you access that in a browser?
Eric Haas (Feb 01 2022 at 00:33):
yes
Grahame Grieve (Feb 01 2022 at 01:10):
well, next version of the publisher will include some more debugging. This is obviously a proxy issue, but I don't have any idea what the issue is
Grahame Grieve (Feb 01 2022 at 07:14):
try again with 1.1.98
Eric Haas (Feb 01 2022 at 22:10):
Grahame Grieve said:
try again with 1.1.98
I tracked down what causes this error. When our friend the Implementation Guide resource has an id that begins with "hl7.fhir.us." you get this error at the "Validating Conformance Resources" step. For example:
This will throw and error:
resourceType: ImplementationGuide
id: hl7.fhir.us.healthedata1-sandbox #<<<<<Begins with "hl7.fhir.us."
url: >-
http://hl7.org/fhir/us/davinci-cdex/ImplementationGuide/hl7.healthedata1-sandbox
version: 1.0.0
...
This will not:
resourceType: ImplementationGuide
id: healthedata1-sandbox #<<<<<Does not begin with "hl7.fhir.us."
url: >-
http://hl7.org/fhir/us/davinci-cdex/ImplementationGuide/hl7.healthedata1-sandbox
version: 1.0.0
...
So any US Realm ig that that uses the package id as their Implementation Guide Resource ID will get this error e.g., hl7.fhir.us.davinci-cdex
Eric Haas (Feb 01 2022 at 22:11):
@Yan Heras FYI
Grahame Grieve (Feb 01 2022 at 23:11):
well, yes, any US implementation guide, as judged by the package id, will try to run the code that's failing.
Grahame Grieve (Feb 01 2022 at 23:11):
hacking the package id might work around the problem but isn't actually a solution
Yan Heras (Feb 02 2022 at 18:41):
Thanks @Eric Haas. I renamed our ig resource id to davindi-ra, the 1.1.98 still gives me the same 400 error for use core. Is the work around to change the us-core package id?
Eric Haas (Feb 02 2022 at 19:52):
@Yan Heras I was able to recreate the error in the base template using my test build by changing the Implementation Guide FHIR ID. Nothing else that I tried caused the error. Updating the CDEX IG FHIR ID from hl7.fhir.us.davinci-cdex
to davinci-cdex
fixed it for the base template , but the davinci template requires it begin with :
ImplementationGuide.id must be in the form "hl7.[family].[realm].id" where family is cda, fhir, v2 or other
so still stuck... :-(
Eric Haas (Feb 02 2022 at 19:55):
@Grahame Grieve I thought this might be a useful clue to solving the bug.
Grahame Grieve (Feb 02 2022 at 20:01):
no all this with the package id is irrelevant. The question is, how did the error change?
Eric Haas (Feb 02 2022 at 20:09):
I don't know if your question is rhetorical but the error did not change, it appears and disappeared depending on the IG resource id
Grahame Grieve (Feb 02 2022 at 20:10):
you still get exactly the same error? weird. Are you really sure? the error you were getting is a java error and I changed that bit and it should be some different error now
Yan Heras (Feb 02 2022 at 20:19):
I still get the same error with 1.1.98 after renaming the ig resource id to davinci-ra.
Validating Conformance Resources (00:57.0654)
Publishing Content Failed: Invalid HTTP response 400 from https://hl7.org/fhir/us/core/package-list.json?nocache=1643832874543 (01:00.0966)
(01:00.0968)
Use -? to get command line help (01:00.0969)
(01:00.0969)
Stack Dump (for debugging): (01:00.0970)
java.io.IOException: Invalid HTTP response 400 from https://hl7.org/fhir/us/core/package-list.json?nocache=1643832874543
at org.hl7.fhir.utilities.SimpleHTTPClient$HTTPResult.checkThrowException(SimpleHTTPClient.java:70)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.fetchJson(USRealmBusinessRules.java:200)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.fetchLatestUSCore(USRealmBusinessRules.java:176)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.checkSD(USRealmBusinessRules.java:103)
at org.hl7.fhir.igtools.publisher.Publisher.checkConformanceResources(Publisher.java:4198)
at org.hl7.fhir.igtools.publisher.Publisher.loadConformance(Publisher.java:4127)
at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:949)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:800)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:9099)
Grahame Grieve (Feb 02 2022 at 20:25):
it is different
Yan Heras (Feb 02 2022 at 20:57):
you are right
Grahame Grieve (Feb 02 2022 at 21:14):
try again with http://www.healthintersections.com.au/org.hl7.fhir.publisher.cli-1.1.99-SNAPSHOT.jar
Yan Heras (Feb 02 2022 at 21:20):
Validating Conformance Resources (00:56.0721)
Publishing Content Failed: Invalid HTTP response 400 from https://hl7.org/fhir/us/core/package-list.json?nocache=1643836764833 (01:00.0656)
(01:00.0657)
Use -? to get command line help (01:00.0658)
(01:00.0659)
Stack Dump (for debugging): (01:00.0660)
java.io.IOException: Invalid HTTP response 400 from https://hl7.org/fhir/us/core/package-list.json?nocache=1643836764833
at org.hl7.fhir.utilities.SimpleHTTPClient$HTTPResult.checkThrowException(SimpleHTTPClient.java:70)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.fetchJson(USRealmBusinessRules.java:200)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.fetchLatestUSCore(USRealmBusinessRules.java:176)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.checkSD(USRealmBusinessRules.java:103)
at org.hl7.fhir.igtools.publisher.Publisher.checkConformanceResources(Publisher.java:4198)
at org.hl7.fhir.igtools.publisher.Publisher.loadConformance(Publisher.java:4127)
at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:949)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:800)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:9099)
Press any key to continue . . .
Yan Heras (Feb 02 2022 at 21:22):
Error messages from 1.1.99-SNAPSHOT
Grahame Grieve (Feb 02 2022 at 23:10):
hmm that didn't work. Try again with https://oss.sonatype.org/service/local/repositories/snapshots/content/org/hl7/fhir/publisher/org.hl7.fhir.publisher.cli/1.1.99-SNAPSHOT/org.hl7.fhir.publisher.cli-1.1.99-20220202.230507-2.jar
Eric Haas (Feb 03 2022 at 15:52):
FHIR IG Publisher Version 1.1.99-SNAPSHOT (Git# d2b6b3296deb). Built 2022-02-02T23:05:14.727Z (16 hours old)....
Validating Conformance Resources (01:06.0789)
Publishing Content Failed: Invalid HTTP response 400 from https://hl7.org/fhir/us/core/package-list.json?nocache=1643903080594 (Bad Request) (01:09.0677)
(01:09.0680)
Use -? to get command line help (01:09.0682)
(01:09.0683)
Stack Dump (for debugging): (01:09.0684)
java.io.IOException: Invalid HTTP response 400 from https://hl7.org/fhir/us/core/package-list.json?nocache=1643903080594 (Bad Request)
at org.hl7.fhir.utilities.SimpleHTTPClient$HTTPResult.checkThrowException(SimpleHTTPClient.java:72)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.fetchJson(USRealmBusinessRules.java:200)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.fetchLatestUSCore(USRealmBusinessRules.java:176)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.checkSD(USRealmBusinessRules.java:103)
at org.hl7.fhir.igtools.publisher.Publisher.checkConformanceResources(Publisher.java:4198)
at org.hl7.fhir.igtools.publisher.Publisher.loadConformance(Publisher.java:4127)
at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:949)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:800)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:9099)
=== rename the input/_fsh folder to input/fsh ===
Grahame Grieve (Feb 03 2022 at 20:23):
hmm it's a small step forward
Grahame Grieve (Feb 03 2022 at 23:57):
try again (new release)
Eric Haas (Feb 04 2022 at 00:26):
FHIR IG Publisher Version 1.1.99 (Git# ca030e5586e7). Built 2022-02-03T23:55:44.658Z (28 mins old)
...
Publishing Content Failed: Invalid HTTP response 400 from https://hl7.org/fhir/us/core/package-list.json?nocache=1643934294314 (Bad Request) (content in /var/folders/_n/bhz7c7qd57d85fvm0g7dzdcw0000gn/T/fhir-http-3.log) (01:09.0316)
(01:09.0322)
Use -? to get command line help (01:09.0323)
(01:09.0325)
Stack Dump (for debugging): (01:09.0327)
java.io.IOException: Invalid HTTP response 400 from https://hl7.org/fhir/us/core/package-list.json?nocache=1643934294314 (Bad Request) (content in /var/folders/_n/bhz7c7qd57d85fvm0g7dzdcw0000gn/T/fhir-http-3.log)
at org.hl7.fhir.utilities.SimpleHTTPClient$HTTPResult.checkThrowException(SimpleHTTPClient.java:75)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.fetchJson(USRealmBusinessRules.java:200)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.fetchLatestUSCore(USRealmBusinessRules.java:176)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.checkSD(USRealmBusinessRules.java:103)
at org.hl7.fhir.igtools.publisher.Publisher.checkConformanceResources(Publisher.java:4198)
at org.hl7.fhir.igtools.publisher.Publisher.loadConformance(Publisher.java:4127)
at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:949)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:800)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:9099)
=== rename the input/_fsh folder to input/fsh ===
Grahame Grieve (Feb 04 2022 at 00:26):
please paste the content of /var/folders/_n/bhz7c7qd57d85fvm0g7dzdcw0000gn/T/fhir-http-3.log here
Yan Heras (Feb 04 2022 at 02:59):
I am on Windows. Here is the error message from 1.1.99:
Validating Conformance Resources (00:50.0564)
Publishing Content Failed: Invalid HTTP response 400 from https://hl7.org/fhir/us/core/package-list.json?nocache=1643943327381 (Bad Request) (content in c:\temp\fhir-http-4.log) (00:54.0382)
(00:54.0383)
Use -? to get command line help (00:54.0384)
(00:54.0385)
Stack Dump (for debugging): (00:54.0386)
java.io.IOException: Invalid HTTP response 400 from https://hl7.org/fhir/us/core/package-list.json?nocache=1643943327381 (Bad Request) (content in c:\temp\fhir-http-4.log)
at org.hl7.fhir.utilities.SimpleHTTPClient$HTTPResult.checkThrowException(SimpleHTTPClient.java:75)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.fetchJson(USRealmBusinessRules.java:200)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.fetchLatestUSCore(USRealmBusinessRules.java:176)
at org.hl7.fhir.igtools.publisher.realm.USRealmBusinessRules.checkSD(USRealmBusinessRules.java:103)
at org.hl7.fhir.igtools.publisher.Publisher.checkConformanceResources(Publisher.java:4198)
at org.hl7.fhir.igtools.publisher.Publisher.loadConformance(Publisher.java:4127)
at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:949)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:800)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:9099)
Yan Heras (Feb 04 2022 at 02:59):
Here is what's in c:\temp\fhir-http-4.log
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Invalid Header</h2>
<hr><p>HTTP Error 400. The request has an invalid header name.</p>
</BODY></HTML>
Grahame Grieve (Feb 04 2022 at 03:00):
well, @#$%@ that's a pretty unuseful error message
Grahame Grieve (Feb 04 2022 at 03:07):
https://stackoverflow.com/questions/70980975/how-to-investigate-a-proxy-returning-400
Grahame Grieve (Feb 04 2022 at 03:08):
ok, @Yan Heras and @Eric Haas: are you running anti-virus that performs a MITM attack on your connections? Are you running any kind of network security agent? Are you able to access https://hl7.org/fhir/us/core/package-list.json using cURL? Do you have to set anything in your browser proxy settings for HTTP access to work?
Grahame Grieve (Feb 04 2022 at 03:10):
@David Otasek any ideas with that additional information?
Yan Heras (Feb 04 2022 at 04:35):
I am not running any anti-virus that performs a MITM attack that I am aware of. I am using built-in Windows security. Yes, I am able to access the package-list.json using cURL from command prompt. I don't have to set anything in browser proxy. I can still build the same IG successfully using 1.1.90 and I haven't changed anything in my environment as far as I know.
Yan Heras (Feb 04 2022 at 06:41):
David Otasek said:
If you can find that config, maybe I can compare it with my default.
Here is the screenshot of the parameters HTTP-Parameters.png
Yan Heras (Feb 04 2022 at 06:44):
@David Otasek Tried modifying registries suggested in that stackoverflow link you sent, it did not help. Still getting the 400 error. Also, tried turning off firewall, it did not help either.
David Otasek (Feb 04 2022 at 18:20):
@Grahame Grieve The bad header warning is something we may be able to check if we log the request. I wish it told us what particular header, though.
@Yan Heras I'll explore what my registry looks like; if there's nothing significant, at least we can rule out that cause. What entries did you change in your own registry?
Grahame Grieve (Feb 04 2022 at 18:53):
I wish it told us what particular header, though.
I know. remarkable, really
David Otasek (Feb 04 2022 at 19:03):
From the previous logging that I did with Yan, there doesn't appear to be any obvious header problems. However there is a slight difference in the User-Agent request header:
My header:
{User-Agent: Java/16.0.1}
Yan's header:
{User-Agent: Java/1.8.0_221}
Is there anything on the server side of this query that could be choking on the underscore there?
Gino Canessa (Feb 04 2022 at 20:32):
I would suggest updating Java - it feels like the kind of thing that could have been a version bug/issue/incompatibility between IG publisher and the runtime (I remember seeing things like this in the past). I am running 1.8.0 302 (64-bit) and everything works, if that helps.
edit: note that 1.8.0 v 221 is from 2019, so it's probably a good idea to update if possible anyway =)
David Otasek (Feb 04 2022 at 20:32):
Re: User-Agent header. It seems unlikely; I just tried sending a copy of Yan's query via Insomnia with the same header, and it still runs cleanly.
David Otasek (Feb 04 2022 at 20:33):
(edited)
Grahame Grieve (Feb 04 2022 at 21:21):
it seems very likely to me that's some MITM user proxy. @Yan Heras and @Eric Haas how do you connect to the internet? can you change that or try a different device? This is something that works for everyone else so far.
Yan Heras (Feb 05 2022 at 00:36):
I updated to the most recent 1.8.0_321 (64 bit) and it builds now with 1.1.99! Thank you @Gino Canessa for the suggestion. Thank you @Grahame Grieve and @David Otasek for looking into this. I guess there probably was something changed in a release after 1.1.90 that no longer compatible with the older java version. @Eric Haas do you want to check and see if this solves the problem on your mac?
Bryn Rhodes (Feb 22 2022 at 03:15):
This started happening to me as well with the latest publisher, I was on 11.0.2 (also from 2019), updated to 11.0.14 and working now.
Eric Haas (Feb 28 2022 at 17:26):
me too
Last updated: Apr 12 2022 at 19:14 UTC