Assert fail on one of the tests

Issue #636 new
Joachim Jansen created an issue

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)

  1. Joachim Jansen reporter

    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)

  2. Joachim Jansen reporter

    The failling assert is the isTwoValued() assert after a makeTwoValued() operation on a structure

  3. Joachim Jansen 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)

  4. Broes De Cat

    The assert is wrong in this case. The structure might not be approxtwovalued in the end (as it is approx).

  5. Broes De Cat

    mogelijk wel, maar sowieso is de approx assert niet juist op die plaats

    ik denk dat de clean voor constructoren niet slim genoeg is

  6. Broes De Cat

    foutje in de constructed sort table: recursief constructed type zonder base case heeft oo grootte.

  7. Log in to comment