I think we have a design issue below. mod_socache_dbm uses ctx->pool for many 
operations (retrieve, store, expire, etc.), but
ctx->pool is a child of the pconf pool and the same pool for all threads. I see 
two possible ways forward:

Either create a subpool each time or use a another external thread specific 
pool like r->pool.
A subpool might be more memory efficient but comes with the penalty of a 
process lock for creation and destroying
while something like r->pool might consume more memory but does not require 
additional locking.
Any opinions?

Regards

RĂ¼diger


-------- Forwarded Message --------
Subject: [Bug 69841] New: "double free or corruption" with mod_socache_dbm 
(socache_dbm_retrieve() + database_cleanup())
Date: Sun, 05 Oct 2025 08:39:23 +0000
From: [email protected]
Reply-To: Apache HTTPD Bugs Notification List <[email protected]>
To: [email protected]

https://bz.apache.org/bugzilla/show_bug.cgi?id=69841

            Bug ID: 69841
           Summary: "double free or corruption" with mod_socache_dbm
                    (socache_dbm_retrieve() + database_cleanup())
           Product: Apache httpd-2
           Version: 2.4.65
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: mod_socache_(dbm|dc|memcache|shmcb)
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---



Reply via email to