ugrás a tartalomhoz

Glibc hiba PHP program futtatásakor

Anonymous · 2006. Már. 19. (V), 23.21
Van egy programom, aminek az volna a feladata, hogy egy nagyon nagy (>>20G) szöveges fájlt soronként beolvasson, az adott sorban dekódolja a HTML szimbólumokat (html_entity_decode), majd a sort kiírja egy másik fájlba. Így szép sorban át kellene szűrnie az egész fájlt. Íme a progi, ez egy shellből futtatható kód akar lenni:
  1. #!/usr/bin/php  
  2. <?php  
  3. set_time_limit(0);  
  4. ini_set("memory_limit","16M");  
  5. error_reporting("E_ALL");  
  6. if (!isset($argv[1]) or emptyempty($argv[1]))  
  7.     {  
  8.     fwrite(STDOUT,"Hiányzó argumentum!\nHasználat: process infile.txt\n");  
  9.     die();  
  10.     }  
  11. $instd=fopen($argv[1],"r");  
  12. $fp=fopen("szurt.dmp","w");  
  13. $na=80;  
  14. $nb=0;  
  15. $nc=1024;  
  16. $nd=0;  
  17. while (!feof($instd))  
  18.     {  
  19.     $nd++;  
  20.     fwrite($fp,html_entity_decode(fgets($instd,6000)));  
  21.     if ($nd>=$nc)  
  22.         {  
  23.         $nb++;  
  24.         if ($nb>=$na)  
  25.             {  
  26.             fwrite(STDOUT,"\n");  
  27.             $nb=0;  
  28.             }  
  29.         fwrite(STDOUT,".");  
  30.         $nd=0;  
  31.         }  
  32.     }  
  33. ?>  
A baj az, hogy futás közben (mindig kb. ugyanott) a futás ezzel a hibaüzenettel áll meg:

*** glibc detected *** corrupted double-linked list: 0x08182ca0 *** Félbeszakítva

Nem értem, mi lehet a baj. Tudnátok segíteni? Köszi!
 
1

Megoldva

Anonymous · 2006. Már. 20. (H), 04.07
Időközben rájöttem, hogy a hiba csak PHP5.0.x alatt jön elő. 4.3 alatt a szkript gond nélkül fut. Érdekes.