-
Notifications
You must be signed in to change notification settings - Fork 311
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Coredump in complete_aio #390
Labels
type/bug
This issue reports a bug.
Comments
Code pointThe bug is caused by inaccessible address 0x3d343e3c7b553a69, which is void native_linux_aio_provider::complete_aio(struct iocb *io, int bytes, int err)
{
linux_disk_aio_context *aio = CONTAINING_RECORD(io, linux_disk_aio_context, cb);
error_code ec;
if (err != 0) {
derror("aio error, err = %s", strerror(err));
ec = ERR_FILE_OPERATION_FAILED;
} else {
ec = bytes > 0 ? ERR_OK : ERR_HANDLE_EOF;
}
if (!aio->evt) {
aio_task *aio_ptr(aio->tsk);
aio->this_->complete_io(aio_ptr, ec, bytes);
} else {
aio->err = ec; // ec = 0
aio->bytes = bytes; // bytes = 2,145,385,340, nearly exceeds int max = 2,147,483,647
aio->evt->notify(); // coredump point, evt is inaccessible
}
} Memory dump of
|
acelyc111
pushed a commit
that referenced
this issue
Jun 23, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Bug Report
Please answer these questions before submitting your issue. Thanks!
If possible, provide a recipe for reproducing the error.
Test bootstrap, after a previous cleanup. Though this is a new bootstrap,
there was still some log files not cleared. The pegasus-server replayed those
log files during initialization, which caused this core dump.
No coredump.
error logs
Pegasus Server 1.12.SNAPSHOT (38dccf6) release
The text was updated successfully, but these errors were encountered: