Customer description: We are see a regression bug between sip6-6.5.1 and sip6-6.6.2. Basically code like this no longer works and results in a compilation error while doing the sip-build. 31 │ %Exception mylib::Exception(SIP_Exception) /PyName=mylibException/ { 32 │ %TypeHeaderCode 33 │ #include <Exception.h> 34 │ %End 35 │ %RaiseCode 36 │ const char *detail = sipExceptionRef.what(); 37 │ if (mylib::TimeoutException *te = dynamic_cast<mylib::TimeoutException *>(&sipExceptionRef)) { 38 │ SIP_BLOCK_THREADS 39 │ PyErr_SetString(sipException_mylib_TimeoutException, detail); 40 │ SIP_UNBLOCK_THREADS 41 │ } 42 │ else if (mylib::MetadataException *me = dynamic_cast<mylib::MetadataException *>(&sipExceptionRef)) { 43 │ SIP_BLOCK_THREADS 44 │ PyErr_SetString(sipException_mylib_MetadataException, detail); 45 │ SIP_UNBLOCK_THREADS 46 │ } 47 │ else { 48 │ SIP_BLOCK_THREADS 49 │ PyErr_SetString(sipException_mylib_Exception, detail); 50 │ SIP_UNBLOCK_THREADS 51 │ } 52 │ %End 53 │ 54 │ }; // Exception 55 │ 56 │ %Exception mylib::TimeoutException(mylib::Exception) /PyName=mylibTimeoutException/ { 57 │ %TypeHeaderCode 58 │ #include <Exception.h> 59 │ %End 60 │ %RaiseCode 61 │ const char *detail = sipExceptionRef.what(); 62 │ SIP_BLOCK_THREADS 63 │ PyErr_SetString(sipException_mylib_TimeoutException, detail); 64 │ SIP_UNBLOCK_THREADS 65 │ %End 66 │ }; // TimeoutException The bug has already been fixed by the upstream project in the 6.6 branch with this commit. https://www.riverbankcomputing.com/hg/sip/rev/1430b279a3c9 Define the value or impact to you or the business This bug was impeding our progress towards moving to el9 since it was breaking builds of internal software. As a short term stop gap we can downgrade to sip6-6.5.1 on our build machine. But that is not a tenable long term solution.