-
Notifications
You must be signed in to change notification settings - Fork 441
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
List of tools that fail containerized tool tests #2701
Comments
What about all these errors like: |
That's something we're working on (the COMMAND_VERSION file doesn't get written in the correct location), but shouldn't be the cause of the error.
So the true error is that something is going wrong with the input sam file. |
Good to know you're fixing this already :-) |
Hi, will try to take care of stacks(2) samtools and maxbin2. PR: Should be done against iuc-repo? Will IUC testing then be in the simple container? |
Yeah, let's test against iuc repo, but no, we don't test against the container yet, I'll see what I can do about #2677 (it should be as simple as that, currently working on the Galaxy PR). If you see and understand any of the errors in the test report feel free to starting PR'ing ... it'll probably still take until Monday or Tuesday for getting things merged into 19.09 / planemo / ... given that it's thanksgiving weekend in the US. |
@wm75 after fixing COMMAND_VERSION being mounted in ro I see this:
we may need to specify the filetype on upload ? |
One error-class that we should look out for is that all Java based tools that do some plotting might miss some fonts in the container. Keep an eye on this. |
Is there some workaround for missing fonts ? A conda package maybe, or a new base container ? |
Yes, but we need to understand the problem at first. For conda-forge we now have: fonts-conda-ecosystem ... but no clue if this fixes our problem. Just something to look out for and ping me if you see it ... goenrichment seems to have this exact problem. |
Oh, and I forgot, the tests run on python 3.7, so there may be another class of errors we may hit in the cheetah templates. |
All or nothing! 🎉 |
For raceid I had to check the actual output file as there is a stderr redirect:
That's of course a problem for debugging things remotely. We may need to provide an alternative docker base image for these cases |
Added dada2 to my list and documented the problems in the original list. Some seem real bugs (samtools and the dada_fetcher). Maxbin 2 just stumbles over tar -x. For dada2 its probably because it uses Rdata files which might be compressed differently on the minimal system and therefore it results in a diff.
I have no idea about why the old stacks tools do not find any of the binaries. Might this be a (temporary) problem with conda? For stacks2 there are minor differences in the test data (I will check if we can/should allow them). |
A strange but maybe easy one is qiime
Also odd: seems to use python2.7 |
I think that's reasonable, unless there's a way we can assert something about what's inside the rdata file. |
This is old matplotlib trying to create it's own tempdir (in a non-standard way) for config files. I think we may be able to fix this by setting |
phew, yep, that seems to work, but has unearthed that Galaxy doesn't mount the job home directory in rw. So adding |
Similar issue with scanpy, which does the following:
so $HOME isn't writable |
detected here galaxyproject#2701 - data manager: real bug fix - bug fix in makeSequencTable: cheetah for testing `plot` variable was wrong - allow larger delta for tests on Rdata and pdf (mostly 1/2 file size, but anyway less then the file size .. essentially now a test for file presence)
detected here galaxyproject#2701 - data manager: real bug fix - bug fix in makeSequencTable: cheetah for testing `plot` variable was wrong - allow larger delta for tests on Rdata and pdf (mostly 1/2 file size, but anyway less then the file size .. essentially now a test for file presence)
bax2bam: |
I reran the tests yesterday night with the fixes merged so far, we're down to 409 failing tests (was 484) -- https://mvdbeek.github.io/iuc-tool-test-results/ |
graphlan seems to be caused by a conda conflict:
|
ruvseq is caused by a symlinked R script (links to deseq2) which is probably not copied correctly |
that's unfortunate, but maybe highlights that we should probably make a proper package out of these scripts (or put them in a macro that we can share through symlinks) |
With the latest fixes in 19.09 / master I think running |
Yeah, we assume scripts are on PATH |
In this case $TRANSTERMHP is an environment valiable pointing to the location of some test data. |
Yeah, conda is stripped from the image, so the activate script can't run. We could possibly be smarter about the image build process and figure out the env variables set by Conda. In the meantime |
Without the fonts it fails (on minimal systems) with ``` | Exception in thread "main" java.lang.InternalError: java.lang.reflect.InvocationTargetException | at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:86) | at java.base/java.security.AccessController.doPrivileged(Native Method) | at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74) | at java.desktop/sun.font.SunFontManager.getInstance(SunFontManager.java:247) | at java.desktop/sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:265) | at java.desktop/sun.java2d.SunGraphics2D.getFontMetrics(SunGraphics2D.java:856) | at org.jfree.text.G2TextMeasurer.getStringWidth(G2TextMeasurer.java:79) | at org.jfree.text.TextUtilities.nextLineBreak(TextUtilities.java:294) | at org.jfree.text.TextUtilities.createTextBlock(TextUtilities.java:235) | at org.jfree.chart.title.TextTitle.arrangeRR(TextTitle.java:628) | at org.jfree.chart.title.TextTitle.arrange(TextTitle.java:497) | at org.jfree.chart.JFreeChart.drawTitle(JFreeChart.java:1316) | at org.jfree.chart.JFreeChart.draw(JFreeChart.java:1204) | at org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1404) | at org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1384) | at org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1369) | at org.bioinfo.ngs.qc.qualimap.gui.threads.ExportHtmlThread.saveImages(ExportHtmlThread.java:263) | at org.bioinfo.ngs.qc.qualimap.gui.threads.ExportHtmlThread.generateAndSaveReport(ExportHtmlThread.java:189) | at org.bioinfo.ngs.qc.qualimap.gui.threads.ExportHtmlThread.run(ExportHtmlThread.java:158) | at org.bioinfo.ngs.qc.qualimap.main.NgsSmartTool.exportResult(NgsSmartTool.java:297) | at org.bioinfo.ngs.qc.qualimap.main.BamQcTool.execute(BamQcTool.java:283) | at org.bioinfo.ngs.qc.qualimap.main.NgsSmartTool.run(NgsSmartTool.java:190) | at org.bioinfo.ngs.qc.qualimap.main.NgsSmartMain.main(NgsSmartMain.java:113) | Caused by: java.lang.reflect.InvocationTargetException | 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:490) | at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:84) | ... 22 more | Caused by: java.lang.NullPointerException | at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1262) | at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:225) | at java.desktop/sun.awt.FontConfiguration.init(FontConfiguration.java:107) | at java.desktop/sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:719) | at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:367) | at java.base/java.security.AccessController.doPrivileged(Native Method) | at java.desktop/sun.font.SunFontManager.<init>(SunFontManager.java:312) | at java.desktop/sun.awt.FcFontManager.<init>(FcFontManager.java:35) | at java.desktop/sun.awt.X11FontManager.<init>(X11FontManager.java:56) | ... 27 more ``` see also galaxyproject/tools-iuc#2701
Without the fonts it fails (on minimal systems) with ``` | Exception in thread "main" java.lang.InternalError: java.lang.reflect.InvocationTargetException | at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:86) | at java.base/java.security.AccessController.doPrivileged(Native Method) | at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74) | at java.desktop/sun.font.SunFontManager.getInstance(SunFontManager.java:247) | at java.desktop/sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:265) | at java.desktop/sun.java2d.SunGraphics2D.getFontMetrics(SunGraphics2D.java:856) | at org.jfree.text.G2TextMeasurer.getStringWidth(G2TextMeasurer.java:79) | at org.jfree.text.TextUtilities.nextLineBreak(TextUtilities.java:294) | at org.jfree.text.TextUtilities.createTextBlock(TextUtilities.java:235) | at org.jfree.chart.title.TextTitle.arrangeRR(TextTitle.java:628) | at org.jfree.chart.title.TextTitle.arrange(TextTitle.java:497) | at org.jfree.chart.JFreeChart.drawTitle(JFreeChart.java:1316) | at org.jfree.chart.JFreeChart.draw(JFreeChart.java:1204) | at org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1404) | at org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1384) | at org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1369) | at org.bioinfo.ngs.qc.qualimap.gui.threads.ExportHtmlThread.saveImages(ExportHtmlThread.java:263) | at org.bioinfo.ngs.qc.qualimap.gui.threads.ExportHtmlThread.generateAndSaveReport(ExportHtmlThread.java:189) | at org.bioinfo.ngs.qc.qualimap.gui.threads.ExportHtmlThread.run(ExportHtmlThread.java:158) | at org.bioinfo.ngs.qc.qualimap.main.NgsSmartTool.exportResult(NgsSmartTool.java:297) | at org.bioinfo.ngs.qc.qualimap.main.BamQcTool.execute(BamQcTool.java:283) | at org.bioinfo.ngs.qc.qualimap.main.NgsSmartTool.run(NgsSmartTool.java:190) | at org.bioinfo.ngs.qc.qualimap.main.NgsSmartMain.main(NgsSmartMain.java:113) | Caused by: java.lang.reflect.InvocationTargetException | 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:490) | at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:84) | ... 22 more | Caused by: java.lang.NullPointerException | at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1262) | at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:225) | at java.desktop/sun.awt.FontConfiguration.init(FontConfiguration.java:107) | at java.desktop/sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:719) | at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:367) | at java.base/java.security.AccessController.doPrivileged(Native Method) | at java.desktop/sun.font.SunFontManager.<init>(SunFontManager.java:312) | at java.desktop/sun.awt.FcFontManager.<init>(FcFontManager.java:35) | at java.desktop/sun.awt.X11FontManager.<init>(X11FontManager.java:56) | ... 27 more ``` see also galaxyproject/tools-iuc#2701
Without the fonts it fails (on minimal systems) with ``` | Exception in thread "main" java.lang.InternalError: java.lang.reflect.InvocationTargetException | at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:86) | at java.base/java.security.AccessController.doPrivileged(Native Method) | at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74) | at java.desktop/sun.font.SunFontManager.getInstance(SunFontManager.java:247) | at java.desktop/sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:265) | at java.desktop/sun.java2d.SunGraphics2D.getFontMetrics(SunGraphics2D.java:856) | at org.jfree.text.G2TextMeasurer.getStringWidth(G2TextMeasurer.java:79) | at org.jfree.text.TextUtilities.nextLineBreak(TextUtilities.java:294) | at org.jfree.text.TextUtilities.createTextBlock(TextUtilities.java:235) | at org.jfree.chart.title.TextTitle.arrangeRR(TextTitle.java:628) | at org.jfree.chart.title.TextTitle.arrange(TextTitle.java:497) | at org.jfree.chart.JFreeChart.drawTitle(JFreeChart.java:1316) | at org.jfree.chart.JFreeChart.draw(JFreeChart.java:1204) | at org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1404) | at org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1384) | at org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1369) | at org.bioinfo.ngs.qc.qualimap.gui.threads.ExportHtmlThread.saveImages(ExportHtmlThread.java:263) | at org.bioinfo.ngs.qc.qualimap.gui.threads.ExportHtmlThread.generateAndSaveReport(ExportHtmlThread.java:189) | at org.bioinfo.ngs.qc.qualimap.gui.threads.ExportHtmlThread.run(ExportHtmlThread.java:158) | at org.bioinfo.ngs.qc.qualimap.main.NgsSmartTool.exportResult(NgsSmartTool.java:297) | at org.bioinfo.ngs.qc.qualimap.main.BamQcTool.execute(BamQcTool.java:283) | at org.bioinfo.ngs.qc.qualimap.main.NgsSmartTool.run(NgsSmartTool.java:190) | at org.bioinfo.ngs.qc.qualimap.main.NgsSmartMain.main(NgsSmartMain.java:113) | Caused by: java.lang.reflect.InvocationTargetException | 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:490) | at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:84) | ... 22 more | Caused by: java.lang.NullPointerException | at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1262) | at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:225) | at java.desktop/sun.awt.FontConfiguration.init(FontConfiguration.java:107) | at java.desktop/sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:719) | at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:367) | at java.base/java.security.AccessController.doPrivileged(Native Method) | at java.desktop/sun.font.SunFontManager.<init>(SunFontManager.java:312) | at java.desktop/sun.awt.FcFontManager.<init>(FcFontManager.java:35) | at java.desktop/sun.awt.X11FontManager.<init>(X11FontManager.java:56) | ... 27 more ``` see also galaxyproject/tools-iuc#2701
@gregvonkuster is that within a data table ? jmchilton/picard@4df8974 is an example PR that adds this |
Alright, triggered another test at https://github.com/mvdbeek/tools-iuc/commit/ed6617a3ee508ddf39ce7bc1af334714d4d45e90/checks?check_suite_id=343542706, let's see how far we're getting now. |
Down to 335 failing tests, and a lot of them are actually fixed but due to a bug in Galaxy we're often not getting the latest container version, fixing that now. |
Down to 239 failing tests! |
It seems that some of the ebi APIs have changed and it isn't immediately obvious what those are. If someone uses or knows this API it would be awesome if they could fix the ebi_metagenomics and ebi_search_rest_results tools. I also can't get qiime to write proper biom format files, they all end up corrupted when containerized, but it seems they do work in the travis environment outside of biocontainers. The good news is that we're down to 123 failing tests or so! |
Is this why I get the error |
Yeah, google was telling me the same thing. But is that missing dependency an issue associated with this issue we're in here (i.e. an undeclared dependency). |
All of the tools that can be fixed are fixed now, so I think we can close this. |
Fixed currently failing bwameth bioconda/bioconda-recipes#23440 |
Fixed valet #3147 bioconda/bioconda-recipes#23441 |
fixed iedb #3148 |
Every time I use maker, I get a similar error to the kraken error above. Here's my error message:
Can you advise how to fix this bug? |
Hello IUC,
Tl;DR:
Help us fix tool tests!
we would like to make sure that our tools are well tested and working in the widest range of deployment scenarios possible. And as you may have noticed, tool dependency installation from Conda may break (or be fixed!) as time passes due to dependency-of-a-dependency upgrades, newer/older Conda versions etc.
To make sure that our tool wrappers will work on a wide range of deployments it is important that we include all dependencies that a tool has (i.e include coreutils if a wrapper uses
paste
, include sed if a wrapper usessed
, include python if a wrapper calls a python script). One way to make sure this is the case is to run tool tests in a minimal container that does not contain any software except the one listed in our tool wrappers<requirements/>
tag set.We also currently build containers for all IUC tools as well as other tool repositories listed in https://github.com/galaxyproject/planemo-monitor, but so far we are not testing that tool runs actually succeed in these containers. For dependencies (and dependency combinations) that are not available as a downloadable container Galaxy can build containers when needed. This functionality is also available via
planemo test --biocontainers
.We have set up a github workflow that tests all IUC tools using
planemo test
and the--biocontainers
flag. The test run can be seen here: https://github.com/mvdbeek/tools-iuc/commit/529a26943046ca80b18bccae31021db5c317eb7e/checks?check_suite_id=331921644And a html report of only the failing tests is here: https://mvdbeek.github.io/iuc-tool-test-results/
Note also that the tool tests run against python 3.7, so this could be another class of errors we may need to fix (should concern only the cheetah templating).
The list of tools with failing tests is the following:
If you're currently working on one of these tools write your name under the tool, so that we avoid duplicating our work
The text was updated successfully, but these errors were encountered: