UniData cleanupd daemon can core dump under some circumstances, resulting in a database hang
A problem was discovered where the cleanupd daemon could have dumped core and terminated abnormally. Once this occurred, UniData processes may have hung. Attempts to launch new processes failed with a message like 'Cleanupd is running, please wait.' The problem occurred if an administrator killed a UniData process that was involved in a complex series of record locks. Typically that process would have been queued up waiting for a lock held by another process, and multiple processes were queued up waiting for locks held by the process that was killed. This situation caused an array overflow and corruption of some global variables in cleanupd, and has been fixed.
The stack trace in the core file created by the cleanupd process typically resembled the following:
U_MoveToOwnlist() at 0x10002a4c0
GLM_Deamon_SingleRelease() at 0x100028594
U_glm_logical_cleanup() at 0x100026578
U_logproc_cleanup@AF8_1() at 0x1000231d0
U_daemon_all_logical_cleanup() at 0x100005f14
U_daemon_cleanup() at 0x1000381f8
U_daemon_timeproc() at 0x100037a60
main() at 0x100001cb4
This problem can occur at UniData releases 7.2.0 through 7.2.6. Whereas it has only been reported by customers running 7.2.5 or 7.2.6 on AIX, the problem could occur on other operating systems.
This problem has been fixed at UniData release 7.2.7 and is referenced by issue number UDT-3699. There is an upgrade path for all platforms available at this time.
If you are running on AIX, you can also download and install a patch that just contains the cleanupd and cleanupd.d executables. This allows you to avoid the problem until you can schedule an upgrade that contains the fix for this problem. Here is a readme text file that describes how to install the patch:
Here is a compressed tar image of the cleanupd and cleanupd.d executables. These are suitable for installation on AIX only, with UniData releases 7.2.5 or 7.2.6: