dynamobi/dynamobi — Issue #485: [FNL-23] Fennel crash in fennel::LRUVictimPolicy<fennel::LRUPage> >::unregisterDevice(fennel::OpaqueInteger<unsigned, fennel::DummyDeviceId>
Author: dynamobi-build
Created: 2011-12-30 03:29:08+00:00
State: closed
Labels: Exec, FNL

[reporter="edan", created="Wed, 8 Mar 2006 14:36:51 -0500 (GMT-05:00)"]
[junit] java:<br/>
../../fennel/cache/CacheMethodsImpl.h:535: void fennel::CacheImpl<PageT, V<br/>
ictimPolicyT>::unregisterDevice(fennel::OpaqueInteger<uint,<br/>
fennel::DummyDeviceId>) [with PageT = fennel::LRUPage, VictimPolicyT =<br/>
fennel::LRUVictimPolicy<fennel::LRU<br/>
Page>]: Assertion `!nPages' failed.

[junit] *** CAUGHT SIGNAL 6;<br/>
BACKTRACE:

[junit]<br/>
/home/cruise/work/build/fennel/libfennel/.libs/libfennel_common-0.5.0.so(fennel:<br/>
:AutoBacktrace::signal_handler(int)+0x29) [0x3a4f5]

[junit] [0xb7fc7420]

[junit] [0xb7fc7402]

[junit] /lib/libc.so.6(gsignal+0x50)<br/>
[0x9bd118]

[junit] /lib/libc.so.6(abort+0xf8)<br/>
[0x9be888]

[junit]<br/>
/lib/libc.so.6(__assert_fail+0xfd) [0x9b62f5]

[junit]<br/>
/home/cruise/work/build/fennel/libfennel/.libs/libfennel_cache-0.5.0.so(fennel::<br/>
CacheImpl<fennel::LRUPage, fennel::LRUVictimPolicy<fennel::LRUPage><br/>
>::unregisterDevice(fennel::OpaqueInteger<unsigned,<br/>
fennel::DummyDeviceId>)+0xda) [0x1f96c]
ssage>

[junit]<br/>
/home/cruise/work/build/fennel/libfennel/.libs/libfennel_db-0.5.0.so(fennel::Dat<br/>
abase::closeDevices()+0x107) [0x19f13]

[junit]<br/>
/home/cruise/work/build/fennel/libfennel/.libs/libfennel_db-0.5.0.so(fennel::Dat<br/>
abase::closeImpl()+0x18a) [0x19cee]

[junit]<br/>
/home/cruise/work/build/fennel/libfennel/.libs/libfennel_common-0.5.0.so(fennel:<br/>
:ClosableObject::close()+0x27) [0x433db]

[junit]<br/>
/home/cruise/work/build/fennel/farrago/.libs/libfarrago-0.5.0.so(fennel::CmdInte<br/>
rpreter::DbHandle::~DbHandle()+0x47) [0xbfc55]

[junit]<br/>
/home/cruise/work/build/aspen/cpp/aspen/farrago/.libs/libaspen_farrago.so.0.0.0(<br/>
aspen::AspenCmdInterpreter::AspenDbHandle::~AspenDbHandle()+0xb6)<br/>
[0x6b902]

[junit]<br/>
/home/cruise/work/build/fennel/farrago/.libs/libfarrago-0.5.0.so(void<br/>
fennel::de<br/>
leteAndNullify<fennel::CmdInterpreter::DbHandle>(fennel::CmdInterpreter::DbHandle*)+0x24)<br/>
[0xc4b22]

[junit]<br/>
/home/cruise/work/build/fennel/farrago/.libs/libfarrago-0.5.0.so(fennel::CmdInte<br/>
rpreter::visit(fennel::ProxyCmdCloseDatabase&)+0xb9) [0xc1121]

[junit]<br/>
/home/cruise/work/build/fennel/farrago/.libs/libfarrago-0.5.0.so(fennel::JniProx<br/>
yVisitTable<fennel::FemVisitor>::VisitorMethodImpl<fennel::ProxyCmdCloseDatabase>::execute(fennel::JniProxyVisitor&,<br/>
fennel::JniProxy&)+0x9e) [0x119750]

[junit]<br/>
/home/cruise/work/build/fennel/farrago/.libs/libfarrago-0.5.0.so(fennel::JniProx<br/>
yVisitTableBase::accept(fennel::JniProxyVisitor&, fennel::JniProxy&)+0x1e1)<br/>
[0xc6361]

[junit]<br/>
/home/cruise/work/build/aspen/cpp/aspen/farrago/.libs/libaspen_farrago.so.0.0.0(<br/>
aspen::AspenCmdInterpreter::executeCommand(fennel::ProxyCmd&)+0x56)<br/>
[0x6aa4a]

[junit]<br/>
/home/cruise/work/build/aspen/cpp/aspen/farrago/.libs/libaspen_farrago.so.0.0.0(<br/>
Java_com_sqlstream_aspen_farrago_AspenFarragoNative_executeJavaCmd+0x6a)<br/>
[0xae9b6e56]

------- Comment #1 From Marc Berkowitz 2006-01-31 10:46 [reply] -------

seems to have crashed closing down at end of jdbc

BasicTest;

------- Comment #2 From John Sichi 2006-01-31 11:18 [reply] -------

This assertion failure means that a device is being closed while it still has

cache pages mapped to it. Usually this occurs during shutdown when some query

processing code (an XO) has managed to leave a page locked (e.g. because it is

still running).

------- Comment #3 From Marc Berkowitz 2006-01-31 13:02 [reply] -------

I'm surprised that the scheduler doesnt start from scratch on each test.

But if the bug is due to a query from the past: the XOs in a query are closed

in sequence, and if an error stops the process, they might never release

resources. When the scheduler shuts down at the end of a test, it should INFO

trace if it has any open XOs left.