- edited description
XSB problems
Na mergen van laatste pull request https://bitbucket.org/krr/idp/pull-request/301/xsb-fixes
gaat er 't een en 't ander mis in het testframework gerelateerd aan xsb
Op zijn minst twee falende tests:
Failed: CalculateDefinitionsWithXSB/CalculateDefinitionsWithXSBTest.CalculatesDefinitionWithXSB/52
Testing /home/bartb/software/idp/tests/definitionWithXSBtests/twovalued_opens/knapsack.idp
FAIL! Calculating the definition with XSB resulted in no model, while without XSB it did have a model.
/home/bartb/software/idp/tests/mxtests/definitionWithXSBtests.cpp:80: Failure
Value of: Status::SUCCESS
Actual: success
Expected: result
Which is: failed
en
[==========] RefinesDefinitionWithXSB/RefineDefinitionsWithXSBTest.RefinesDefinitionWithXSB/63
Testing /home/bartb/software/idp/tests/definitionWithXSBtests/twovalued_opens/gcd.idp
Refined definitions with XSB...Out of resources
Shutdown failed, aborting.
Aborted (core dumped)
Mogelijks gaat er dus nog meer mis...
aub: run make check voor je een pull request mergt!
Comments (5)
-
reporter -
reporter Revert "Merged in xsbupdate (pull request #301) "
This reverts commit 5e93b4725c5aa588fdc181d4cf0814809f26fb36, reversing changes made to 820a1ef3031b0d7baee28bd6b8c9c39e3f217174.
See
#838→ <<cset dbdcc95a941f>>
-
reporter Changes uit die pull request zijn terug uit master en zitten in https://bitbucket.org/krr/idp/commits/branch/xsb_fixes_dirty
-
-
assigned issue to
Ik kan niet meteen vinden waar het probleem zit. Ik krijg segfaults omdat gcd.idp in een timeout gaat en het "killen" zorgt voor de segfault.
Ik kijk er volgende week naar.
-
assigned issue to
-
- changed status to resolved
The first failing test case (knapsack.idp) was a result of a faulty commit in this branch. The second failing test case (gcd.idp) is a result of a timeout. This timeout is caught during XSB's run and is not handled properly. This is then reduced to issue #672
Something to think about: I looked at why gcd.idp is so slow and I found that a relative simple definition is transformed into a gigantic one. This might be worth looking into. The example is given below:
{ dist(a,b)= xDist(a,b)*xDist(a,b)+yDist(a,b)*yDist(a,b). }
Is transformed into
{ ! a[El] b[El] var3339[El] : dist(a[El],b[El],var3339[El]) <- ( (? var3340[s1..3] var3341[s1..3] var3342[s1..9] var3343[s1..3] var3344[s1..3] var3345[s1..9] : (xDist(a[El],b[El],var3340[s1..3]) & (xDist(a[El],b[El],var3341[s1..3]) & ( *(var3340[s1..3],var3341[s1..3],var3342[s1..9]) & *( yDist(a[El],b[El],var3343[s1..3]) & *( yDist(a[El],b[El],var3344[s1..3]) & *(var3343[s1..3],var3344[s1..3],var3345[s1..9]) & +(var3342[s1..9],var3345[s1..9],var3339[El])) ) & (? var3346[s1..3] var3347[s1..3] var3348[s1..9] var3349[s1..3] var3350[s1..3] var3351[s1..9] var3352[s2..18] : ( xDist(a[El],b[El],var3346[s1..3]) & xDist(a[El],b[El],var3347[s1..3]) & *(var3346[s1..3],var3347[s1..3],var3348[s1..9]) & yDist(a[El],b[El],var3349[s1..3]) & yDist(a[El],b[El],var3350[s1..3]) & *(var3349[s1..3],var3350[s1..3],var3351[s1..9]) & +(var3348[s1..9],var3351[s1..9],var3352[s2..18]) & El(var3352[s2..18]) ) ) ). }
- Log in to comment