MISP / MISP/misp-synchronisation

Test failures on macOS + MISP 2.5.36: bash compatibility, pull tests ERROR, push sync logic failures

Open
#1 0 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.