diff options
Diffstat (limited to 'innobase/mem/mem0dbg.c')
-rw-r--r-- | innobase/mem/mem0dbg.c | 48 |
1 files changed, 23 insertions, 25 deletions
diff --git a/innobase/mem/mem0dbg.c b/innobase/mem/mem0dbg.c index 52a08e6faf1..92c1235220e 100644 --- a/innobase/mem/mem0dbg.c +++ b/innobase/mem/mem0dbg.c @@ -336,7 +336,7 @@ mem_hash_remove( } if (node == NULL) { - printf( + fprintf(stderr, "Memory heap or buffer freed in %s line %lu did not exist.\n", file_name, line); ut_error; @@ -351,20 +351,18 @@ mem_hash_remove( mem_heap_validate_or_print(node->heap, NULL, FALSE, &error, &size, NULL, NULL); if (error) { - printf("Inconsistency in memory heap or buffer n:o %lu created\n", - node->nth_heap); - printf("in %s line %lu and tried to free in %s line %lu.\n", - node->file_name, node->line, file_name, line); - - printf( - "Hex dump of 400 bytes around memory heap first block start:\n"); - - ut_print_buf((byte*)(node->heap) - 200, 400); + fprintf(stderr, + "Inconsistency in memory heap or buffer n:o %lu created\n" + "in %s line %lu and tried to free in %s line %lu.\n" + "Hex dump of 400 bytes around memory heap first block start:\n", + node->nth_heap, node->file_name, node->line, + file_name, line); + ut_print_buf(stderr, (byte*)node->heap - 200, 400); - printf("\nDump of the mem heap:\n"); + fputs("\nDump of the mem heap:\n", stderr); - mem_heap_validate_or_print(node->heap, NULL, TRUE, &error, &size, - NULL, NULL); + mem_heap_validate_or_print(node->heap, NULL, TRUE, &error, + &size, NULL, NULL); ut_error; } @@ -438,7 +436,7 @@ mem_heap_validate_or_print( } if (print) { - printf("Memory heap:"); + fputs("Memory heap:", stderr); } while (block != NULL) { @@ -456,7 +454,7 @@ mem_heap_validate_or_print( /* We can trace the fields of the block only in the debug version */ if (print) { - printf(" Block %ld:", block_count); + fprintf(stderr, " Block %ld:", block_count); } field = (byte*)block + mem_block_get_start(block); @@ -476,7 +474,7 @@ mem_heap_validate_or_print( len = mem_field_header_get_len(user_field); if (print) { - ut_print_buf(user_field, len); + ut_print_buf(stderr, user_field, len); } total_len += len; @@ -545,7 +543,7 @@ mem_heap_print( mem_heap_validate_or_print(heap, NULL, TRUE, &error, &us_size, &phys_size, &n_blocks); - printf( + fprintf(stderr, "\nheap type: %lu; size: user size %lu; physical size %lu; blocks %lu.\n", heap->type, us_size, phys_size, n_blocks); ut_a(!error); @@ -659,9 +657,11 @@ mem_validate_no_assert(void) &ph_size, &n_blocks); if (error) { - printf("\nERROR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n"); - printf("Inconsistency in memory heap or buffer created\n"); - printf("in %s line %lu.\n", node->file_name, node->line); + fprintf(stderr, + "\nERROR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n" + "Inconsistency in memory heap or buffer created\n" + "in %s line %lu.\n", + node->file_name, node->line); mutex_exit(&mem_hash_mutex); @@ -721,12 +721,10 @@ mem_analyze_corruption( ulint i; ulint dist; - ut_sprintf_buf(srv_fatal_errbuf, ptr - 250, 500); - fprintf(stderr, - "InnoDB: Apparent memory corruption: mem dump %s\n", srv_fatal_errbuf); + fputs("InnoDB: Apparent memory corruption: mem dump ", stderr); + ut_print_buf(stderr, ptr - 250, 500); - fprintf(stderr, - "InnoDB: Scanning backward trying to find previous allocated mem blocks\n"); + fputs("\nInnoDB: Scanning backward trying to find previous allocated mem blocks\n", stderr); p = ptr; dist = 0; |