pikiwidb 运行过程中突然崩溃
- Dominant language
- C++
- Stars
- 49
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
### Is this a regression?
None
### Description
### Is this a regression?
Yes
### Description
跑 go test 集成测试,发现 pikiwidb 进程突然崩溃了
[2024-08-14 15:49:17.145 #15167733 storage.cc:156 info] open RocksDB0 success!
[2024-08-14 15:49:17.145 #15167733 db.cc:62 info] Open DB0 success!
[2024-08-14 15:49:18.234 #15167734 base_cmd.cc:40 debug] execute command: hset
[2024-08-14 15:49:18.249 #15167735 base_cmd.cc:40 debug] execute command: hincrbyfloat
[2024-08-14 15:49:18.257 #15167732 base_cmd.cc:40 debug] execute command: hset
[2024-08-14 15:49:18.266 #15167733 base_cmd.cc:40 debug] execute command: hincrbyfloat
[2024-08-14 15:49:18.270 #15167730 pikiwidb.cc:167 info] Close connection id:63 msg:
[2024-08-14 15:49:18.271 #15167730 pikiwidb.cc:159 info] New connection from fd:64 IP:127.0.0.1 port:52294
[2024-08-14 15:49:18.273 #15167735 base_cmd.cc:40 debug] execute command: flushdb
[2024-08-14 15:49:18.274 #15167735 storage.cc:74 info] Storage begin to clear storage!
libc++abi: terminating due to uncaught exception of type std::__1::system_error: condition_variable wait failed: Invalid argument
看起来和这个语句有关系:

### Please provide a link to a minimal reproduction of the bug
_No response_
### Screenshots or videos

### Please provide the version you discovered this bug in (check about page for version information)
_No response_
### Anything else?
_No response_
### Please provide a link to a minimal reproduction of the bug
_No response_
### Screenshots or videos

### Please provide the version you discovered this bug in (check about page for version information)
_No response_
### Anything else?
_No response_
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by running the integration tests described in the issue and inspect the flushdb path around storage.cc:74, along with the command execution shown in base_cmd.cc:40. Investigate the condition_variable wait failure during storage clearing. Done means the crash is reproducibly addressed and a regression test covers the failing scenario.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100