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