StringLength() takes a string as argument. But you give an integer for parameter.
You don't need even this location, here you go:
Custom script: local unit udg_u = GetTriggerUnit()
Unit - Add Expiraton Timer to u
Wait - 5.00 seconds
Custom script: call CreateUnit(GetTriggerPlayer(), GetUnitTypeId(udg_u), GetLocationX(udg_u), GetLocationY(udg_u), 0)
Custom script: set udg_u = null