Programación General > C/C++

 tiny_malloc error? Agradecería mucho la ayudita :(

(1/3) > >>

Phass:
Hola !! He intentando ejecutar mi proyecto fin de carrera y me he encontrado en que en varias de esas ejecuciones me sale este error de "tiny_malloc..." y no tengo ni idea de por qué puede ser por más vueltas que le doy...


--- Código: C++ ---(gdb) bt #0 0x93992338 in tiny_malloc_from_free_list ()#1 0x9398b1cd in szone_malloc ()#2 0x9398b0d8 in malloc_zone_malloc ()#3 0x9398b06c in malloc ()#4 0x90b27598 in operator new ()#5 0x0000bd48 in __gnu_cxx::new_allocator<unsigned long>::allocate ()#6 0x0000bd72 in std::_Bvector_base<std::allocator<bool> >::_M_allocate ()#7 0x0000dbe8 in std::vector<bool, std::allocator<bool> >::_M_insert_aux ()#8 0x0000dd95 in std::vector<bool, std::allocator<bool> >::push_back ()#9 0x00003618 in Poblacion::Cruce_uniforme ()#10 0x000060db in Algoritmo::Algoritmo ()#11 0x00006c89 in Algoritmo::Algoritmo ()#12 0x00008f7a in main ()  
Alguien tiene idea? La verdad es que os agradecería mucho la ayuda ya que en teoría mi proyecto está finalizado, pero si me ocurre esto en algunas ejecuciones no puedo experimentar...

Muchas gracias a todos como siempre

m0skit0:
A lo mejor algunos somos programadores, pero no adivinos (por lo menos que yo sepa)  :lol:

Deberías poner en qué parte del código te saltan esos errores. Igualmente a primera vista parece algo de falta de memoria, aunque sin más detalles es imposible de saber.

Saludos

Phass:
Bueno cabe decir que ese error me sale también en otras partes del proyecto, pero la función donde sale éste es la sguiente:



--- Código: C++ ---void Poblacion :: Cruce_uniforme (Individuo & padre1, Individuo & padre2,                                             Individuo & hijo1, Individuo & hijo2){    // Lo primero de todo sera generar dos mascaras aleatorias, una para los    // parametros booleanos y otro para los reales    vector<bool> mascara_booleana (0);    vector<bool> mascara_reales (0);        for (int i = 0; i < padre1.operacion_escalar.size(); i++)    {        float b = padre1.Numeros_Aleatorios_Entre_a_y_b (0, 1);        if (b >= 0.5)            mascara_booleana.push_back(1);        else            mascara_booleana.push_back(0);    }        for (int i = 0; i < padre1.parametros_reales.size(); i++)    {        float b = padre1.Numeros_Aleatorios_Entre_a_y_b (0, 1);        if (b >= 0.5)            mascara_reales.push_back(1);        else            mascara_reales.push_back(0);    }        // En este punto se tienen generadas de forma aleatoria unas mascaras que seran    // distintas para cada cruce.        /* La politica de cruce a uilizar sera la siguiente:                Si 1 en Mascara -> Parametro del padre1 para el hijo1            Si 0 en Mascara -> Parametro del padre2 para el hijo1                        Si 1 en Mascara -> Parametro del padre2 para el hijo2            Si 0 en Mascara -> Parametro del padre1 para el hijo2    */        // Aplicamos el cruce selectivo con la politica anterior para crear el hijo1 y    // el hijo 2    for (int i = 0; i < mascara_booleana.size(); i++)    {        if (mascara_booleana[i] == 1)        {            hijo1.operacion_escalar.push_back (padre1.operacion_escalar[i]);            hijo2.operacion_escalar.push_back (padre2.operacion_escalar[i]);         }        else        {            hijo1.operacion_escalar.push_back (padre2.operacion_escalar[i]);            hijo2.operacion_escalar.push_back (padre1.operacion_escalar[i]);         }    }     for (int i = 0; i < mascara_reales.size(); i++)    {        if (mascara_reales[i] == 1)        {            hijo1.parametros_reales.push_back (padre1.parametros_reales[i]);            hijo2.parametros_reales.push_back (padre2.parametros_reales[i]);        }        else        {            hijo1.parametros_reales.push_back (padre2.parametros_reales[i]);            hijo2.parametros_reales.push_back (padre1.parametros_reales[i]);        }    }}  

m0skit0:
¿Y dónde exactamente en dicho método?

Phass:
No tengo ni idea, es solo el error que produce el depurador... me han dicho por ahí que puede que sea problema del kernel de Mac Os a la hora de asignar memoria... pero buf, ni idea.... :(

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa