Skip to content
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

Closed
mvdbeek opened this issue Nov 28, 2019 · 42 comments
Closed

List of tools that fail containerized tool tests #2701

mvdbeek opened this issue Nov 28, 2019 · 42 comments

Comments

@mvdbeek
Copy link
Member

mvdbeek commented Nov 28, 2019

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 uses sed, 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=331921644
And 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

@wm75
Copy link
Contributor

wm75 commented Nov 28, 2019

What about all these errors like:
tool_script.sh: line 9: /tmp/tmpb9_yhhm8/job_working_directory/000/26/COMMAND_VERSION: Read-only file system
Looks like a lot of the above tools are failing with this.

@mvdbeek
Copy link
Member Author

mvdbeek commented Nov 28, 2019

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.
If you look for instance at the htseq_count error you have:

/tmp/tmpsv44thj7/job_working_directory/000/19/tool_script.sh: line 9: /tmp/tmpsv44thj7/job_working_directory/000/19/COMMAND_VERSION: Read-only file system
  [Errno 2] No such file or directory: '/tmp/tmpsv44thj7/tmp/26_tmp.sam'
  [Exception type: FileNotFoundError, raised in count.py:52]
[E::hts_open_format] Failed to open file /tmp/tmpsv44thj7/tmp/26_tmp.sam
samtools view: failed to open "/tmp/tmpsv44thj7/tmp/26_tmp.sam" for reading: No such file or directory

So the true error is that something is going wrong with the input sam file.

@mvdbeek
Copy link
Member Author

mvdbeek commented Nov 28, 2019

@wm75
Copy link
Contributor

wm75 commented Nov 28, 2019

Good to know you're fixing this already :-)
Look at the failing raceid tools for examples where I think the command version is the only reason for failure.

@bernt-matthias
Copy link
Contributor

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?

@mvdbeek
Copy link
Member Author

mvdbeek commented Nov 28, 2019

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.

@mvdbeek
Copy link
Member Author

mvdbeek commented Nov 28, 2019

@wm75 after fixing COMMAND_VERSION being mounted in ro I see this:

  File "/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 628, in run
    testMethod()
  File "/Users/mvandenb/src/galaxy/test/functional/test_toolbox.py", line 99, in test_tool
    self.do_it(tool_version=tool_version, test_index=test_index)
  File "/Users/mvandenb/src/galaxy/test/functional/test_toolbox.py", line 36, in do_it
    verify_tool(tool_id, self.galaxy_interactor, resource_parameters=resource_parameters, test_index=test_index, tool_version=tool_version, register_job_data=register_job_data)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/tool_util/verify/interactor.py", line 789, in verify_tool
    raise e
  File "/Users/mvandenb/src/galaxy/lib/galaxy/tool_util/verify/interactor.py", line 785, in verify_tool
    job_stdio = _verify_outputs(testdef, test_history, jobs, tool_id, data_list, data_collection_list, galaxy_interactor, quiet=quiet)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/tool_util/verify/interactor.py", line 1006, in _verify_outputs
    raise JobOutputsError(found_exceptions, job_stdio)
Job in error state.
Job in error state.
Job in error state.
Job in error state.
Job in error state.
-------------------- >> begin captured stdout << ---------------------
Problem in history with id 2891970512fa2d5a - summary of history's datasets and jobs below.
--------------------------------------
| 1 - matrix.filter.rdat (HID - NAME) 
| Dataset State:
|  ok
| Dataset Blurb:
|  7.9 MB
| Dataset Info:
|  The uploaded binary file format cannot be determined automatically, please set the file 'Type' manually
| Peek:
|  <table cellspacing="0" cellpadding="3"><tr><td>binary data</td></tr></table>
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 2 - Clustering using RaceID on data 1: PDF Report (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 3 - Clustering using RaceID on data 1: RDS (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 4 - Clustering using RaceID on data 1: Cell-to-Cluster assignments (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 5 - Clustering using RaceID on data 1: Cluster - Genes per Cluster (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 6 - Clustering using RaceID on data 1: Log (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| Job 5729865256bc2525
| State: 
|  error
| Update Time:
|  2019-11-28T14:22:22.804340
| Create Time:
|  2019-11-28T14:22:09.907655
|
--------------------------------------
| Job 2891970512fa2d5a
| State: 
|  ok
| Update Time:
|  2019-11-28T14:22:08.041991
| Create Time:
|  2019-11-28T14:22:02.955169
|
--------------------------------------
Problem in history with id 2891970512fa2d5a - summary of history's datasets and jobs below.
--------------------------------------
| 1 - matrix.filter.rdat (HID - NAME) 
| Dataset State:
|  ok
| Dataset Blurb:
|  7.9 MB
| Dataset Info:
|  The uploaded binary file format cannot be determined automatically, please set the file 'Type' manually
| Peek:
|  <table cellspacing="0" cellpadding="3"><tr><td>binary data</td></tr></table>
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 2 - Clustering using RaceID on data 1: PDF Report (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 3 - Clustering using RaceID on data 1: RDS (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 4 - Clustering using RaceID on data 1: Cell-to-Cluster assignments (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 5 - Clustering using RaceID on data 1: Cluster - Genes per Cluster (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 6 - Clustering using RaceID on data 1: Log (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| Job 5729865256bc2525
| State: 
|  error
| Update Time:
|  2019-11-28T14:22:22.804340
| Create Time:
|  2019-11-28T14:22:09.907655
|
--------------------------------------
| Job 2891970512fa2d5a
| State: 
|  ok
| Update Time:
|  2019-11-28T14:22:08.041991
| Create Time:
|  2019-11-28T14:22:02.955169
|
--------------------------------------
Problem in history with id 2891970512fa2d5a - summary of history's datasets and jobs below.
--------------------------------------
| 1 - matrix.filter.rdat (HID - NAME) 
| Dataset State:
|  ok
| Dataset Blurb:
|  7.9 MB
| Dataset Info:
|  The uploaded binary file format cannot be determined automatically, please set the file 'Type' manually
| Peek:
|  <table cellspacing="0" cellpadding="3"><tr><td>binary data</td></tr></table>
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 2 - Clustering using RaceID on data 1: PDF Report (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 3 - Clustering using RaceID on data 1: RDS (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 4 - Clustering using RaceID on data 1: Cell-to-Cluster assignments (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 5 - Clustering using RaceID on data 1: Cluster - Genes per Cluster (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 6 - Clustering using RaceID on data 1: Log (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| Job 5729865256bc2525
| State: 
|  error
| Update Time:
|  2019-11-28T14:22:22.804340
| Create Time:
|  2019-11-28T14:22:09.907655
|
--------------------------------------
| Job 2891970512fa2d5a
| State: 
|  ok
| Update Time:
|  2019-11-28T14:22:08.041991
| Create Time:
|  2019-11-28T14:22:02.955169
|
--------------------------------------
Problem in history with id 2891970512fa2d5a - summary of history's datasets and jobs below.
--------------------------------------
| 1 - matrix.filter.rdat (HID - NAME) 
| Dataset State:
|  ok
| Dataset Blurb:
|  7.9 MB
| Dataset Info:
|  The uploaded binary file format cannot be determined automatically, please set the file 'Type' manually
| Peek:
|  <table cellspacing="0" cellpadding="3"><tr><td>binary data</td></tr></table>
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 2 - Clustering using RaceID on data 1: PDF Report (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 3 - Clustering using RaceID on data 1: RDS (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 4 - Clustering using RaceID on data 1: Cell-to-Cluster assignments (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 5 - Clustering using RaceID on data 1: Cluster - Genes per Cluster (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 6 - Clustering using RaceID on data 1: Log (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| Job 5729865256bc2525
| State: 
|  error
| Update Time:
|  2019-11-28T14:22:22.804340
| Create Time:
|  2019-11-28T14:22:09.907655
|
--------------------------------------
| Job 2891970512fa2d5a
| State: 
|  ok
| Update Time:
|  2019-11-28T14:22:08.041991
| Create Time:
|  2019-11-28T14:22:02.955169
|
--------------------------------------
Problem in history with id 2891970512fa2d5a - summary of history's datasets and jobs below.
--------------------------------------
| 1 - matrix.filter.rdat (HID - NAME) 
| Dataset State:
|  ok
| Dataset Blurb:
|  7.9 MB
| Dataset Info:
|  The uploaded binary file format cannot be determined automatically, please set the file 'Type' manually
| Peek:
|  <table cellspacing="0" cellpadding="3"><tr><td>binary data</td></tr></table>
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 2 - Clustering using RaceID on data 1: PDF Report (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 3 - Clustering using RaceID on data 1: RDS (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 4 - Clustering using RaceID on data 1: Cell-to-Cluster assignments (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 5 - Clustering using RaceID on data 1: Cluster - Genes per Cluster (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| 6 - Clustering using RaceID on data 1: Log (HID - NAME) 
| Dataset State:
|  error
| Dataset Blurb:
|  error
| Dataset Info:
|  *Dataset info is empty.*
| Peek:
|  *Peek unavilable.*
| Dataset Job Standard Output:
|  *Standard output was empty.*
| Dataset Job Standard Error:
|  *Standard error was empty.*
|
--------------------------------------
| Job 5729865256bc2525
| State: 
|  error
| Update Time:
|  2019-11-28T14:22:22.804340
| Create Time:
|  2019-11-28T14:22:09.907655
|
--------------------------------------
| Job 2891970512fa2d5a
| State: 
|  ok
| Update Time:
|  2019-11-28T14:22:08.041991
| Create Time:
|  2019-11-28T14:22:02.955169
|
--------------------------------------

--------------------- >> end captured stdout << ----------------------

we may need to specify the filetype on upload ?

@bgruening
Copy link
Member

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.

@mvdbeek
Copy link
Member Author

mvdbeek commented Nov 28, 2019

Is there some workaround for missing fonts ? A conda package maybe, or a new base container ?

@bgruening
Copy link
Member

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.

@mvdbeek
Copy link
Member Author

mvdbeek commented Nov 28, 2019

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.

@bgruening
Copy link
Member

All or nothing! 🎉

@mvdbeek
Copy link
Member Author

mvdbeek commented Nov 28, 2019

For raceid I had to check the actual output file as there is a stderr redirect:

Error in dyn.load(file, DLLpath = DLLpath, ...) :
  unable to load shared object '/usr/local/lib/R/library/rgl/libs/rgl.so':
  libGL.so.1: cannot open shared object file: No such file or directory
Warning: namespace 'RaceID' is not available and has been replaced

That's of course a problem for debugging things remotely.
The issue itself seems difficult / not possible to fix with conda-only means:
conda-forge/pygridgen-feedstock#10 (comment)

We may need to provide an alternative docker base image for these cases

@bernt-matthias
Copy link
Contributor

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.

  • Should we just allow larger diff (essentially just test for file presence) or
  • disable compression for the Rdata files (would also save computation time but need more memory)

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).

@bernt-matthias
Copy link
Contributor

A strange but maybe easy one is qiime

'getpwuid(): uid not found: 1001'

Also odd: seems to use python2.7

@mvdbeek
Copy link
Member Author

mvdbeek commented Nov 29, 2019

  • Should we just allow larger diff (essentially just test for file presence) or

I think that's reasonable, unless there's a way we can assert something about what's inside the rdata file.

@mvdbeek
Copy link
Member Author

mvdbeek commented Nov 29, 2019

A strange but maybe easy one is qiime

'getpwuid(): uid not found: 1001'

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 MPLCONFIGDIR ... or perhaps this could be fixed by specifying a newer profile version where galaxy will create a new, writable home dir.

@mvdbeek
Copy link
Member Author

mvdbeek commented Nov 29, 2019

or perhaps this could be fixed by specifying a newer profile version where galaxy will create a new, writable home dir.

phew, yep, that seems to work, but has unearthed that Galaxy doesn't mount the job home directory in rw. So adding profile="18.01" is enough on the tool side and galaxyproject/galaxy#9051 should fix it on the Galaxy side

@mvdbeek
Copy link
Member Author

mvdbeek commented Nov 29, 2019

Similar issue with scanpy, which does the following:

Sevag Hanssian @sevagh Jul 14 2018 15:00 UTC
If true, cache enables a file-based cache to shorten compilation times when the function was already compiled in a previous invocation. The cache is maintained in the pycache subdirectory of the directory containing the source file; if the current user is not allowed to write to it, though, it falls back to a platform-specific user-wide cache directory (such as $HOME/.cache/numba on Unix platforms).

so $HOME isn't writable

bernt-matthias added a commit to bernt-matthias/tools-iuc that referenced this issue Nov 30, 2019
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)
@bernt-matthias bernt-matthias mentioned this issue Nov 30, 2019
5 tasks
bernt-matthias added a commit to bernt-matthias/tools-iuc that referenced this issue Dec 1, 2019
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)
@bernt-matthias
Copy link
Contributor

bax2bam: mv: can't remove '/tmp/tmpzvg40cuz/job_working_directory/000/2/tmpnuxq8_9j': Read-only file system As far as I can see this mv comes from Galaxy.

@mvdbeek
Copy link
Member Author

mvdbeek commented Dec 1, 2019

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/

@bernt-matthias
Copy link
Contributor

graphlan seems to be caused by a conda conflict:

Package matplotlib conflicts for:
graphlan=1.0.0 -> matplotlib[version='1.4.*|1.5.*']
Package python conflicts for:
graphlan=1.0.0 -> python=2.7
Package biopython conflicts for:
graphlan=1.0.0 -> biopython=1.66

@bernt-matthias
Copy link
Contributor

ruvseq is caused by a symlinked R script (links to deseq2) which is probably not copied correctly

@mvdbeek
Copy link
Member Author

mvdbeek commented Dec 2, 2019

ruvseq is caused by a symlinked R script (links to deseq2) which is probably not copied

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)

@mvdbeek
Copy link
Member Author

mvdbeek commented Dec 2, 2019

With the latest fixes in 19.09 / master I think running planemo test --biocontainers should give us the same results as what is run in the github workflow (except some non-fatal version command issue noted by @wm75 in #2701 (comment)).

@mvdbeek
Copy link
Member Author

mvdbeek commented Dec 2, 2019

Yeah, we assume scripts are on PATH

@bernt-matthias
Copy link
Contributor

In this case $TRANSTERMHP is an environment valiable pointing to the location of some test data.

@mvdbeek
Copy link
Member Author

mvdbeek commented Dec 2, 2019

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 $(dirname $(command -v transterm))/../data/expterm.dat should work as a $TRANSTERMHP fallback

bernt-matthias added a commit to bioconda/bioconda-recipes that referenced this issue Dec 3, 2019
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
bernt-matthias added a commit to bioconda/bioconda-recipes that referenced this issue Dec 3, 2019
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
mvdbeek pushed a commit to bioconda/bioconda-recipes that referenced this issue Dec 3, 2019
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
bernt-matthias added a commit to bernt-matthias/tools-iuc that referenced this issue Dec 3, 2019
@mvdbeek
Copy link
Member Author

mvdbeek commented Dec 4, 2019

  • this tool requires a chromosome length file as input, so not sure how to test.

@gregvonkuster is that within a data table ? jmchilton/picard@4df8974 is an example PR that adds this

@mvdbeek
Copy link
Member Author

mvdbeek commented Dec 5, 2019

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.

@mvdbeek
Copy link
Member Author

mvdbeek commented Dec 5, 2019

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.

@mvdbeek
Copy link
Member Author

mvdbeek commented Dec 19, 2019

Down to 239 failing tests!

@mvdbeek
Copy link
Member Author

mvdbeek commented Jan 21, 2020

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!

@hepcat72
Copy link
Contributor

hepcat72 commented Jul 6, 2020

Is this why I get the error ModuleNotFoundError: No module named 'Bio' from ncbi_eutils_esearch when I try to run it via planemo serve --galaxy_python_version 3.7? Or is that a separate issue? I just tried a test via planemo to reproduce the error I was getting before trying to work on the issue I'd just created (#3111).

@peterjc
Copy link
Contributor

peterjc commented Jul 6, 2020

@hepcat72 If you're getting No module named 'Bio' from a Python script, it looks like it is missing Biopython as a dependency (and that's a separate problem to #3111 which I've just commented on).

@hepcat72
Copy link
Contributor

hepcat72 commented Jul 6, 2020

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).

@mvdbeek
Copy link
Member Author

mvdbeek commented Jul 20, 2020

All of the tools that can be fixed are fixed now, so I think we can close this.
If you want to check if a tool is currently passing you can check https://github.com/galaxyproject/tools-iuc/actions?query=workflow%3A%22Weekly+global+Tool+Linting+and+Tests%22 which is run weekly.

@mvdbeek mvdbeek closed this as completed Jul 20, 2020
@bernt-matthias
Copy link
Contributor

Fixed currently failing bwameth bioconda/bioconda-recipes#23440

@bernt-matthias
Copy link
Contributor

Fixed valet #3147 bioconda/bioconda-recipes#23441

@bernt-matthias
Copy link
Contributor

fixed iedb #3148

@jaredbernard
Copy link

Every time I use maker, I get a similar error to the kraken error above. Here's my error message:

Possible unintended interpolation of @2 in string at /cvmfs/main.galaxyproject.org/deps/_conda/envs/__maker@2.31.11/bin/…/lib/5.26.2/x86_64-linux-thread-multi/Config_heavy.pl line 260.
Possible precedence issue with control flow operator at /cvmfs/main.

Can you advise how to fix this bug?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants