Error processing edit for tag path

I have the following loop which is meant to reconfigure my limit tags in some UDT's:

		        for i in range(6):
					print i
					print v_paths[i]
					config = system.tag.getConfiguration(v_paths[i], True)[0]  # Get the first (and presumably only) item from the list
					print config["path"]
					config["expression"] = v_values[i]  # Update the 'expression' key in the dictionary
					print(config)
					system.tag.configure(config["path"], [config], "o")  # Pass the modified configuration back as a list

The output of those print lines:

5
KPI/HT_TF_ZONE12/LIMIT_H
[default]KPI/HT_TF_ZONE12/LIMIT_H
{u'tagGroup': u'Every 10 sec', u'historyEnabled': True, u'expression': None, u'query': {bindType=parameter, binding=SELECT ROUND(NVL(UPPER_LIMIT, 95), 1) FROM lu_item_kpv_limits WHERE INVENTORY_ITEM_ID = {[.]ITEM_ID} AND KPV = '{NAME}' AND RESOURCES = '{[.]RESOURCE}'}, u'dataType': Float8, u'sampleMode': TagGroup, u'executionMode': FixedRate, u'executionRate': 60000L, u'historyProvider': u'Historian', u'queryType': Select, u'path': [default]KPI/HT_TF_ZONE12/LIMIT_H, u'datasource': u'Main', u'tagType': AtomicTag, u'name': u'LIMIT_H', u'engUnit': u'psi', u'valueSource': u'expr', u'historySampleRate': 1}


I'm getting the following error:

 Error processing edit for tag path '[default]KPI/HT_TF_ZONE12/LIMIT_H/LIMIT_H': Bad_Unsupported("The target path '[default]KPI/HT_TF_ZONE12/LIMIT_H' cannot accept children tags.") provider=default

I'm not sure what's going on here. If you'll notice, the "LIMIT_H" is repeated in the error the first time, but not the second. Anyone have an explanation for this? I'm on version 18.1.18.

What is LIMIT_H ? And what does the expression in v_values[5] look like ?
Are you getting the error only for the last iteration of the loop ?

edit:
this looks highly suspicious:

u'query': {
	bindType=parameter,
	binding=SELECT ROUND(NVL(UPPER_LIMIT, 95), 1) FROM lu_item_kpv_limits WHERE INVENTORY_ITEM_ID = {[.]ITEM_ID} AND KPV = '{NAME}' AND RESOURCES = '{[.]RESOURCE}'
}

Did you paste the result as is ?

can we see the configuration of LIMIT_H as it is in the GUI, and the rest of the script ?

edit: Okay I think I understand that output. The value of query is an object, the representation of which looks a bit like a dict. No issue here. I'll blame IA for this confusing output ;p

LIMIT_H is a tag inside a UDT. v_values[5] on this iteration is None, but with a value or not I get the same result. The query is what you'd see if you had the tag configured as a query tag. Yes, I pasted it as is.

After going over this issue with support, we found this to be an issue with the way system.tag.configuration handles UDT's. The final result:

• Using system.tag.editTag seems to be easier when making changes to individual tags within a UDT
• Link: system.tag.editTag - Ignition User Manual 7.9 - Ignition Documentation