Currently, shared tabling has many restrictions. The implementation does not verify that the limitations are met and violating these restrictions may cause incorrect results or crashes. Future versions are expected to resolve these issues.
SWI-Prolog's continuation based tabling offers the opportunity to perform completion using multiple threads.