Export to GitHub

factplusplus - issue #12

Crash when getting the individuals of a description


Posted on Apr 18, 2008 by Happy Wombat

I am experiencing a crash when getting the individuals of an OWLDescription that is a intersection of a class and a OneOf.

The error message when it crashes is: java: tSaveStack.h:50: T* TSaveStack<T>::pop(unsigned int) [with T = DlCompletionGraph::SaveState]: Assertion `this->last >= depth' failed.

Attached is a test case. Look at the code there are some comments that describe what I am seeing, including a case in which there is no crash, but the result is incorrect (I thought it might be related). Below is the stack trace from the crash.

0 0x00002b7a42822cab in raise () from /lib/libc.so.6

1 0x00002b7a42824660 in abort () from /lib/libc.so.6

2 0x00002b7a4281c436 in __assert_fail () from /lib/libc.so.6

3 0x00002aaaf2afb758 in TSaveStack<DlCompletionGraph::SaveState>::pop

(this=0x2aaaf43a2300, depth=1) at tSaveStack.h:50

4 0x00002aaaf2afa0e9 in DlCompletionGraph::restore (this=0x2aaaf43a2280,

level=1) at dlCompletionGraph.cpp:163

5 0x00002aaaf2ac438c in DlSatTester::restore (this=0x2aaaf43a2240,

newTryLevel=1) at Reasoner.cpp:705

6 0x00002aaaf2ac444c in DlSatTester::reInit (this=0x2aaaf43a2240) at

Reasoner.cpp:86

7 0x00002aaaf2abf4b6 in DlSatTester::runSat (this=0x2aaaf43a2240, p=517,

q=-540) at Reasoner.h:782

8 0x00002aaaf2ab4b33 in TBox::isSubHolds (this=0x2aaaf4323bb0,

pConcept=0x2aaaf43a9e80, qConcept=0x2aaaf4362220) at dlTBox.cpp:164

9 0x00002aaaf2aecffc in DLConceptTaxonomy::testSub (this=0x2aaaf437d610,

p=0x2aaaf43a9e80, q=0x2aaaf4362220) at DLConceptTaxonomy.cpp:81

10 0x00002aaaf2aed0a8 in DLConceptTaxonomy::testSubsumption

(this=0x2aaaf437d610, upDirection=true, cur=0x2aaaf4359e60) at DLConceptTaxonomy.cpp:165

11 0x00002aaaf2aed1fb in DLConceptTaxonomy::enhancedSubs

(this=0x2aaaf437d610, upDirection=true, cur=0x2aaaf4359e60) at DLConceptTaxonomy.cpp:158

12 0x00002aaaf2aed264 in DLConceptTaxonomy::searchBaader

(this=0x2aaaf437d610, upDirection=true, cur=0x2aaaf437d6e0) at DLConceptTaxonomy.cpp:124

13 0x00002aaaf2a9b97a in DLConceptTaxonomy::runBottomUp

(this=0x2aaaf437d610) at DLConceptTaxonomy.h:113

14 0x00002aaaf2add33b in Taxonomy::generalTwoPhaseClassification

(this=0x2aaaf437d610) at Taxonomy.cpp:122

15 0x00002aaaf2addbcf in Taxonomy::performClassification

(this=0x2aaaf437d610, p=0x2aaaf4362220) at Taxonomy.cpp:76

16 0x00002aaaf2ade56d in Taxonomy::doClassification (this=0x2aaaf437d610,

p=0x2aaaf4362220) at Taxonomy.h:134

17 0x00002aaaf2addc8f in Taxonomy::classifyTop (this=0x2aaaf437d610) at

Taxonomy.cpp:327

18 0x00002aaaf2adde50 in Taxonomy::classifyEntry (this=0x2aaaf437d610,

p=0x2aaaf4362220) at Taxonomy.cpp:258

19 0x00002aaaf2ab3d81 in TBox::classifyTempConcept (this=0x2aaaf4323bb0)

at dlTBox.cpp:275

20 0x00002aaaf2adfff4 in ReasoningKernel::setUpCache (this=0x2aaaf4246310,

query=0x2aaaf4362750, level=ReasoningKernel::csClassified) at Kernel.cpp:188

21 0x00002aaaf2aa8f05 in

ReasoningKernel::getDescendants<JTaxonomyActor<IndividualPolicy> > (this=0x2aaaf4246310, C=0x2aaaf4362750, actor=@0x40229a80) at ../Kernel/Kernel.h:547

22 0x00002aaaf2aa8f5e in

ReasoningKernel::getInstances<JTaxonomyActor<IndividualPolicy> > (this=0x2aaaf4246310, C=0x2aaaf4362750, actor=@0x40229a80) at ../Kernel/Kernel.h:647

23 0x00002aaaf2a875f9 in

Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_askInstances (env=0x40114590, obj=0x40229b90, arg=0x40229b88) at FaCTPlusPlus.cpp:1637

Attachments

Comment #1

Posted on Apr 25, 2008 by Happy Wombat

I am experiencing another crash that may or may not be related to this one. They both only occur in the presence of ObjectOneOf restrictions. However this crash is non-deterministic. I can predictably make it happen by repeatedly running a function that creates classes that are equivalent to an ObjectOneOf restriction.

I have attached the trace that the JVM produces.

I have not been able to replicate the problem outside my large codebase, so at least for now there is no minimal test case.

Attachments

Comment #2

Posted on Nov 11, 2008 by Quick Panda

Fixed in the latest SVN

Status: Fixed

Labels:
Type-Defect Priority-Medium