Commit graph

14 commits

Author SHA1 Message Date
e5fde7b55f fix(persist): zero nresvals_to_sched after free_name_val_list
Crash: encode_NameValue_list called with count=21, s=NULL on worker
rejoin, causing SIGSEGV in persist_worker_hook_fun.

Root cause: free_name_val_list(xce_name_val_t***, int) accepted count by
value. It zeroed *vals (resvals_to_sched = NULL) but could not zero
nresvals_to_sched. Any caller that freed the scheduler resource snapshot
(opget.c workerlist, reply.c clusterconf, dataex.c, sched.c dispatch)
left nresvals_to_sched stale. When the worker later rejoined and the
WAL HOOK fired, the WAL encoder read count=21 with a NULL pointer.

Fix: change signature to free_name_val_list(xce_name_val_t***, int*)
so both fields are zeroed atomically. Update all 7 call sites.
2026-05-20 09:39:07 +00:00
d47b3375e7 controller will pass resource <name, value> pair than <idx, value> pair 2026-05-13 07:18:03 +00:00
762b59c043 fix typo caused dead lock 2026-05-07 09:07:36 +00:00
3f74f14687 save works 2026-03-04 18:18:53 +08:00
acfbec875b save works 2026-03-03 16:49:26 +08:00
f4b1ba4cd7 save works 2026-03-02 12:14:30 +08:00
b748e30d20 save works 2026-02-28 17:55:50 +08:00
ce69347581 - implement xstring by librtti 2026-02-14 14:38:52 +08:00
e7dc09c604 fix memory leak in controller and use lock protect apiserver data structure 2026-01-26 15:35:45 +08:00
9e07a1b227 improve api server support 2026-01-23 17:33:10 +08:00
3b728e5135 improve support of api server in controller 2026-01-23 16:05:23 +08:00
44fc5b23e9 push more to api server 2026-01-22 17:23:18 +08:00
00d161aa11 add more helper functions more example code 2026-01-21 16:34:04 +08:00
70970434ca initial work of api server 2026-01-20 18:20:24 +08:00