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.