La llamada a malloc falla en la sesión de gdb

Estoy tratando de depurar un programa en C y gdb me dice que hay una segfault en la línea 329 de una determinada función. Así que establecí un punto de quiebre para esa función y estoy tratando de superarlo. Sin embargo, cada vez que llego a la línea 68 recibo esta queja de gdb:

(gdb) step
68              next_bb = (basic_block *)malloc(sizeof(basic_block));
(gdb) step
*__GI___libc_malloc (bytes=40) at malloc.c:3621
3621    malloc.c: No such file or directory.
in malloc.c

No sé lo que esto significa. El programa se ejecuta perfectamente en todos menos un conjunto de entradas, por lo que esta llamada a malloc tiene éxito claramente durante otras ejecuciones del programa. Y, por supuesto, tengo:

#include <stdlib.h>.

Aquí está el código fuente:

    // Block currently being built.
    basic_block *next_bb = NULL;
    // Traverse the list of instructions in the procedure.
    while (curr_instr != NULL)
    {
        simple_op opcode = curr_instr->opcode;
        // If we are not currently building a basic_block then we must start a new one.
        // A new block can be started with any kind of instruction.
        if (!in_block)
        {
            // Create a new basic_block.
            next_bb = (basic_block *)malloc(sizeof(basic_block));

Respuestas a la pregunta(2)

Su respuesta a la pregunta