[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

Re: [Ayuda] MySQL: mysql_free_result() = CRASH



> > Ok, con php estas haciendo la consulta, y  quieres
> 
> Se esta haciendo con el C API de mysql

Bueno saberlo.

> > liberar memoria, lo
> > que no entiendo es para que quieres hacerlo.
> 
> Bueno es que un query a veces me puede devolver mas de
> 1 resultado, sin embargo solo me interesa leer el
> primero que aparezca (que la condicion se cumpla al
> menos una vez), por lo que los demas registros no son
> extraidos con el mysql_fetch_row()...

Entonces pon un limit, no necesitas traer todos las lineas, solo pide una.

> Como sea, el hacerlo no deberia causar ningun daño aun
> si fuera inecesario el uso de dicha funcion,
> simplemente serian ciclos de cpu adicionales.
> 
> > No has intentado quitarle eso ??
> 
> Si lo quito funciona bien, pero si la funcion esta
> implementada en la libreria no tiene porque crashearse
> (ke slang tan feo :) sin embargo en la documentacion
> del C API dice que debe usarse forzozamente despues de
> mysql_store_result() y del mysql_use_result() a menos
> que haya nuevas especificaciones, el problema es que
> el manual disponible no hace mencion de ello.

Para que version es ??, me parece dificil que en versiones nuevas sea
tan fragil el manejo de memoria.

 
 
> Lo que me intriga es porque se se corrompe, si el uso
> de la funcion fuera inapropiado devolveria algun
> codigo de error, si ya no fuera necesario habria sido
> eliminada hace tiempo del API, pero no haria crash el
> programa... orita ya ando en casa asi que puedo
> reproducir el error:
> 
> *** glibc detected *** double free or corruption
> (!prev): 0x08051d58 ***
> Aborted

Me suena a que la biblioteca ya libera el espacio, y lo estas tratando
de liberar de nuevo, lo cual suena sensato, la misma biblioteca se
hace cargo de la basura.

Ya llegaste a la misma conclusion :-)

Saludos
Max

-- 
Linux garaged 2.6.9-rc1-mm1 #3 SMP Mon Aug 30 12:14:50 CDT 2004 i686
Intel(R) Pentium(R) 4 CPU 2.80GHz GenuineIntel GNU/Linux
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GS/S d- s: a-29 C++(+++) ULAHI+++ P+ L++>+++ E--- W++ N* o-- K- w++++
O- M-- V-- PS+ PE Y-- PGP++ t- 5- X+ R tv++ b+ DI+++ D- G++ e++ h+ r+
z**
------END GEEK CODE BLOCK------
gpg-key: http://garaged.homeip.net/gpg-key.txt




[Hilos de Discusión] [Fecha] [Tema] [Autor]