MISP / MISP/misp-synchronisation
Test failures on macOS + MISP 2.5.36: bash compatibility, pull tests ERROR, push sync logic failures
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 3
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
Environment
- OS: macOS (Darwin 25.3.0, arm64)
- MISP version: 2.5.36 (both instances,
ghcr.io/misp/misp-docker/misp-core:latest) - Topology: default
1=2/2=1(bidirectional) - Commit:
6b862d6
Issues found
1. INSTALL.sh requires bash 4+ but doesn't enforce it
INSTALL.sh uses declare -A (associative arrays) which requires bash 4+. macOS ships with bash 3.2, causing immediate failure:
INSTALL.sh: line 12: declare: -A: invalid option
Suggested fix: Add a shebang like #!/usr/bin/env bash and a version check at the top, or document the bash 4+ requirement in the README.
2. All pull tests ERROR with "No unidirectional connection found"
With the default bidirectional topology (1=2 / 2=1), find_unidirectional_link() in tests/common.py:88 skips bidirectional links (line 104) and raises an exception for all 24 pull tests:
Exception: No unidirectional connection found between any instances.
The bidirectional topology is the default in topology.conf, so all pull tests fail out-of-the-box. Either the tests should handle bidirectional topologies, or the default topology should include a unidirectional link (e.g., 1=2 3 / 2=1 / 3=).
3. Push test failures (10 failures on MISP 2.5.36)
The following push tests fail with assertion errors:
| Test | Failure |
|---|---|
testEventDistributionLevelOnPush |
Event with dist=1 synced to remote (shouldn't be) |
testEventDowngradeDistributionLevelOnPush |
Distribution not downgraded on push |
testAnalystDataDistributionLevelOnPush |
Analyst data dist=0 present on target (shouldn't be) |
testAnalystDataDowngradeDistributionLevelOnPush |
Distribution not downgraded |
testGalaxyDistributionLevelOnPush |
Galaxy distribution rules not enforced |
testGalaxyDowngradeDistributionLevelOnPush |
Galaxy distribution not downgraded |
testGalaxyClusterDowngradeDistributionOnPush |
Cluster distribution not downgraded |
testSyncLocalTagOnPush |
Local tag leaked to remote instance |
testLockedStatusOnPush |
Locked event was modified on target |
testSyncSightingsOnPush |
Sighting not found on target after push |
These may be MISP core bugs rather than test issues, but they all reproduce on a clean install with INSTALL.sh.
Summary
Ran 57 tests in 283.612s
FAILED (failures=10, errors=24, skipped=1)
- 22 tests pass (all push enrichment + topology + internal server tests)
- 24 tests ERROR (all pull tests — test infra issue with bidirectional topology)
- 10 tests FAIL (push sync logic — likely MISP core behavior)
- 1 test skipped
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with INSTALL.sh and the README to verify how the bash requirement is handled, then inspect tests/common.py around find_unidirectional_link() and the default topology.conf. Run the reported test suite on the stated macOS and MISP versions, separating the 24 pull-test errors from the 10 push-test failures. Done means the compatibility and topology issue are addressed and the remaining push assertions have a confirmed resolution or documented core-bug boundary.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- bash, python
- Domain
- backend, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100