Hello,
I am fighting with the same problem using 16.4 and 17 versions. I am not sure if the problem appeared in 16.4, I can not check with older versions because I need certain features from latest versions.
It is happening with QU4 elements and never with TRI3 elements. Reviewing the code, it seems that the problem occurs during the pairing procedure with continuous contact. The procedure relies on the projection of the slave node onto master elements and uses a Newton algorithm. Maybe the fact that TRI3 elements are strictly flat is making convergence easier.
Replacing in bibfor/cont_pair/mmnewt.F90 the line 159
if (type_elem .ne. 'QU4' .and. type_elem .ne. 'QU8') then
by
if (type_elem .ne. 'QU8') then
is improving the situation by a lot. Now it converges most of the time with QU4 elements, but still randomly crashes in some cases where nothing seems to justify it. I assume there was a reason why the part of the code considering local curvature was not activated for QU4 elements, so the modification suggested above is likely not making the subroutine 100% correct.
It would be great if someone that knows this part of the code better could suggest a change to make it possible to work with QU4 elements without random crashes.