Actions
Bug #11620
closedAgent segfaults when merging non-container data variables
Pull Request:
Severity:
Major - prevents use of part of Rudder | no simple workaround
UX impact:
User visibility:
Infrequent - complex configurations | third party integrations
Effort required:
Priority:
40
Name check:
Fix check:
Regression:
Description
Coonsider the following /var/rudder/local/properties.d/zwq10.json file
{ "env":"PROD10IT", "foo":"plop" }
Running the agent causes a segfault:
rudder debug: Iteration engine finished --- WARPING OUT rudder debug: DeRefCopyPromise(): promiser:'namespace[${sorted_files}]' rudder debug: DeRefCopyPromise(): copying constraint: 'slist' rudder debug: Starting iteration engine with 2 wheels --- ENTERING WARP SPEED rudder debug: Evaluating function: getindices("property_${file_id[${sorted_files}]}") rudder debug: Evaluating vars promise: namespace[/var/rudder/cfengine-community/inputs/common/1.0/../../properties.d/aproperties.json] rudder debug: Evaluating function: getindices("property_${file_id[${sorted_files}]}") rudder debug: Evaluating vars promise: namespace[/var/rudder/cfengine-community/inputs/common/1.0/../../properties.d/properties.json] rudder debug: Evaluating function: getindices("property_${file_id[${sorted_files}]}") rudder debug: Evaluating vars promise: namespace[/var/rudder/cfengine-community/inputs/common/1.0/../../properties.d/zroperties.json] rudder debug: Evaluating function: getindices("property_${file_id[${sorted_files}]}") rudder debug: Evaluating vars promise: namespace[/var/rudder/local/properties.d/10.json] rudder debug: Evaluating function: getindices("property_${file_id[${sorted_files}]}") rudder debug: Evaluating vars promise: namespace[/var/rudder/local/properties.d/properties.json] rudder debug: Evaluating function: getindices("property_${file_id[${sorted_files}]}") rudder debug: Evaluating vars promise: namespace[/var/rudder/local/properties.d/zwq10.json] rudder debug: Iteration engine finished --- WARPING OUT rudder debug: DeRefCopyPromise(): promiser:'node.${namespace[${sorted_files}]}' rudder debug: DeRefCopyPromise(): copying constraint: 'data' rudder debug: Starting iteration engine with 2 wheels --- ENTERING WARP SPEED rudder debug: Evaluating function: parsejson("{}") rudder debug: Evaluating vars promise: node.properties rudder debug: Evaluating function: parsejson("{}") rudder debug: Evaluating vars promise: node.properties rudder debug: Evaluating function: parsejson("{}") rudder debug: Evaluating vars promise: node.properties rudder debug: Evaluating function: parsejson("{}") rudder debug: Evaluating vars promise: node.properties rudder debug: Evaluating function: parsejson("{}") rudder debug: Evaluating vars promise: node.properties rudder debug: Evaluating function: parsejson("{}") rudder debug: Evaluating vars promise: node.env rudder debug: Evaluating function: parsejson("{}") rudder debug: Evaluating vars promise: node.foo rudder debug: Iteration engine finished --- WARPING OUT rudder debug: DeRefCopyPromise(): promiser:'node.${namespace[${sorted_files}]}' rudder debug: DeRefCopyPromise(): copying constraint: 'data' rudder debug: Starting iteration engine with 3 wheels --- ENTERING WARP SPEED rudder debug: Evaluating function: mergedata("node.${namespace[${sorted_files}]}","property_${file_id[${sorted_files}]}[${namespace[${sorted_files}]}]") rudder debug: Evaluating vars promise: node.properties rudder debug: Evaluating function: mergedata("node.${namespace[${sorted_files}]}","property_${file_id[${sorted_files}]}[${namespace[${sorted_files}]}]") rudder debug: Evaluating vars promise: node.properties rudder debug: Evaluating function: mergedata("node.${namespace[${sorted_files}]}","property_${file_id[${sorted_files}]}[${namespace[${sorted_files}]}]") rudder debug: Evaluating vars promise: node.properties rudder debug: Evaluating function: mergedata("node.${namespace[${sorted_files}]}","property_${file_id[${sorted_files}]}[${namespace[${sorted_files}]}]") rudder debug: Evaluating vars promise: node.properties rudder debug: Evaluating function: mergedata("node.${namespace[${sorted_files}]}","property_${file_id[${sorted_files}]}[${namespace[${sorted_files}]}]") rudder debug: Evaluating vars promise: node.properties rudder debug: Evaluating function: mergedata("node.${namespace[${sorted_files}]}","property_${file_id[${sorted_files}]}[${namespace[${sorted_files}]}]") Segmentation fault
Version: Rudder agent 4.1.7-jessie0 (CFEngine Core 3.10.2)
Actions