|
70 | 70 | fun:thread_main_handle_connection |
71 | 71 | } |
72 | 72 |
|
| 73 | +# --- Valgrind 3.22 stale lock-identity metadata at reused addresses ------- |
| 74 | +# Ubuntu 24.04's Valgrind 3.22 keeps a lock's old mutex/rwlock classification |
| 75 | +# when allocator reuse places a differently typed pthread object at the same |
| 76 | +# address. Current Valgrind source removes that stale record on explicit |
| 77 | +# initialization, but that fix is not in the release used by CI. libmicrohttpd |
| 78 | +# owns and correctly initializes these mutexes; Helgrind nevertheless reports |
| 79 | +# "pthread_mutex_* with a pthread_rwlock_t* argument" when one reuses storage |
| 80 | +# formerly occupied by a std::shared_mutex rwlock. Entries are anchored on the |
| 81 | +# exact third-party MHD functions and cover only Helgrind:Misc, so races in |
| 82 | +# libhttpserver's own locking remain unsuppressed. |
| 83 | +{ |
| 84 | + mhd-valgrind322-stale-lock-new-connection |
| 85 | + Helgrind:Misc |
| 86 | + ... |
| 87 | + fun:new_connection_process_ |
| 88 | +} |
| 89 | +{ |
| 90 | + mhd-valgrind322-stale-lock-cleanup-connections |
| 91 | + Helgrind:Misc |
| 92 | + ... |
| 93 | + fun:MHD_cleanup_connections |
| 94 | +} |
| 95 | +{ |
| 96 | + mhd-valgrind322-stale-lock-update-last-activity |
| 97 | + Helgrind:Misc |
| 98 | + ... |
| 99 | + fun:MHD_update_last_activity_ |
| 100 | +} |
| 101 | +{ |
| 102 | + mhd-valgrind322-stale-lock-connection-cleanup |
| 103 | + Helgrind:Misc |
| 104 | + ... |
| 105 | + fun:cleanup_connection |
| 106 | +} |
| 107 | +{ |
| 108 | + mhd-valgrind322-stale-lock-close-all-connections |
| 109 | + Helgrind:Misc |
| 110 | + ... |
| 111 | + fun:close_all_connections |
| 112 | +} |
| 113 | +{ |
| 114 | + mhd-valgrind322-stale-lock-stop-daemon |
| 115 | + Helgrind:Misc |
| 116 | + ... |
| 117 | + fun:MHD_stop_daemon |
| 118 | +} |
| 119 | + |
73 | 120 | # --- libstdc++ shared_ptr control-block (atomic refcount + teardown) --------- |
74 | 121 | # The shared_ptr control block (_Sp_counted_base and its _Sp_counted_ptr_inplace |
75 | 122 | # derived) maintains an atomic use-/weak-count (_Lock_policy _S_atomic) that |
|
0 commit comments