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
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
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

Add a Patch

Pull Requests

Add a Pull Request

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-2024 The PHP Group
All rights reserved.
Last updated: Sat May 04 22:01:33 2024 UTC