Comment 10 for bug 1122462

Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

The buffer page causing assert failure is

$14 = {space = 0, offset = 347, state = 5, flush_type = 2, io_fix = 0, buf_fix_count = 0, buf_pool_index = 0, zip = {data = 0x0, m_start = 0, m_end = 0, m_nonempty = 0, n_blobs = 0, ssize = 0},
  hash = 0x0, in_page_hash = 1, in_zip_hash = 0, free = {prev = 0x7fe887fa5b80, next = 0x0}, flush_list = {prev = 0x7fe887e21500, next = 0x7fe887e18e00}, zip_list = {prev = 0x0, next = 0x0},
  in_flush_list = 0, in_free_list = 0, newest_modification = 237665306, oldest_modification = 0, LRU = {prev = 0x7fe887ff9d00, next = 0x7fe887f613c0}, in_LRU_list = 1, old = 0,
  freed_page_clock = 106800, access_time = 1008817778, is_corrupt = 0, file_page_was_freed = 0}

Besides in_flush_list mismatch there are some other questions (why flush_type = BUF_FLUSH_LIST, in_page_hash = TRUE but both hash table pointers NULL)

All the relevant code places seem to update the flush list presence and in_flush_list flag correctly. I am unable to tell from the stacks at #7 how this crash happened.

Please update if you ever encounter this again.