Marcello, aren't all asserts are fatal anyway in debug? Right now, an assert failure causes a Jenkin run to stop (good), but without much actionable information such as core dump (bad). I'm simply trying to fix the bad.
Personally I'm not in favor of creating yet another assert macro if we can improve the existing one to work better. From: Lioy, Marcello [mailto:[email protected]] Sent: Friday, March 18, 2016 8:23 AM To: Way Vadhanasin <[email protected]>; [email protected] Subject: RE: Making QCC_ASSERT generate core dump? We could add a QCC_ASSERT_FATAL() that would trigger the seg_fault rather than having all of them fail. It would be my preference that no all asserts trigger this behavior, but would like to hear from others. From: [email protected]<mailto:[email protected]> [mailto:[email protected]] On Behalf Of Way Vadhanasin Sent: Thursday, March 17, 2016 2:20 PM To: [email protected]<mailto:[email protected]> Subject: [Allseen-core] Making QCC_ASSERT generate core dump? I recently encountered a series of lock level assert issues in Jenkins with information like this: Acquiring lock 0x7fe6580570e0 level 13040 (alljoyn_core/router/UDPTransport.cc:3670). Current thread already owns lock 0x2bec360 level 13060 (alljoyn_core/router/UDPTransport.cc:1584). ajtest: common/src/LockOrderChecker.cc:214: void qcc::LockOrderChecker::AcquiringLock(const qcc::Mutex*, const char*, uint32_t): Assertion `false && "Detected out-of-order lock acquire"' failed (see full log here: https://build.allseenalliance.org/ci/job/linux-gcc46-test-verify/1032/artifact/FAIL____ajtest.log<https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fbuild.allseenalliance.org%2fci%2fjob%2flinux-gcc46-test-verify%2f1032%2fartifact%2fFAIL____ajtest.log&data=01%7c01%7cWayakorn.Vadhanasin%40microsoft.com%7c61abc99326804a1cdbf708d34f413759%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=6yelDHsG3xUIKNdgckMuXNY9hUkdhg7TI%2fI8PjFvKHU%3d>) While this is useful, a core dump would be even better. We can either cause a segmentation fault always when assert fires (use another assert or just deference a nullptr) or do it only on a lock level assert failure. Does anyone have a preference one way or the other? I tend to think do it on all assert failures is better. Thanks, Way
_______________________________________________ Allseen-core mailing list [email protected] https://lists.allseenalliance.org/mailman/listinfo/allseen-core
