I recently encountered a similar frustrating error with ca.jo(). The problem is numerical, not statistical. Very large numbers cause problems for solve(), and when you take the cross-product of a series where all the numbers are on the scale of 10^12 you get very large numbers.
I reproduced the error on the data you posted, and the error is alleviated simply by dividing s01 and s03 by 10^9.