snakemake fails with glpk-utils installed

Bug #1928940 reported by Krister Swenson
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
snakemake (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Take the simplest Snakefile possible:

```
rule test:
  shell:
    'echo Hello'
```

Running snakemake on this file fails with error message:

GLPSOL--GLPK LP/MIP Solver 5.0
Parameter(s) specified in the command line:
 --cpxlp /tmp/11746-pulp.lp -o /tmp/11746-pulp.sol
Reading problem data from '/tmp/11746-pulp.lp'...
/tmp/11746-pulp.lp:5: missing constraint sense
CPLEX LP file processing error
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/snakemake/__init__.py", line 643, in snakemake
    success = workflow.execute(
  File "/usr/lib/python3/dist-packages/snakemake/workflow.py", line 961, in execute
    success = scheduler.schedule()
  File "/usr/lib/python3/dist-packages/snakemake/scheduler.py", line 406, in schedule
    else self.job_selector_ilp(needrun)
  File "/usr/lib/python3/dist-packages/snakemake/scheduler.py", line 624, in job_selector_ilp
    prob.solve()
  File "/usr/lib/python3/dist-packages/pulp/pulp.py", line 1643, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/lib/python3/dist-packages/pulp/solvers.py", line 380, in actualSolve
    raise PulpSolverError("PuLP: Error while executing "+self.path)
pulp.solvers.PulpSolverError: PuLP: Error while executing glpsol

A workaround is to uninstall the package glpk-utils.

ProblemType: Bug
DistroRelease: Ubuntu 21.04
Package: snakemake 5.24.1-2
ProcVersionSignature: Ubuntu 5.11.0-17.18-generic 5.11.12
Uname: Linux 5.11.0-17-generic x86_64
NonfreeKernelModules: wl
ApportVersion: 2.20.11-0ubuntu65
Architecture: amd64
CasperMD5CheckResult: unknown
CurrentDesktop: ubuntu:GNOME
Date: Wed May 19 14:25:48 2021
InstallationDate: Installed on 2021-01-19 (119 days ago)
InstallationMedia: Ubuntu 20.10 "Groovy Gorilla" - Release amd64 (20201022)
PackageArchitecture: all
SourcePackage: snakemake
UpgradeStatus: Upgraded to hirsute on 2021-04-27 (22 days ago)

Revision history for this message
Krister Swenson (thekswenson) wrote :
Revision history for this message
Rebecca Palmer (rebecca-palmer) wrote :

This may have been fixed: in Debian, snakemake still passes its tests if glpk-utils is installed.

Revision history for this message
Krister Swenson (thekswenson) wrote :

Your right... it seems to work now.

Changed in snakemake (Ubuntu):
status: New → Invalid
Revision history for this message
Krister Swenson (thekswenson) wrote :

Actually, the bug persists.

Changed in snakemake (Ubuntu):
status: Invalid → New
Revision history for this message
Rebecca Palmer (rebecca-palmer) wrote :

I tested this again, this time in Ubuntu and with enough logging to confirm that GLPK is being run, and still can't reproduce this bug:

https://launchpadlibrarian.net/742301254/buildlog_ubuntu-oracular-amd64.snakemake_7.32.4-4+ppa1_BUILDING.txt.gz

(search for test_glpk_solver; it's listed as 'failed' because intentionally failing it at the end was the easiest way to get the logs shown)

Do you still have this bug, and if yes, do you have more details on how to reproduce it?

Note that Ubuntu's current version of snakemake only calls the ILP solver at all if there is *more than one* job that *could be run next* (given their dependencies), so neither the one-job test case in the original bug nor the 3-job-with-dependencies test case in unmodified test_glpk_solver actually test glpk. My test used https://salsa.debian.org/med-team/snakemake/-/blob/debian-v7/debian/patches/test_solver.patch?ref_type=heads .

Changed in snakemake (Ubuntu):
status: New → Incomplete
Revision history for this message
Krister Swenson (thekswenson) wrote :

I no longer have this problem in 23.10

Changed in snakemake (Ubuntu):
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.