Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Instructive error message
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Tue, 24 Oct 2023 23:11:10 +0000 (01:11 +0200)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Tue, 24 Oct 2023 23:11:10 +0000 (01:11 +0200)
src/sthread/ObjectAccess.cpp

index 30c10f3..7e3e6d4 100644 (file)
@@ -120,8 +120,9 @@ void sthread_access_end(void* objaddr, const char* objname, const char* file, in
       [self, objaddr, objname]() -> void {
         XBT_INFO("%s releases %s", self->get_cname(), objname);
         auto* ownership = get_owner(objaddr);
-        xbt_assert(ownership->owner == self, "safety check failed: %s is not owner of the object it's releasing.",
-                   self->get_cname());
+        xbt_assert(ownership->owner == self,
+                   "safety check failed: %s is not owner of the object it's releasing. That object owned by %s.",
+                   self->get_cname(), (ownership->owner == nullptr ? "nobody" : ownership->owner->get_cname()));
         ownership->recursive_depth--;
         if (ownership->recursive_depth == 0)
           ownership->owner = nullptr;