Skip to content

Symbol conflict with highspy causes segfault when both libraries are loaded #177

@plancker

Description

@plancker

Describe the issue

If tesseract_decoder is imported before import highspy we get a segfault.
This affects anyone using both tesseract_decoder for QEC decoding and highspy/cvxpy for optimization in the same Python session.

What version of the software are you using?

0.1.1.dev20260202233842

How can the issue be reproduced?

# Import tesseract_decoder FIRST
from tesseract_decoder import tesseract  # or: import tesseract_decoder

# Then use cvxpy with HiGHS solver
import cvxpy as cp
import numpy as np

x = cp.Variable(3)
A = np.array([[1.0, 2.0, 3.0]])
b = np.array([6.0])
prob = cp.Problem(cp.Minimize(cp.norm1(x)), [A @ x == b])
prob.solve(solver=cp.HIGHS, verbose=False)  # SEGFAULT (exit code 139)

Note: If the import order is reversed (HiGHS used before importing tesseract_decoder), it works:

# This order works fine
import cvxpy as cp
import numpy as np

x = cp.Variable(3)
prob = cp.Problem(cp.Minimize(cp.norm1(x)), [np.array([[1,2,3]]) @ x == 6])
prob.solve(solver=cp.HIGHS)  # Works

from tesseract_decoder import tesseract # Now safe to import

Environment

  • tesseract_decoder: 0.1.1.dev20260202233842 (latest as of Feb 2026)
  • highspy: 1.12.0
  • cvxpy: 1.6.0
  • Platform: macOS 15.3 ARM64 (Apple Silicon)
  • Python: 3.13

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions