-
Marc Alff authored
FAILURES ON PB2 Before this fix, the test suite had sporadic failures when testing statistics related the the socket instruments. A possible root cause is now identified: in table_all_instr::rnd_next(), which is executed when selecting from table EVENTS_WAITS_SUMMARY_BY_INSTANCE, the code that returns a row for a socket waits is: case pos_all_instr::VIEW_SOCKET: { PFS_socket_iterator it= global_socket_container.iterate(m_pos.m_index_2); socket= it.scan_next(& m_pos.m_index_2); if (file != NULL) { make_socket_row(socket); m_next_pos.set_after(&m_pos); return 0; } } break; } The if statement is incorrect, and uses uninitialized memory. It should be if (socket != NULL) instead.
Marc Alff authoredFAILURES ON PB2 Before this fix, the test suite had sporadic failures when testing statistics related the the socket instruments. A possible root cause is now identified: in table_all_instr::rnd_next(), which is executed when selecting from table EVENTS_WAITS_SUMMARY_BY_INSTANCE, the code that returns a row for a socket waits is: case pos_all_instr::VIEW_SOCKET: { PFS_socket_iterator it= global_socket_container.iterate(m_pos.m_index_2); socket= it.scan_next(& m_pos.m_index_2); if (file != NULL) { make_socket_row(socket); m_next_pos.set_after(&m_pos); return 0; } } break; } The if statement is incorrect, and uses uninitialized memory. It should be if (socket != NULL) instead.
Loading