php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #31640 exit signal Segmentation fault (11)
Submitted: 2005-01-21 16:59 UTC Modified: 2010-12-20 11:48 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:0 of 0 (0.0%)
From: luciano at tolomei dot name Assigned: jani (profile)
Status: Closed Package: Reproducible crash
PHP Version: 5.0.3 OS: gentoo
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: luciano at tolomei dot name
New email:
PHP Version: OS:

 

 [2005-01-21 16:59 UTC] 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)

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-01-21 18:33 UTC] derick@php.net
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-23 18:30 UTC] luciano at tolomei dot name
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");
                }
        }
}
 [2005-01-26 10:32 UTC] luciano at tolomei dot name
i have installed the latest snapshop of php 5.1.0-dev

it work.
 [2010-12-20 11:48 UTC] jani@php.net
-Package: Tidy +Package: Reproducible crash -Assigned To: +Assigned To: jani
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Wed Jul 02 09:01:38 2025 UTC