Bug 2225259
| Summary: | sip6-6.6.2-1.el9 introduces a regression bug when using sub-classed C++ exceptions | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 9 | Reporter: | Steve Barcomb <sbarcomb> | |
| Component: | sip6 | Assignee: | Jan Grulich <jgrulich> | |
| Status: | VERIFIED --- | QA Contact: | Tomas Pelka <tpelka> | |
| Severity: | medium | Docs Contact: | ||
| Priority: | medium | |||
| Version: | 9.2 | CC: | desktop-qa-list, tpopela | |
| Target Milestone: | rc | Keywords: | Regression, Triaged, ZStream | |
| Target Release: | --- | |||
| Hardware: | All | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | sip6-6.6.2-2.el9 | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 2225605 (view as bug list) | Environment: | ||
| Last Closed: | Type: | Bug | ||
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 2225605 | |||
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.