Error reallocate memory

Postby Antonio Linares » Wed Nov 26, 2008 10:17 am

David,

El error era "hb_xrealloc can't reallocate memory" ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42052
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby karinha » Wed Nov 26, 2008 12:15 pm

// Buenas Maestro Antonio, Maestro, y si hago tu ejemplo asi:
// Bloco por bloco de textos... Ejemplo simples.

#include "FiveWin.ch"
Code: Select all  Expand view
Function Main()

   LOCAL cText1 := Space( 1024 * 1024 )  //-> 1,048,576 kBytes
   LOCAL cText2 := Space( 1024 * 1024 )  //-> 1,048,576 kBytes
   LOCAL cText3 := Space( 1024 * 1024 )  //-> 1,048,576 kBytes
   LOCAL cText4 := Space( 1024 * 1024 )  //-> 1,048,576 kBytes
   LOCAL cResult

   cResult := LEN(cText1) + LEN(cText2) + LEN(cText3) + LEN(cText4)

   ? len(cText1)
   ? len(cText2)
   ? len(cText3)
   ? len(cText4)
   
   MsgInfo( ( "mas de 2 gigas: ", cResult ), "Resultado" )

Return Nil

//-> Esta correcto o errado?
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7772
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Postby triumvirato » Wed Nov 26, 2008 12:19 pm

Antonio Linares wrote:David,

El error era "hb_xrealloc can't reallocate memory" ?


Antonio,

No consigo reproducir el error pues ya no tengo el código de prueba original, lo más cerca que ando es el fm.log un warning que genera:

Memory Allocation Report
Application: C:\Fivewin\gesco\prueba2.exe
xHarbour Version: xHarbour build 0.99.50 Intl. (SimpLex)
Compiler: Borland C++ 5.5.1
Platform: Windows XP Home Edition 5.01.2600 Service Pack 3
Time Occured: 2008.11.26 12:27:41
Total 8974 allocations (3885 reallocation), of which 8973 freed.
Highest total allocated 1154543 bytes in 5059 blocks.
WARNING! Memory allocated but not released: 40 bytes (1 blocks)
Block 1 00B2A4E8 (size 40) ORDLISTADD(0), "E8A4B200E8A4B200E0AD44000100020002000000000000000A000000000000000000000000000000"

Sin que me de el error. Pero cuando sucedió, estoy por asegurar que era el error que describes: "hb_xrealloc can't reallocate memory". Lo siento por no poder ser más explícito, pero no soy bueno dando palos de ciego tampoco.
triumvirato
 
Posts: 199
Joined: Tue Apr 22, 2008 9:54 am
Location: Valladolid, Spain.

Postby triumvirato » Wed Nov 26, 2008 12:24 pm

Con las versiones más recientes de xHarbour lo mismo...

Saludos!
triumvirato
 
Posts: 199
Joined: Tue Apr 22, 2008 9:54 am
Location: Valladolid, Spain.

Postby Antonio Linares » Wed Nov 26, 2008 1:20 pm

David,

Gracias de todas formas :-)

ya sabemos de donde proceden esos errores: de la incapacidad de redimensionar una cadena a valores cercanos a 2 gigas.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42052
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby JoseLuis » Fri Nov 28, 2008 9:23 am

Si miramos en éste foro:



http://www.mail-archive.com/xharbour-developers@lists.sourceforge.net/msg01180.html

Vemos que éste error comenzó a aparecer en la version de Septiembre.

Y aunque dice que puede ser posible a mlcount(), o memoline(), he quitado las líneas que hacen referencia a éstas funciones, y nada sigo sin poder facturar. Estoy dejandolo en el esqueleto para ver qué valores son los que van creciendo, y no detecto nada, ya que cuando empiezo el while, vuelvo a dar nuevos valores a las variables, así que he tenido que volver a compilar con la versión 2.7, has ver si averiguamos algo.

Antonio, sabes si la versión 8.11 que ya nos hemos descargado, está corregido éste error?

Saludos

Jose Luis
JoseLuis
 
Posts: 426
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Postby Antonio Linares » Fri Nov 28, 2008 10:00 am

Jose Luis,

Es que no es un error de FWH, es un error debido al compilador, en la forma en que esta usando las cadenas.

Si pudieses reproducir el error con un ejemplo pequeño, podriamos buscar cual es la cadena que está creciendo.

De todas formas, este error tiene que ser corregido en Harbour y xHarbour, pues las cadenas deberían poder llegar hasta los 4 gigas.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42052
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Antonio Linares » Fri Nov 28, 2008 10:03 am

João,

1024 * 1024 es un mega, no un giga.

El problema es al intentar llegar a los dos gigas.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42052
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby JoseLuis » Fri Nov 28, 2008 8:24 pm

Antonio

Ya está

La culpa la tiene:
Code: Select all  Expand view
  oPrn:cmSay( 4,10,strcapfirst(xDatos),oFont3 )


Dentro de un page.. endpage que a su vez esta dentro de un do while .. enddo.

Me ha costado, pero.....

Saludos

Jose Luis
JoseLuis
 
Posts: 426
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Postby Antonio Linares » Fri Nov 28, 2008 8:43 pm

Jose Luis,

Bien! :-)

Enhorabuena por localizarlo
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42052
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Previous

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: carlos vargas and 77 guests