arana-db / arana-db/kiwi-cpp

pikiwidb 运行过程中突然崩溃

Open
#26 0 comments 0 reactions 0 assignees View on GitHub
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

看起来和这个语句有关系:
![image](https://github.com/user-attachments/assets/f1fd6123-ebd2-46da-9817-0f4dd1a965f8)

### Please provide a link to a minimal reproduction of the bug

_No response_

### Screenshots or videos

![images](https://camo.githubusercontent.com/3f51b5a32e6e5d5adabdebc5ef968150bdabc8d17a8dc1a535b8fb255d2165d0/68747470733a2f2f67772e616c697061796f626a656374732e636f6d2f7a6f732f616e7466696e63646e2f79396b776737445643642f726570726f647563652e676966)

### 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

![images](https://camo.githubusercontent.com/3f51b5a32e6e5d5adabdebc5ef968150bdabc8d17a8dc1a535b8fb255d2165d0/68747470733a2f2f67772e616c697061796f626a656374732e636f6d2f7a6f732f616e7466696e63646e2f79396b776737445643642f726570726f647563652e676966)

### 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.