Could it happen because of there being a few duplicate matches in the input. And that RANSAC fails if it picks two points that have the same coordinates in one image, and different coordinates in the other?
Here is the input that fails: (M =[x0,y0,x1,y1])
M =
 209 3179 66 3067
 258 3506 98 2324
 258 3506 66 2532
 116 589 76 4342
 282 3754 48 4217
 220 3504 100 4478
 191 2425 14 2882
 174 2182 14 2882
 249 3752 83 2320
 249 3752 14 1698
 249 3752 66 3067
 258 3339 14 2818
 258 3339 48 4217
 87 1267 118 1695
 193 2680 118 1695
 87 564 14 2882
 151 2056 19 144
 151 2056 102 1439
 263 2954 66 2532
 222 3185 102 1439
 74 910 19 3222
 217 3518 28 2499
 179 2199 24 3238
 148 956 28 2499
 301 4456 20 2947
 285 3166 28 2499


