Back to bug 1410154
| Who | When | What | Removed | Added |
|---|---|---|---|---|
| Florian Weimer | 2017-01-04 15:57:14 UTC | Link ID | Sourceware 16628 | |
| Depends On | 1393909 | |||
| Paulo Andrade | 2017-01-04 16:07:04 UTC | Summary | crash due to not finding libnss_wins.so.2 in getaddrinfo | crash due to not finding libnss_wins.so.2 dependencies in getaddrinfo |
| Deepu K S | 2017-01-17 09:31:40 UTC | CC | dkochuka | |
| Carlos O'Donell | 2017-01-19 14:03:57 UTC | Assignee | codonell | glibc-bugzilla |
| Chris Williams | 2017-06-22 18:31:47 UTC | CC | cww | |
| Blocks | 1420851 | |||
| Carlos O'Donell | 2017-07-18 18:32:59 UTC | CC | codonell | |
| Carlos O'Donell | 2017-07-18 18:33:24 UTC | Keywords | Patch | |
| Chris Williams | 2018-03-16 21:14:20 UTC | Priority | unspecified | medium |
| Blocks | 1477664 | |||
| Kyle Walker | 2018-04-04 19:02:02 UTC | CC | kwalker | |
| Florian Weimer | 2018-11-20 09:35:02 UTC | Status | NEW | ASSIGNED |
| Target Release | --- | 8.1 | ||
| Version | 7.3 | --- | ||
| Component | glibc | glibc | ||
| CC | dj | |||
| Link ID | Sourceware 20839 | |||
| Target Milestone | rc | pre-dev-freeze | ||
| Product | Red Hat Enterprise Linux 7 | Red Hat Enterprise Linux 8 | ||
| Florian Weimer | 2018-11-20 09:36:30 UTC | Summary | crash due to not finding libnss_wins.so.2 dependencies in getaddrinfo | glibc: Incomplete rollback of dynamic linker state on linking failure |
| Florian Weimer | 2018-11-21 12:01:12 UTC | Keywords | Patch | |
| John Ruemker | 2019-02-27 16:56:12 UTC | Blocks | 1679810 | |
| Chris Williams | 2019-03-06 22:38:23 UTC | Blocks | 1420851, 1477664 | |
| Renaud Métrich | 2019-05-23 17:56:29 UTC | CC | rmetrich | |
| Carlos O'Donell | 2019-10-01 13:10:23 UTC | Blocks | 1599298 | |
| CC | woodard | |||
| Carlos O'Donell | 2019-10-01 13:11:58 UTC | Link ID | Red Hat Bugzilla 1395758 | |
| Lenka Špačková | 2019-10-09 10:05:57 UTC | CC | lkuprova | |
| Florian Weimer | 2019-11-15 14:11:28 UTC | Summary | glibc: Incomplete rollback of dynamic linker state on linking failure | glibc: Incomplete rollback of dynamic linker state on dlopen failure (NODELETE bug) |
| Florian Weimer | 2019-11-28 14:50:51 UTC | Depends On | 1395758 | |
| Sergey Kolosov | 2019-11-28 17:23:22 UTC | CC | skolosov | |
| Matt Newsome | 2019-12-02 10:06:53 UTC | Keywords | Bugfix | |
| Florian Weimer | 2019-12-09 13:05:09 UTC | Assignee | glibc-bugzilla | fweimer |
| Florian Weimer | 2019-12-14 08:46:13 UTC | Status | ASSIGNED | MODIFIED |
| Link ID | Sourceware 24304 | |||
| Fixed In Version | glibc-2.28-100.el8 | |||
| Doc Text | Cause: The glibc dynamic linker did not remove some newly-loaded shared objects marked as NODELETE before reporting the error the caller, if the dlopen call eventually failed. Consequence: Unrelocated, uninitialized shared objects remained in the process image, eventually resulting in assertion failures or crashes. Fix: A new pending NODELETE state for newly loaded objects is introduced, and the dynamic loader removes such objects on dlopen failure. Result: No unrelocated shared objects are left behind. Furthermore, lazy binding failures while ELF constructors and destructors run now terminate the process. | |||
| Doc Type | If docs needed, set a value | Bug Fix | ||
| errata-xmlrpc | 2019-12-16 13:14:59 UTC | Status | MODIFIED | ON_QA |
| Lucie Vařáková | 2020-01-03 11:49:56 UTC | CC | lmanasko | |
| Docs Contact | sdubewar | |||
| Sagar Dubewar | 2020-01-13 10:01:53 UTC | Doc Text | Cause: The glibc dynamic linker did not remove some newly-loaded shared objects marked as NODELETE before reporting the error the caller, if the dlopen call eventually failed. Consequence: Unrelocated, uninitialized shared objects remained in the process image, eventually resulting in assertion failures or crashes. Fix: A new pending NODELETE state for newly loaded objects is introduced, and the dynamic loader removes such objects on dlopen failure. Result: No unrelocated shared objects are left behind. Furthermore, lazy binding failures while ELF constructors and destructors run now terminate the process. | .Introducing pending NODELETE state for objects on dlopen failure Previously, if the dlopen call failed, the glibc dynamic linker did not remove shared objects with the NODELETE mark before reporting the error. Consequently, the unrelocated and uninitialized shared objects remained in the process image, eventually resulting in assertion failures or crashes. With this enhancement, a newly-introduced pending NODELETE state for newly loaded objects and the dynamic loader removes such objects on dlopen failure. As a result, the process does not leave any unreloacated objects behind. Also, lazy binding failures, while ELF constructors and destructors run now terminate the process. |
| Flags | needinfo?(fweimer) | |||
| Florian Weimer | 2020-01-13 16:35:18 UTC | Flags | needinfo?(fweimer) | |
| Sagar Dubewar | 2020-01-14 05:17:55 UTC | Doc Text | .Introducing pending NODELETE state for objects on dlopen failure Previously, if the dlopen call failed, the glibc dynamic linker did not remove shared objects with the NODELETE mark before reporting the error. Consequently, the unrelocated and uninitialized shared objects remained in the process image, eventually resulting in assertion failures or crashes. With this enhancement, a newly-introduced pending NODELETE state for newly loaded objects and the dynamic loader removes such objects on dlopen failure. As a result, the process does not leave any unreloacated objects behind. Also, lazy binding failures, while ELF constructors and destructors run now terminate the process. | .Remove shared objects marked with NODELETE if dlopen fails Previously, if the dlopen call failed, the glibc dynamic linker did not remove shared objects with the NODELETE mark before reporting the error. Consequently, the unrelocated and uninitialized shared objects remained in the process image, eventually resulting in assertion failures or crashes. With this enhancement, a newly-introduced pending NODELETE state for newly loaded objects and the dynamic loader removes such objects on dlopen failure. As a result, the process does not leave any unreloacated objects behind. Also, lazy binding failures while ELF constructors and destructors run now terminate the process. |
| Flags | needinfo?(fweimer) | |||
| Florian Weimer | 2020-01-16 13:38:59 UTC | Flags | needinfo?(fweimer) | |
| Florian Weimer | 2020-01-16 13:39:46 UTC | Link ID | Sourceware 25396 | |
| Sagar Dubewar | 2020-01-16 14:35:50 UTC | Doc Text | .Remove shared objects marked with NODELETE if dlopen fails Previously, if the dlopen call failed, the glibc dynamic linker did not remove shared objects with the NODELETE mark before reporting the error. Consequently, the unrelocated and uninitialized shared objects remained in the process image, eventually resulting in assertion failures or crashes. With this enhancement, a newly-introduced pending NODELETE state for newly loaded objects and the dynamic loader removes such objects on dlopen failure. As a result, the process does not leave any unreloacated objects behind. Also, lazy binding failures while ELF constructors and destructors run now terminate the process. | .Remove shared objects marked with NODELETE if dlopen fails Previously, if the dlopen call failed, the glibc dynamic linker did not remove shared objects with the NODELETE mark before reporting the error. Consequently, the unrelocated and uninitialized shared objects remained in the process image, eventually resulting in assertion failures or crashes. With this enhancement, a newly-introduced pending NODELETE state for newly loaded objects and the dynamic loader removes such objects on dlopen failure. As a result, the process does not leave any unrelocated objects behind. Also, lazy binding failures while ELF constructors and destructors run now terminate the process. |
| Flags | needinfo?(fweimer) | |||
| Florian Weimer | 2020-01-16 14:41:39 UTC | Flags | needinfo?(fweimer) | |
| Florian Weimer | 2020-01-17 02:44:06 UTC | Status | ON_QA | MODIFIED |
| Fixed In Version | glibc-2.28-100.el8 | glibc-2.28-101.el8 | ||
| Sagar Dubewar | 2020-01-17 08:37:48 UTC | Doc Text | .Remove shared objects marked with NODELETE if dlopen fails Previously, if the dlopen call failed, the glibc dynamic linker did not remove shared objects with the NODELETE mark before reporting the error. Consequently, the unrelocated and uninitialized shared objects remained in the process image, eventually resulting in assertion failures or crashes. With this enhancement, a newly-introduced pending NODELETE state for newly loaded objects and the dynamic loader removes such objects on dlopen failure. As a result, the process does not leave any unrelocated objects behind. Also, lazy binding failures while ELF constructors and destructors run now terminate the process. | .Remove shared objects marked with NODELETE if dlopen fails Previously, if the dlopen call failed, the glibc dynamic linker did not remove shared objects with the NODELETE mark before reporting the error. Consequently, the unrelocated and uninitialized shared objects remained in the process image, eventually resulting in assertion failures or crashes. With this enhancement, the pending NODELETE state for newly loaded objects, along with the dynamic loader, removes shared objects on dlopen failure. As a result, the process does not leave any unrelocated objects behind. Also, lazy binding failures while ELF constructors and destructors run now terminate the process. |
| Flags | needinfo?(fweimer) | |||
| Florian Weimer | 2020-01-17 09:46:15 UTC | Flags | needinfo?(fweimer) | |
| Sagar Dubewar | 2020-01-17 09:50:06 UTC | Doc Text | .Remove shared objects marked with NODELETE if dlopen fails Previously, if the dlopen call failed, the glibc dynamic linker did not remove shared objects with the NODELETE mark before reporting the error. Consequently, the unrelocated and uninitialized shared objects remained in the process image, eventually resulting in assertion failures or crashes. With this enhancement, the pending NODELETE state for newly loaded objects, along with the dynamic loader, removes shared objects on dlopen failure. As a result, the process does not leave any unrelocated objects behind. Also, lazy binding failures while ELF constructors and destructors run now terminate the process. | .Remove shared objects marked with NODELETE if dlopen fails Previously, if the dlopen call failed, the glibc dynamic linker did not remove shared objects with the NODELETE mark before reporting the error. Consequently, the unrelocated and uninitialized shared objects remained in the process image, eventually resulting in assertion failures or crashes. With this enhancement, the dynamic loader uses a pending NODELETE state to remove shared objects upon dlopen failure, before marking them as NODELETE permanently. As a result, the process does not leave any unrelocated objects behind. Also, lazy binding failures while ELF constructors and destructors run now terminate the process. |
| Flags | needinfo?(fweimer) | |||
| Florian Weimer | 2020-01-17 10:04:30 UTC | Flags | needinfo?(fweimer) | |
| Sagar Dubewar | 2020-01-17 11:12:36 UTC | Doc Text | .Remove shared objects marked with NODELETE if dlopen fails Previously, if the dlopen call failed, the glibc dynamic linker did not remove shared objects with the NODELETE mark before reporting the error. Consequently, the unrelocated and uninitialized shared objects remained in the process image, eventually resulting in assertion failures or crashes. With this enhancement, the dynamic loader uses a pending NODELETE state to remove shared objects upon dlopen failure, before marking them as NODELETE permanently. As a result, the process does not leave any unrelocated objects behind. Also, lazy binding failures while ELF constructors and destructors run now terminate the process. | .Remove shared objects marked with `NODELETE` if `dlopen` fails Previously, if the `dlopen` call failed, the `glibc` dynamic linker did not remove shared objects with the `NODELETE` mark before reporting the error. Consequently, the unrelocated and uninitialized shared objects remained in the process image, eventually resulting in assertion failures or crashes. With this enhancement, the dynamic loader uses a pending `NODELETE` state to remove shared objects upon `dlopen` failure, before marking them as `NODELETE` permanently. As a result, the process does not leave any unrelocated objects behind. Also, lazy binding failures while ELF constructors and destructors run now terminate the process. |
| errata-xmlrpc | 2020-01-20 16:27:28 UTC | Status | MODIFIED | ON_QA |
| Lenka Špačková | 2020-01-21 12:42:52 UTC | CC | sdubewar | |
| Flags | needinfo?(sdubewar) | |||
| Sagar Dubewar | 2020-01-22 05:09:00 UTC | Doc Text | .Remove shared objects marked with `NODELETE` if `dlopen` fails Previously, if the `dlopen` call failed, the `glibc` dynamic linker did not remove shared objects with the `NODELETE` mark before reporting the error. Consequently, the unrelocated and uninitialized shared objects remained in the process image, eventually resulting in assertion failures or crashes. With this enhancement, the dynamic loader uses a pending `NODELETE` state to remove shared objects upon `dlopen` failure, before marking them as `NODELETE` permanently. As a result, the process does not leave any unrelocated objects behind. Also, lazy binding failures while ELF constructors and destructors run now terminate the process. | .Unrelocated and uninitialized shared objects no longer result in failures if `dlopen` fails Previously, if the `dlopen` call failed, the `glibc` dynamic linker did not remove shared objects with the `NODELETE` mark before reporting the error. Consequently, the unrelocated and uninitialized shared objects remained in the process image, eventually resulting in assertion failures or crashes. With this update, the dynamic loader uses a pending `NODELETE` state to remove shared objects upon `dlopen` failure, before marking them as `NODELETE` permanently. As a result, the process does not leave any unrelocated objects behind. Also, lazy binding failures while ELF constructors and destructors run now terminate the process. |
| Flags | needinfo?(lkuprova) | |||
| Lenka Špačková | 2020-01-22 07:45:20 UTC | Flags | needinfo?(sdubewar) needinfo?(lkuprova) | |
| Sergey Kolosov | 2020-03-16 19:28:23 UTC | Status | ON_QA | VERIFIED |
| errata-xmlrpc | 2020-04-28 00:32:03 UTC | Status | VERIFIED | RELEASE_PENDING |
| errata-xmlrpc | 2020-04-28 16:50:14 UTC | Status | RELEASE_PENDING | CLOSED |
| Resolution | --- | ERRATA | ||
| Last Closed | 2020-04-28 16:50:14 UTC | |||
| errata-xmlrpc | 2020-04-28 16:50:51 UTC | Link ID | Red Hat Product Errata RHSA-2020:1828 | |
| Red Hat One Jira (issues.redhat.com) | 2021-07-10 14:08:03 UTC | Link ID | Red Hat Issue Tracker RHELPLAN-17581 | |
| Pavel Najman | 2021-09-17 12:06:46 UTC | Pool ID | sst_platform_tools_rhel_8 | sst_pt_gcc_glibc_rhel_8 |
| Mark O'Brien | 2023-07-18 14:30:35 UTC | Pool ID | sst_pt_glibc_rhel_8 | sst_pt_libraries_rhel_8 |
Back to bug 1410154