The latest drop into MongoDB has introduced a new failure, seen here in a Windows DEBUG test:
[js_test:fsm_all_sharded_with_stepdowns] 2017-11-13T00:03:15.390+0000 d20015| 2017-11-13T00:03:15.390+0000 I CONTROL [thread20] *** unhandled exception (access violation) at 0x0000000141118C12, terminating [js_test:fsm_all_sharded_with_stepdowns] 2017-11-13T00:03:15.390+0000 d20015| 2017-11-13T00:03:15.390+0000 I CONTROL [thread20] *** access violation was a read from 0x4c467b99 [js_test:fsm_all_sharded_with_stepdowns] 2017-11-13T00:03:15.390+0000 d20015| 2017-11-13T00:03:15.390+0000 I CONTROL [thread20] *** stack trace for unhandled exception: [js_test:fsm_all_sharded_with_stepdowns] 2017-11-13T00:03:15.519+0000 d20015| 2017-11-13T00:03:15.520+0000 I CONTROL [thread20] mongod.exe ...\src\third_party\wiredtiger\src\cache\cache_las.c(852) __wt_las_sweep+0x658x [js_test:fsm_all_sharded_with_stepdowns] 2017-11-13T00:03:15.519+0000 d20015| 2017-11-13T00:03:15.520+0000 I CONTROL [thread20] mongod.exe ...\src\third_party\wiredtiger\src\conn\conn_sweep.c(319) __sweep_server+0x190x [js_test:fsm_all_sharded_with_stepdowns] 2017-11-13T00:03:15.519+0000 d20015| 2017-11-13T00:03:15.520+0000 I CONTROL [thread20] mongod.exe d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp(92) invoke_thread_procedure+0x44x [js_test:fsm_all_sharded_with_stepdowns] 2017-11-13T00:03:15.519+0000 d20015| 2017-11-13T00:03:15.520+0000 I CONTROL [thread20] mongod.exe d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp(115) thread_start<unsigned int (__cdecl*)(void * __ptr64)>+0x147x [js_test:fsm_all_sharded_with_stepdowns] 2017-11-13T00:03:15.519+0000 d20015| 2017-11-13T00:03:15.520+0000 I CONTROL [thread20] kernel32.dll BaseThreadInitThunk+0x13x [js_test:fsm_all_sharded_with_stepdowns] 2017-11-13T00:03:15.519+0000 d20015| 2017-11-13T00:03:15.520+0000 I - [thread20]
Note: this was a bug sweeping the lookaside table (i.e., discarding historical versions of data). The thread sweeping the lookaside table was using an invalid test to determine what data to discard. As well as the segfault we saw above, this could lead to reads seeing incorrect versions of data.