ID: 31640
User updated by: luciano at tolomei dot name
Reported By: luciano at tolomei dot name
-Status: Feedback
+Status: Open
Bug Type: Apache2 related
Operating System: gentoo
PHP Version: 5.0.3
New Comment:
i have recompiled php and apache with the debug option.
now it does not crash it write:
String is not zero-terminated (D�E ) (source:
/var/tmp/portage/mod_php-5.0.3/work/php-5.0.3/Zend/zend_execute_API.c:392)
in
/var/www/vdomains/it/stampaservice/www/stsrv/themes/default/struttura/centro.inc
on line 432
the line is:
$output->esegui("out_lista","$centro|$principale|$titoli");
$principale and $titoli are strings writtens like $example = "example
example example \" example \" example example";
$centro is the variable used as i written in the submission.
the object is:
class modulo {
var $path;
var $errore;
var $messaggio_errore;
var $risultato;
function modulo($nome) {
$this->errore = false;
$this->messaggio_errore = '';
$this->risultato = '';
global $moduli;
$this->path = $moduli."/".$nome;
if (!is_dir($path)) {
$this->errore = true;
$this->messaggio_errore = "Non Riesco a trovare
il modulo con path = a $this->path\n";
}
[.... some code...]
}
function esegui($nome,$argomenti) {
if (!is_file($this->path."/".$nome.".inc")) {
$this->errore = true;
$this->messaggio_errore = "Non Trovo la
funzione richiesta '$nome' nel path = a $this->path\n";
[.........some code.........]
} else {
$variabili = explode("|",$argomenti);
for ($i=0;$i < count($variabili);$i++) {
$argomento = "arg".$i;
$$argomento = $variabili[$i];
}
require($this->path."/".$nome.".inc");
}
}
}
Previous Comments:
------------------------------------------------------------------------
[2005-01-21 18:33:58] [EMAIL PROTECTED]
Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php
Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.
------------------------------------------------------------------------
[2005-01-21 16:59:42] luciano at tolomei dot name
Description:
------------
-------------------------------------------------------
PHP version 5.0.3
urano code # emerge -pv php
[ebuild R ] dev-php/php-5.0.3 -adabas +bcmath +berkdb -birdstep
+bzlib +calendar -cdb -cpdflib +crypt +ctype +curl
+curlwrappers -db2 +dba -dbase -dbm -dbmaker +dbx -debug +dio -empress
-empress-bcs -esoob +exif -fam -fdftk -filepro
-flatfile -frontbase +ftp +gd -gd-external +gdbm +gmp -hyperwave-api
+iconv +imap -informix -ingres -inifile -interbase
-iodbc +jpeg -kerberos -ldap -libedit -mcve-memlimit -mhash +mime -ming
-mnogosearch -msession -msql -mssql +mysql
-mysqli +ncurses -nis +nls -oci8 +odbc -oracle7 -ovrimos -pcntl +pcre
-pfpro +png +posix +postgres -qdbm +readline
-recode -sapdb -sasl +session -shared -sharedmem -simplexml +snmp +soap
+sockets -solid +spell -spl +sqlite +ssl -sybase
-sybase-ct -sysvipc -tidy +tiff -tokenizer +truetype +wddx +xml2
+xmlrpc -xpm +xsl +zlib 0 kB
--------------------------------------------------------
in my framework it happens that when i'm logged in as a particular user
the apache web server crash with signal 11.
The problem is that i canno't reproduce the error.
There is no different code based on users, i can explain what is
happening but no more, The code is from php 4 but it should works on
php 5 (i think it worked well with php 5.0.1).
in a configuration file required by the aplication i do this:
class prodotti extends query_class {
var $nomec = "Prodotti";
var $tabella = 'st_prodotti';
var $identifica = 'idprod';
}
// Titles
$prodotti_titolo[0] = "Aggiunta/Modifica di un nuovo Prodotto";
$prodotti_titolo[1] = "Conferma nuovo Prodotto";
$prodotti_titolo[2] = "Lista Prodotti";
// must be inserted
$prodotti_obbligati[0] = "codice";
$prodotti_obbligati[1] = "confezione";
$prodotti_obbligati[2] = "prezzo";
// Descriptions
$prodotti_etichette["codice"] = "Codice";
$prodotti_etichette["descrizione"] = "Descrizione";
$prodotti_etichette["confezione"] = "Pezzi per confezione";
$prodotti_etichette["prezzo"] = "Prezzo per confezione";
$prodotti_etichette["download"] = "Immagine Prodotto";
$prodotti_etichette["minima"] = "Confezioni minime ordinabili";
$prodotti_etichette["ordine"] = "Lettera Ordinamento";
$prodotti_etichette["massima"] = "Confezioni massime ordinabili";
// specials
$prodotti_special[0][0] = "listino";
$prodotti_special[0][1] = "Listino di riferimento";
$prodotti_special[0][2] = "select idlist,nome from st_listini where
tipografia = $idt and stato = 0 order by nome";
$prodotti_special[0][3] = "select nome from st_listini where idlist
=";
$prodotti_special[1][0] = "categoria";
$prodotti_special[1][1] = "Categoria di appartenenza";
$prodotti_special[1][2] = "select idcat,nome from st_categorie where
tipografia = $idt and stato = 0 order by nome";
$prodotti_special[1][3] = "select nome from st_categorie where idcat
=";
//Listing Sistems (from other tables)
$prodotti_lista[0] = "listino";
$prodotti_lista[1] = "categoria";
//View on lists
$prodotti_mostra[0] = "codice";
$prodotti_mostra[1] = "confezione";
$prodotti_mostra[2] = "prezzo";
//some other things...
then where the program crash i made this in this case centro =
prodotti... but i use it crash with all other tables...:
$lista = new $centro($database,$user,$passwd,0,$host,$db_type);
Reproduce code:
---------------
[... a lot of code no reproducible ...]
$lista_val = $GLOBALS[$centro."_lista"]; //here it crashed
[... some code ...]
or
[... a lot of code ...]
$temp_val = $centro."_lista";
global $$temp_val;
$lista_val = $$temp_val; //here it crashed
[... some code ...]
Expected result:
----------------
hi espect $lista_val to be an array
//i try to
$temp_val = $centro."_lista";
echo "--".$centro."--".$temp_val."--";
/*******
$lista_val = $GLOBALS[$temp_val];
and i get:
--prodotti--prodotti_Xsta-- (where x is a square)
and surprisingly with:
$temp_val = $centro."_lista";
$temp2 = $centro."_listatest";
echo "--".$centro."--".$temp_val."--".$temp2."--";
i get:
--prodotti--prodotti_listatest--prodotti_listatest--
Actual result:
--------------
[Tue Aug 03 18:36:11 2004] [notice] child pid 29521 exit signal
Segmentation fault (11)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=31640&edit=1