malloc: *** mmap(size=1...0) failed (error code=12)

Ciao ragazzi sto scrivendo uno script php da lanciare via terminale, lo script inizia a funzionare, ma a un certo punto ricevo questo errore ogni volta. Ho un iMac con Mountain Lione sto utilizzando apache e php di sistema e mysql installato tramite brew.

php(2474) malloc: *** mmap(size=18446744071562072064) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug

Cosa potrebbe causare tutto questo? Come risolvere? 
Grazie

Aggiungo la mia configurazione attuale:

PHP 5.3.15 with Suhosin-Patch (cli) - Zend Engine v2.3.0 with Xdebug v2.1.3. 
Apache/2.2.22 (Unix).
MySQL: 5.5.29

inviato 3 anni fa
JellyBelly
modificato 3 anni fa
X 0 X

Il problema veniva causato dalla seguente istruzione: `xdebug.show_local_vars = 1` presente nel php.ini. 
Una volta rimossa tutto ha riniziato a funzionare regolarmente.

risposto 3 anni fa
JellyBelly
X 1 X

Ad occhio e croce si tratta di un baco della versione di PHP che stai usando, che si verifica nella gestione dell'allocazione dinamica della memoria.

Parlo di baco poiché PHP genera un fatal error quando non riesce ad allocare ulteriore memoria.

Hai già provato ad aumentare il memory_limit nel php.ini o con in ini_set()?

risposto 3 anni fa
Gianni Tomasicchio
si ho portato il memory limit nel php.ini a 10GB! Come faccio ad aggiornare la versione di php di sistema osx? P.S. Ho aggiunto la mia configurazione attuale! ;)JellyBelly 3 anni fa
Potresti installarti lo Zend Server CE. I binari di PHP sono "certificati".Gianni Tomasicchio 3 anni fa
Vorrei evitare di installare roba esterna se ho gia' quella di osx! Che tu sappia è impossibile aggiornare la versione di php di osx?JellyBelly 3 anni fa
Potresti compilarlo dai sorgenti, così come si fa su linux. http://php.net/manual/en/install.macosx.phpGianni Tomasicchio 3 anni fa
quindi la mia unica alternativa e' quella di installare 5.4 tramite homebrew e verificare se davvero era un problema di bug della versione php nativa osx giusto?JellyBelly 3 anni fa
non puoi compilare l'ultima 5.3?Gianni Tomasicchio 3 anni fa
dici che non mi conviene passare a 5.4? dici che e' meglio installare 5.3.20?JellyBelly 3 anni fa
Passando ad una versione "maggiore" non è possibile escludere a priori qualche problema di compatibilità del codice realizzato. Non ci sono state però grosse modifiche tra la 5.3 e la 5.4.Gianni Tomasicchio 3 anni fa
difatti nella macchina vecchia dove utilizzo macports ho installato la 5.4, siccome in questa nuova macchina ho installato mysql tramite homebrew vorrei continuare ad utilizzarlo quindi credo che installerò la 5.4! Ti faccio sapere e grazie per i consigli!JellyBelly 3 anni fa
Una volta installato il nuovo php e riconfigurato il php.ini ricevevo lo stesso identico errore allora mi sono metto a smanettare con le impostazioni custom del php.ini e ho trovato la problematica che risiedeva in questa istruzione: `xdebug.show_local_vars = 1` :( Adesso ho rimosso la versione installata tramite homebrew e ho riniziato ad utilizzare quella di sistema! ;)JellyBelly 3 anni fa
quindi è un problema di xdebug?Gianni Tomasicchio 3 anni fa
Esatto! Maledetto! :DJellyBelly 3 anni fa
Aggiungi una risposta con la soluzione che hai trovato e poi accettala.Gianni Tomasicchio 3 anni fa
ok! Per poterla accettare devo aspettare un'altro poco! Non sono passate ancora le 48 ore! ;)JellyBelly 3 anni fa
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda