[Bug]: Segmentation Fault or AssertionError during initialization on Python 3.14.2
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 3.2k
- Forks
- 248
- Avg merge
- 4d 8h
- Merged PRs (30d)
- 4
Description
What happened?
When running on Python 3.14.2 (Linux), initializing SparseTextEmbedding causes a Segmentation Fault (Exit Code 139). Additionally, when used via qdrant-client, it triggers an AssertionError in the is_installed check because the model listing mechanism seems to return unexpected results or fails to find models in certain environments.
What is the expected behaviour?
The library should initialize correctly and be able to list/load models on Python 3.14, or at least fail gracefully with a clear error message instead of a Segmentation Fault.
A minimal reproducible example
import logging
from fastembed import SparseTextEmbedding
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
def reproduce():
try:
logger.info("Initializing SparseTextEmbedding...")
# This causes SIGSEGV (Exit Code 139) on Python 3.14.2
model = SparseTextEmbedding(model_name="Qdrant/bm25")
logger.info("Success!")
except Exception as e:
logger.error(f"Caught: {e}")
if __name__ == "__main__":
reproduce()
What Python version are you on? e.g. python --version
Python 3.14.2 (Linux), using uv as package manager.
FastEmbed version
v0.8.0
What os are you seeing the problem on?
Linux
Relevant stack traces and/or logs
Traceback (most recent call last):
File "test.py", line 22, in <module>
db_instance = SharedLibraryDB().db
File "qdrant_client/qdrant_fastembed.py", line 38, in __init__
self.__class__._FASTEMBED_INSTALLED = FastEmbedMisc.is_installed()
File "qdrant_client/fastembed_common.py", line 62, in is_installed
assert len(LateInteractionMultimodalEmbedding.list_supported_models()) > 0
AssertionError
Contributor guide
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
Reproduce SparseTextEmbedding initialization with Qdrant/bm25 on Python 3.14.2 and Linux, then inspect the model-listing path and qdrant_client/fastembed_common.py around is_installed. Determine whether initialization or supported-model discovery triggers the failure. Done means models can be listed and loaded, or the library reports a clear error without a segmentation fault or assertion failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 42/100