Tcl Source Code

Ticket Change Details
Login
Overview

Artifact ID: 9c7c1ef93b3092c6c6556810d15ef9d5ef7a2dc9f033f42588d2b1b4b614a575
Ticket: 46442d45efc02ebf03e3054227210fbc54a3da2c
memleak in dict implementation, AllocChainEntry
User & Date: sebres 2024-04-19 12:40:50
Changes

  1. icomment:
    > Is this leaked by `AllocChainEntry` or by `TclMergeReturnOptions` or what?
    
    No... This traceback shows the allocation "history". A leak itself is somewhere else (there is no paired free for that alloc), not necessarily in dict implementation, and maybe even simple overwrite or lost of returned options (that dict object), because it was initially set by `Tcl_SetReturnOptions`.
    
    And since it is TEBCresume, it may be some missed de-cache or whatever causing an oblivion of objects in exec-stack. E. g. I saw some potentially missed DECACHE_STACK_INFO/CACHE_STACK_INFO in [merge of TIP#636](info/91c2f411e7e71552) and some following check-ins, for instance, IIRC, in INST_LIST_INDEX_IMM, as I was searching for an performance issue by iterate/llength over dict (have no time for deeper analysis at the moment).
    
    Anyway, if you don't see it in 8.7, can you try to revert [91c2f411e7e71552](info/91c2f411e7e71552), Don? Is it still there without that check-in?
    
  2. login: "sebres"
  3. mimetype: "text/x-markdown"