Stream: IG creation
Topic: IG Build error
Arvid Thunholm (Jan 19 2021 at 15:40):
Hello,
I'm trying to build an IG for Swedish base patient using IG Builder. It works great except for when I´m trying to create an example Patient and explicity trying to set an extension in the second given name: * name[0].given[1].extension[nameQualifier].valueCode = #CL
When setting the extension on the first given name it works fine, but when refering the second given name I get a build error in sushi. Link to build log in zulip: https://chat.fhir.org/#narrow/stream/179297-committers.2Fnotification/topic/ig-build/near/223241367
Thankful for help!
Jose Costa Teixeira (Jan 19 2021 at 15:55):
Hi Arvid
your error is this
error SUSHI encountered the following unexpected error: Cannot convert undefined or null to object (00:05.0571)
Arvid Thunholm (Jan 19 2021 at 15:58):
:-) Thank you. What does it mean? It only appears when I put an item in other array positions than 0 for given name
Jose Costa Teixeira (Jan 19 2021 at 16:03):
this is a sushi matter (best in the shorthand stream) but this happens when your indices are wrong - like when you define things like
name[1].given[1] without having a name[0]
Jose Costa Teixeira (Jan 19 2021 at 16:04):
your offending line is * name[0].given[1].extension[nameQualifier].valueCode = #CL
Arvid Thunholm (Jan 19 2021 at 16:07):
Thanks, I´ll repost it in the shorthand stream.
Jose Costa Teixeira (Jan 19 2021 at 16:10):
please do, I'll reply there (seems a sushi bug)
Chris Moesel (Jan 19 2021 at 16:19):
As a SUSHI developer, I agree -- this seems like a bug. We'll look into it.
Jose Costa Teixeira (Jan 24 2021 at 11:25):
All the IG builds are failing with the same issue. Not sure if this is reported. Does anyone know?
Jose Costa Teixeira (Jan 24 2021 at 13:27):
@Rob Hausam is everything ok with the terminology server?
Jose Costa Teixeira (Jan 24 2021 at 14:35):
@Mark Iantorno do you know what is wrong with the publisher?
Jose Costa Teixeira (Jan 24 2021 at 14:36):
or the server. My local build works ok but I still haven't updated to the last one. If I can do some tests locally, I'd be glad to
Mark Iantorno (Jan 24 2021 at 14:36):
What is the error
Mark Iantorno (Jan 24 2021 at 14:36):
Send me the message please, and I'll look into it
Jose Costa Teixeira (Jan 24 2021 at 14:37):
https://chat.fhir.org/#narrow/stream/179297-committers.2Fnotification/topic/ig-build/near/223808472
Jose Costa Teixeira (Jan 24 2021 at 14:37):
Exception in thread "main" java.lang.NoClassDefFoundError: okhttp3/Request$Builder
at org.hl7.fhir.r5.utils.client.network.Client.issueGetResourceRequest(Client.java:89)
at org.hl7.fhir.r5.utils.client.FHIRToolingClient.getCapabilitiesStatementQuick(FHIRToolingClient.java:155)
at org.hl7.fhir.convertors.txClient.TerminologyClientR5.getCapabilitiesStatementQuick(TerminologyClientR5.java:99)
at org.hl7.fhir.r5.context.SimpleWorkerContext.connectToTSServer(SimpleWorkerContext.java:298)
at org.hl7.fhir.igtools.publisher.Publisher.initializeFromIg(Publisher.java:1873)
at org.hl7.fhir.igtools.publisher.Publisher.initialize(Publisher.java:1458)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:726)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:8417)
Jose Costa Teixeira (Jan 24 2021 at 14:37):
seems all IGs are having this message
Mark Iantorno (Jan 24 2021 at 14:38):
Terminology server connected successfully, this has to do with a missing library dependency
Jose Costa Teixeira (Jan 24 2021 at 14:38):
confirm - this is an issue with the latest publisher. tried locally - after upgrade, it fails
Mark Iantorno (Jan 24 2021 at 14:39):
the okhttp library is missing, I did just mark it as optional in the build, which is probably what is causing this to occur.
Jose Costa Teixeira (Jan 24 2021 at 14:39):
want me to test anything?
Mark Iantorno (Jan 24 2021 at 14:39):
nono, I know what the issue is, one sec, let me try and put a quick fix in
Mark Iantorno (Jan 24 2021 at 14:40):
if I publish a snapshot, can you test with it ?
Mark Iantorno (Jan 24 2021 at 14:40):
@Jose Costa Teixeira
Jose Costa Teixeira (Jan 24 2021 at 14:41):
I should be able to, yes. I'll go to whatever branch you point me to
Jose Costa Teixeira (Jan 24 2021 at 14:42):
It's been a while so I have to see if my IDE can still handle it - if you send a jar it would save me 15 to 30 mins - so you decide
Jose Costa Teixeira (Jan 24 2021 at 14:44):
I'm setting up the IDE already - let me have the branch or the code change and I will test
Mark Iantorno (Jan 24 2021 at 14:45):
the file is too big to attach to zulip
Mark Iantorno (Jan 24 2021 at 14:45):
I will have to publish a snapshot and you can download from there
Mark Iantorno (Jan 24 2021 at 14:47):
okay, its building right now
Mark Iantorno (Jan 24 2021 at 14:47):
once the pipeline spits out a SNAPSHOT, i'll point you at it
Jose Costa Teixeira (Jan 24 2021 at 14:48):
IDE is ready
Jose Costa Teixeira (Jan 24 2021 at 14:48):
just send me the code
Mark Iantorno (Jan 24 2021 at 14:48):
the line of code?
Jose Costa Teixeira (Jan 24 2021 at 14:48):
yes, for example
Jose Costa Teixeira (Jan 24 2021 at 14:49):
show me where to put it
Mark Iantorno (Jan 24 2021 at 14:49):
open the folder for the project
Mark Iantorno (Jan 24 2021 at 14:49):
there will be a file called pom.xml
Mark Iantorno (Jan 24 2021 at 14:49):
replace it with this file
Mark Iantorno (Jan 24 2021 at 14:49):
Mark Iantorno (Jan 24 2021 at 14:49):
then try and run
Mark Iantorno (Jan 24 2021 at 14:49):
sound good?
Mark Iantorno (Jan 24 2021 at 14:50):
and let me know if that solves the issue. I think it will
Jose Costa Teixeira (Jan 24 2021 at 14:50):
trying
Jose Costa Teixeira (Jan 24 2021 at 14:52):
nope, fails same place, i think
Jose Costa Teixeira (Jan 24 2021 at 14:52):
Exception in thread "main" java.lang.NoClassDefFoundError: okhttp3/Request$Builder
at org.hl7.fhir.r5.utils.client.network.Client.issueGetResourceRequest(Client.java:89)
Mark Iantorno (Jan 24 2021 at 14:52):
hrm
Mark Iantorno (Jan 24 2021 at 14:52):
okay
Mark Iantorno (Jan 24 2021 at 14:52):
one sec
Jose Costa Teixeira (Jan 24 2021 at 14:52):
is there only one pom file?
Jose Costa Teixeira (Jan 24 2021 at 14:52):
(just to make sure I replaced the right thing)
Mark Iantorno (Jan 24 2021 at 14:53):
there are three pom.xml files
Mark Iantorno (Jan 24 2021 at 14:53):
but
Mark Iantorno (Jan 24 2021 at 14:53):
if you just open the base folder
Mark Iantorno (Jan 24 2021 at 14:53):
and replaced that one
Mark Iantorno (Jan 24 2021 at 14:53):
you are fine
Jose Costa Teixeira (Jan 24 2021 at 14:53):
indeed, sorry
Mark Iantorno (Jan 24 2021 at 14:53):
the others require you to open other folders
Mark Iantorno (Jan 24 2021 at 14:53):
don't replace those
Jose Costa Teixeira (Jan 24 2021 at 14:53):
let me do it right now
Mark Iantorno (Jan 24 2021 at 14:53):
nonon
Mark Iantorno (Jan 24 2021 at 14:53):
don't replace those
Mark Iantorno (Jan 24 2021 at 14:53):
nothing will work
Mark Iantorno (Jan 24 2021 at 14:54):
give me a sec to look into this, I know what the issue is. It's a dependency issue that has come up because I marked a dependency as optional in the core library
Mark Iantorno (Jan 24 2021 at 14:54):
because of a conflict in HAPI
Mark Iantorno (Jan 24 2021 at 14:55):
can you send me the commands and files you need to run the command you are running?
Jose Costa Teixeira (Jan 24 2021 at 14:56):
yes, seems to fix it
Jose Costa Teixeira (Jan 24 2021 at 14:57):
sorry, I had to update my launch configuration after i changed the pom
Jose Costa Teixeira (Jan 24 2021 at 14:57):
I replaced the main pom, and it works well now.
Jose Costa Teixeira (Jan 24 2021 at 14:57):
My IG is https://github.com/IHE/pharm-vaccination
Jose Costa Teixeira (Jan 24 2021 at 15:00):
sorry for the mistake. I think this fix is good (at least unbreaks the build)
Jose Costa Teixeira (Jan 24 2021 at 15:00):
my configuration in vscode is
Jose Costa Teixeira (Jan 24 2021 at 15:00):
{
"type": "java",
"name": "Normal Publication",
"request": "launch",
"mainClass": "org.hl7.fhir.igtools.publisher.Publisher",
"args": "-ig .",
"cwd": "C:\\ImplementationGuides\\ihe-pharm-vaccination",
"projectName": "org.hl7.fhir.publisher.core"
},
Jose Costa Teixeira (Jan 24 2021 at 15:01):
to be clear - your fix fixes it.
Jose Costa Teixeira (Jan 24 2021 at 15:01):
my first test was not ok because i messed up
Jose Costa Teixeira (Jan 24 2021 at 15:01):
now it is fine
Mark Iantorno (Jan 24 2021 at 15:02):
nice, I was wondering what was going on
Mark Iantorno (Jan 24 2021 at 15:02):
I'm pushing the fix now
Mark Iantorno (Jan 24 2021 at 15:22):
Latest release of the publisher (1.1.59) has this fix in it. Please let me know if there are any further issues.
Mark Iantorno (Jan 24 2021 at 15:22):
you can get it here: https://github.com/HL7/fhir-ig-publisher/releases/latest/download/publisher.jar
Mark Iantorno (Jan 24 2021 at 15:24):
@Jose Costa Teixeira
Jose Costa Teixeira (Jan 24 2021 at 15:34):
local build works fine after _updatePublisher, as it should
Jose Costa Teixeira (Jan 24 2021 at 15:34):
CI build is fixed.
Jose Costa Teixeira (Jan 24 2021 at 15:34):
Thanks @Mark Iantorno
Mark Iantorno (Jan 24 2021 at 15:43):
So, just to give perspective on what is happening here, recently I updated a large section of the networking library to use a more modern toolset (OkHttp), as opposed to the legacy apache libraries that were being used. The intention is to migrate all networking code out of the r5 module, and into it's own module in the core project, which should resolve all these issues across the various projects that depend on core. Once that is done, we shoudln't see issues like this anymore.
Mark Iantorno (Jan 24 2021 at 15:44):
Thanks for your patience with this
Sarah Gaunt (Jan 25 2021 at 00:04):
So, not to be annoying or anything, but this is the issue that I reported a couple of days ago here: https://github.com/HL7/fhir-ig-publisher/issues/223. Which never did get looked at - so it still seems to me that the way to get things fixed is NOT to raise a Git issue but to report it in Zulip...
Jose Costa Teixeira (Jan 25 2021 at 04:51):
Since this was breaking all the IG builds and nobody could work, at least from my side, it justified that we investigated quickly - zulip is the way to do that
Jean Duteau (Jan 25 2021 at 04:52):
sure, except that Sarah was explicitly told by Mark not to use Zulip but to use JIRA.
Jose Costa Teixeira (Jan 25 2021 at 04:52):
This should have also been on issues.
Jose Costa Teixeira (Jan 25 2021 at 04:52):
It was just urgent to fix it
Jean Duteau (Jan 25 2021 at 04:53):
Mark Iantorno: for issues like this, can you please open an issue in the github repository and tag me on it
Mark Iantorno: include the details and any information you have
Mark Iantorno: zulip is a multi channel dumpster fire where messages go to die
Sarah Gaunt: Is this the correct place @Mark Iantorno : https://github.com/HL7/fhir-ig-publisher/issues ?
Jean Duteau (Jan 25 2021 at 04:54):
i don't care one way or the other but we need to have proper guidance on how to get an issue raised and fixed.
Jose Costa Teixeira (Jan 25 2021 at 04:54):
- Raise an issue
Jose Costa Teixeira (Jan 25 2021 at 04:56):
- If you want, bring up discussion.
- If you can, help as much as possible to fix it.
Jean Duteau (Jan 25 2021 at 04:58):
you are missing the point, so I'll just stop now
Jose Costa Teixeira (Jan 25 2021 at 05:00):
We all have issues that are not seen as urgently as they wanted.
Jose Costa Teixeira (Jan 25 2021 at 05:00):
I don't think we did wrong in discussing in Zulip
Jose Costa Teixeira (Jan 25 2021 at 05:01):
If anyone had told me 'create an issue and wait' I would have accepted it (and still I would have investigated on my side)
Jose Costa Teixeira (Jan 25 2021 at 05:01):
What Mark recommended is correct. I don't read a 'dont discuss'
Jose Costa Teixeira (Jan 25 2021 at 05:02):
And to Sarah's point: i saw that every build was broken. So I asked
Jose Costa Teixeira (Jan 25 2021 at 05:03):
And I did open the IDE to respond to the emergency
Jose Costa Teixeira (Jan 25 2021 at 05:46):
@Sarah Gaunt since this is the same issue, I commented on your issue saying t is fixed now. I hope bringing some more context in Zulip helped.
Thanks @Mark Iantorno for addressing the issue AND my chat in one go, on a sunday.
Lloyd McKenzie (Jan 25 2021 at 05:59):
I think the short answer is:
- build is dead for everyone? - raise alarms everywhere you can
- specific bug with a particular build? - raise a formal issue
Git allows tracking and triage. If everything has blown up, there's not really any triage to happen
Sarah Gaunt (Jan 25 2021 at 06:07):
It's not wrong to bring it up in Zulip obviously.
But when we were specifically just told a couple of days ago to NOT use Zulip as an issue tracker and so I specifically DIDN'T use Zulip and use Git instead (although I did also mention the Git issue in Zulip to raise awareness) and then the Zulip message with the same issue gets addressed, but the Git issue isn't addressed it does make one think that maybe, actually, Git is the place where issues go to die!
And like you said - if you want it looked at quickly (um, isn't that always the case :-) ) then raise it on Zulip!
And btw, I ALWAYS spend a LOT of time investigating an issue (mostly to make sure it's a really issue and not something I'm doing) before I report it.
Sarah Gaunt (Jan 25 2021 at 06:08):
And yes, agreed, thanks @Mark Iantorno for fixing it.
Jose Costa Teixeira (Jan 25 2021 at 07:05):
You did right, @Sarah Gaunt. I don't think we should stop using Zulip for raising issues. I use zulip before creating an issue, or after the issue is created - I believe that is also correct
Jose Costa Teixeira (Jan 25 2021 at 07:07):
Sometimes we just miss Zulip chats, or the urgency is not clear..
Mark Iantorno (Jan 25 2021 at 12:59):
I agree with what Lloyed said. If there is a big issue that is rendering a given tool dead for everyone, raise and alarm, and I'll get on it. But for smaller issues that are just bugs or feature requests, it's best to open a github issue, and let me know.
Mark Iantorno (Jan 25 2021 at 13:05):
I'm covering for Grahame this week, as he is on vacation, so I'm taking on a lot of the bug fixes. Also, going forward, he wants me to take on more of that role, so feel free to contact me about issues you are facing. That being said, @Jean Duteau I asked Sarah to open an issue in GitHub _after_ she brought it up to me on Zulip. If you're having an issue getting your problems addressed, please let me know. I'm going to be trying to take a more formal approach to bugs with the core libraries, because there are too many messages on Zulip to keep track of (I think I have 541 unread since Saturday). So, when an issue, or multiple issues come up, I'm most likely going to request that people create GitHub tickets so I can prioritize them, and have all the information on a bug in one location (as opposed to scrolling through multiple zulips messages to piece together the details). If you have some suggestions on how to better address and categorize issues, please let me know.
Mark Iantorno (Jan 25 2021 at 13:11):
One nice thing about having an issue on Github, is that people can look at the issue list on Github before they bring an issue up on Zulip, and if the issue exists already, they can comment and add information to the existing issue. It makes things easier to track overall.
Mark Iantorno (Jan 25 2021 at 13:13):
...and also echo what Jose said, Sarah didn't do anything wrong here. I just wanted a ticket opened for tracking purposes. It turned out that the whole build was broken, but I didn't know until I did the investigation.
Last updated: Apr 12 2022 at 19:14 UTC