Archived
This forum has been archived. Please start a new discussion on GitHub.
Evictor error: DB_PAGE_NOTFOUND
when i use evictor, sometimes i can catch this:
error: Saving thread killed by exception: MapI.cpp:998: Freeze::DatabaseException:
Db::put: DB_PAGE_NOTFOUND: Requested page not found
and my application is core, why?
error: Saving thread killed by exception: MapI.cpp:998: Freeze::DatabaseException:
Db::put: DB_PAGE_NOTFOUND: Requested page not found
and my application is core, why?
0
Comments
-
This error indicates a problem in the Freeze evictor saving thread, while writing to the database. This kind of error should never happen, and that's why Freeze aborts your process.
Could you post a test-case that reproduces this crash?
Also, please include your Ice version, Berkeley DB version, platform etc.
Thanks,
Bernard0 -
i can't reproduces a crash, i don‘t known when a crash happened, it’s seem to be random
ice version is 3.1.1
berkley db version is db-4.3.29.NC0 -
in evictorI.cpp,
function registerFatalErrorCallback is seem to be a bug
Freeze::FatalErrorCallback
Freeze::registerFatalErrorCallback(Freeze::FatalErrorCallback cb)
{
IceUtil::StaticMutex::Lock lock(fatalErrorCallbackMutex);
FatalErrorCallback result = fatalErrorCallback;
return result;
}
static Freeze::FatalErrorCallback fatalErrorCallback = 0;
fatalErrorCallback never be change by cb。。。
maybe should like this:
Freeze::FatalErrorCallback
Freeze::registerFatalErrorCallback(Freeze::FatalErrorCallback cb)
{
IceUtil::StaticMutex::Lock lock(fatalErrorCallbackMutex);
FatalErrorCallback result = fatalErrorCallback;
fatalErrorCallback = cb;
return result;
}0 -
Please upgrade to the latest version of Ice. It should be easy, since you're just experimenting with Ice.
Cheers,
Bernard0