Fix segmentation fault in pylibseekdb when executing dbms_vector.refresh_index/rebuild_index SQL
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 2.9k
- Forks
- 339
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 52
Description
Environment
- pylibseekdb Version: 2026.5.12.dev1
- pyseekdb Version: 1.2.0.post2
- Python Version: 3.11
- Is this an RD-provided temporary version? No
Description
When executing SQL related to dbms_vector.refresh_index or dbms_vector.rebuild_index in the test case test_cases/vector_function_mysql_sqlqa/test_refresh_index_mysql.py::TestVectorRefresh::test_vector_refresh_functionality, the process encounters a Segmentation fault.
Steps to Reproduce
- Activate the virtual environment:
/data/1/liteembeddedtest/LiteEmbeddedTest/myenv_work - Run the minimal reproduction command:
python3.11 -X faulthandler -m pytest test_cases/vector_function_mysql_sqlqa/test_refresh_index_mysql.py::TestVectorRefresh::test_vector_refresh_functionality -v -s
Note: The issue can also be reproduced by running the Jenkins job at http://:9090/jenkins/job/wentian_test/208/.
Additional Context
- Reproducibility: Consistently reproducible (必现).
- Machine: work 398tF0wqByZeQki5
- Core File:
/data/1/core-python3.11-1884164-1778601004 - GDB Backtrace:
/data/1/gdb-bt-core-python3.11-1884164-1778601004.txt - Related Issue: This may be related to the issue "【Lite】嵌入式,pyseekdb [embedded],fork collection和更新索引都报超时,之前可行" (Embedded pyseekdb reports timeouts on fork collection and index updates, previously worked).
Logs & Diagnostics
- The process previously terminated with a Segmentation fault.
- Core dump and GDB backtrace files are available at the paths listed above.
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
Run test_cases/vector_function_mysql_sqlqa/test_refresh_index_mysql.py::TestVectorRefresh::test_vector_refresh_functionality with the provided Python command to reproduce the fault. Start by examining the listed core file and GDB backtrace, then trace the dbms_vector.refresh_index and rebuild_index execution paths. Done means the test completes without a segmentation fault.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, python, sql
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100