Skip to content
  • Marc Alff's avatar
    7e902250
    Bug#20348824 PERFSCHEMA.SOCKET_SUMMARY_BY_EVENT_NAME_FUNC HAS SPORADIC · 7e902250
    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.
    7e902250
    Bug#20348824 PERFSCHEMA.SOCKET_SUMMARY_BY_EVENT_NAME_FUNC HAS SPORADIC
    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.
Loading