Assert fail on one of the tests
The test /tests/mx/simplemx/recursionNegation.idp results in an assert fail.
Attached is a compilation of the test without any specific options set. Building IDP in debug mode and running this file results in an assert fail.
Comments (13)
-
-
reporter - attached assertfail2.idp
stack trace: /home/joachim/usr/local/lib/libidp.so : AssertionException::AssertionException(std::string)+0x58 /home/joachim/usr/local/lib/libidp.so : Structure::makeTwoValued()+0x9a8 /home/joachim/usr/local/lib/libidp.so : generateEnoughTwoValuedExtensions(Structure, int)+0xd8a /home/joachim/usr/local/lib/libidp.so : generateEnoughTwoValuedExtensions(std::__debug::vector<Structure, std::allocator<Structure> > const&)+0xdd /home/joachim/usr/local/lib/libidp.so : TwoValuedExtensionsOfTableInference::execute(std::__debug::vector<InternalArgument, std::allocator<InternalArgument> > const&) const+0x136 /home/joachim/usr/local/lib/libidp.so : LuaConnection::InternalProcedure::operator()(lua_State) const+0x11a /home/joachim/usr/local/lib/libidp.so : LuaConnection::internalCall(lua_State)+0x64a /home/joachim/usr/local/lib/liblua.so.5 : ()+0x13f7f /home/joachim/usr/local/lib/liblua.so.5 : ()+0x2b6ca /home/joachim/usr/local/lib/liblua.so.5 : ()+0x14251 /home/joachim/usr/local/lib/liblua.so.5 : ()+0x96b2 /home/joachim/usr/local/lib/liblua.so.5 : ()+0x1318e /home/joachim/usr/local/lib/liblua.so.5 : ()+0x1467d /home/joachim/usr/local/lib/liblua.so.5 : lua_pcall(lua_State, int, int, int)+0xa8 /home/joachim/usr/local/lib/libidp.so : LuaConnection::execute(std::string const&)+0x61 /home/joachim/usr/local/lib/libidp.so : Insert::exec(std::string const&)+0x18 /home/joachim/usr/local/lib/libidp.so : handleAndRun(void)+0x29 /home/joachim/usr/local/lib/libtinythread.so : tthread::thread::wrapper_function(void)+0x29 /lib/x86_64-linux-gnu/libpthread.so.0 : ()+0x7e9a /lib/x86_64-linux-gnu/libc.so.6 : clone()+0x6d Error: ASSERT FAILED: approxTwoValued() @ /home/joachim/documents/krr/idp/src/structure/Structure.cpp (357)
Also appended a second file in which this occurs (also another test)
-
Bug doet zich niet voor op huidige master...
-
reporter The failling assert is the isTwoValued() assert after a makeTwoValued() operation on a structure
-
reporter The first attached file is not a bug (and I removed it from this issue), however, the second attached file (assertfail2.idp) still causes an assert error
[joachim@yonder ~]$ idp sandbox/assertfail2.idp Warning: Verifying and/or autocompleting structure S Warning: Checking total function too expensive. stack trace: /home/joachim/usr/local/lib/libidp.so : AssertionException::AssertionException(std::string)+0x58 /home/joachim/usr/local/lib/libidp.so : Structure::makeTwoValued()+0x9a8 /home/joachim/usr/local/lib/libidp.so : generateEnoughTwoValuedExtensions(Structure, int)+0xd8a /home/joachim/usr/local/lib/libidp.so : generateEnoughTwoValuedExtensions(std::__debug::vector<Structure, std::allocator<Structure> > const&)+0xdd /home/joachim/usr/local/lib/libidp.so : TwoValuedExtensionsOfTableInference::execute(std::__debug::vector<InternalArgument, std::allocator<InternalArgument> > const&) const+0x136 /home/joachim/usr/local/lib/libidp.so : LuaConnection::InternalProcedure::operator()(lua_State) const+0x11a /home/joachim/usr/local/lib/libidp.so : LuaConnection::internalCall(lua_State)+0x64a /home/joachim/usr/local/lib/liblua.so.5 : ()+0x13f7f /home/joachim/usr/local/lib/liblua.so.5 : ()+0x2b6ca /home/joachim/usr/local/lib/liblua.so.5 : ()+0x14251 /home/joachim/usr/local/lib/liblua.so.5 : ()+0x96b2 /home/joachim/usr/local/lib/liblua.so.5 : ()+0x1318e /home/joachim/usr/local/lib/liblua.so.5 : ()+0x1467d /home/joachim/usr/local/lib/liblua.so.5 : lua_pcall(lua_State, int, int, int)+0xa8 /home/joachim/usr/local/lib/libidp.so : LuaConnection::execute(std::string const&)+0x61 /home/joachim/usr/local/lib/libidp.so : Insert::exec(std::string const&)+0x18 /home/joachim/usr/local/lib/libidp.so : handleAndRun(void)+0x29 /home/joachim/usr/local/lib/libtinythread.so : tthread::thread::wrapper_function(void)+0x29 /lib/x86_64-linux-gnu/libpthread.so.0 : ()+0x7e9a /lib/x86_64-linux-gnu/libc.so.6 : clone()+0x6d Error: ASSERT FAILED: approxTwoValued() @ /home/joachim/documents/krr/idp/src/structure/Structure.cpp (357)
-
Hmmm... Dat ziet er nogal oneindig uit... Heeft er waarschijnlijk iets mee te maken.
-
The assert is wrong in this case. The structure might not be approxtwovalued in the end (as it is approx).
-
infinite domains?
Or is it really not twovalued?
-
zal ik nog eens checken
-
it is twovalued (all types are even empty).
-
wel... in dat geval zou approxtwovalued het toch moeten kunnen detecteren...
-
mogelijk wel, maar sowieso is de approx assert niet juist op die plaats
ik denk dat de clean voor constructoren niet slim genoeg is
-
foutje in de constructed sort table: recursief constructed type zonder base case heeft oo grootte.
- Log in to comment
Append assert and stacktrace?