I received the same error message when using the Parameter of type CommaDelimitedList in my cfn template.
LoadBalancerSubnets:
Description: List of subnets for the ApplicationLoadBalancer
Type: CommaDelimitedList
Default: [ "subnet-123456", "subnet-012345" ]
This was due to my mis-interpretation of the CommaDelimitedList type. I thought it is actually a list but it turns out that the value should be a single String value in which the various elements should be separated by a comma.
So, I changed my template to look like this:
LoadBalancerSubnets:
Description: List of subnets for the ApplicationLoadBalancer
Type: CommaDelimitedList
Default: "subnet-123456,subnet-012345"
and this worked.
The error was a very generic one and there may be other scenarios as well in which the same error gets thrown.
However, I thought about sharing my experience with this error so it may help others who got stuck with the same problem.
Fn::Joindo NOT count as strings