ID: 21983 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Feedback +Status: No Feedback Bug Type: Reproducible crash Operating System: linux PHP Version: 4.3.0 New Comment:
No feedback was provided. The bug is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so and change the status of the bug back to "Open". Thank you. Previous Comments: ------------------------------------------------------------------------ [2003-01-31 14:35:40] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip Unable to replicate using the latest CVS. ------------------------------------------------------------------------ [2003-01-31 09:16:50] [EMAIL PROTECTED] a much simple script to reproduce the crash , with a backtrace: <? /* (gdb) bt #0 0x408057fd in chunk_free () from /lib/libc.so.6 #1 0x408056c7 in free () from /lib/libc.so.6 #2 0x081692fb in zend_hash_del_key_or_index () #3 0x08167a88 in zend_unregister_functions () #4 0x08167bdc in module_destructor () #5 0x081694ee in zend_hash_clean () #6 0x0816962a in zend_hash_graceful_reverse_destroy () #7 0x0816501d in zend_shutdown () #8 0x08141496 in php_module_shutdown () #9 0x0817e041 in main () #10 0x407ab3c1 in __libc_start_main () from /lib/libc.so.6 */ class resolver { var $domain; var $search; var $nameserver; var $dom; var $e_resolver; function resolver (&$dom, $nameserver, $domain='', $search='') { $this->dom=& $dom; } function &write_xml() { $this->e_resolver=$this->dom->create_element('resolver'); return $this->e_resolver; } } $dom=domxml_new_doc('1.0'); $resolver=new resolver($dom, $HTTP_GET_VARS['nameserver'],$HTTP_GET_VARS['domain'],""); $resolver=$resolver->write_xml(); $servers=array($int_eth0, $int_eth1); $network=$dom->create_element('network'); $network->append_child($resolver); ?> ------------------------------------------------------------------------ [2003-01-31 08:44:47] [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. ------------------------------------------------------------------------ [2003-01-31 08:37:20] [EMAIL PROTECTED] $php file.php Segmentation fault $ ---file.php--- <? class zactivbox { var $network; var $proxy; var $basename; var $dom; var $e_zactivbox; function zactivbox (&$dom, $basename, $network, $proxy) { $this->dom=& $dom; $this->basename=$basename; $this->network=$network; $this->proxy=$proxy; } function &write_xml () { $this->e_zactivbox=$this->dom->create_element('zactivbox'); $this->e_zactivbox->set_attribute('basename', $this->basename); $this->e_zactivbox->append_child($network); $this->e_zactivbox->append_child($proxy); return $this->e_zactivbox; } } class network { var $servers; //array of server var $route; var $resolver; var $dom; var $e_network; function network (&$dom, $servers, $route, $resolver) { $this->dom=& $dom; $this->servers=$servers; $this->route=$route; $this->resolver=$resolver; } function &write_xml() { $this->e_network=$this->dom->create_element('network'); foreach($this->servers as $key => $server) { $this->e_network->append_child($server); } $this->e_network->append_child($this->route); $this->e_network->append_child($this->resolver); return $this->e_network; } } class resolver { var $domain; var $search; var $nameserver; var $dom; var $e_resolver; function resolver (&$dom, $nameserver, $domain='', $search='') { $this->dom=& $dom; $this->domain=$domain; $this->search=$search; $this->nameserver=$nameserver; } function &write_xml() { $this->e_resolver=$this->dom->create_element('resolver'); $e_domain=$this->dom->create_element('domain'); $t_domain=$this->dom->create_text_node($this->domain); $e_domain->append_child($t_domain); $this->e_resolver->append_child($e_domain); $e_search=$this->dom->create_element('search'); $t_search=$this->dom->create_text_node($this->search); $e_search->append_child($t_search); $this->e_resolver->append_child($e_search); $t_nameserver=$this->dom->create_text_node($this->nameserver); $e_nameserver=$this->dom->create_element('nameserver'); $e_nameserver->append_child($t_nameserver); $this->e_resolver->append_child($e_nameserver); return $this->e_resolver; } } class route { var $destination; var $iface; var $ip; var $dom; var $e_route; function route (&$dom, $destination, $ip, $iface) { $this->dom=& $dom; $this->destination=$destination; $this->ip=$ip; $this->iface=$iface; } function &write_xml() { $this->e_route=$this->dom->create_element('route'); $this->e_route->set_attribute('destination', $this->destination); $e_iface=$this->dom->create_element('iface'); $t_iface=$this->dom->create_text_node($this->iface); $e_iface->append_child($t_iface); $this->e_route->append_child($e_iface); $e_ip=$this->dom->create_element('ip'); $t_ip=$this->dom->create_text_node($this->ip); $e_ip->append_child($t_ip); $this->e_route->append_child($e_ip); return $this->e_route; } } class interface { var $iface; var $ip; var $broadcast; var $netmask; var $mode; var $position; var $type; var $dom; var $e_interface; function &interface (&$dom, $iface, $ip, $broadcast, $netmask, $mode='', $position='', $type='') { $this->dom=& $dom; $this->iface=$iface; $this->ip=$ip; $this->broadcast=$broadcast; $this->netmask=$netmask; $this->mode=$mode; $this->position=$position; $this->type=$type; } function &write_xml() { $this->e_interface=$this->dom->create_element('interface'); if ( $this->mode != '' ) { $this->e_interface->set_attribute('mode', $this->mode); } if ( $this->position != '' ) { $this->e_interface->set_attribute('position', $this->position); } if ( $this->type != '' ) { $this->e_interface->set_attribute('type', $this->type); } $e_iface=$this->dom->create_element('iface'); $t_iface=$this->dom->create_text_node($this->iface); $e_iface->append_child($t_iface); $this->e_interface->append_child($e_iface); $e_ip=$this->dom->create_element('ip'); $t_ip=$this->dom->create_text_node($this->ip); $e_ip->append_child($t_ip); $this->e_interface->append_child($e_ip); $e_broadcast=$this->dom->create_element('broadcast'); $t_broadcast=$this->dom->create_text_node($this->broadcast); $e_broadcast->append_child($t_broadcast); $this->e_interface->append_child($e_broadcast); $e_netmask=$this->dom->create_element('netmask'); $t_netmask=$this->dom->create_text_node($this->netmask); $e_netmask->append_child($t_netmask); $this->e_interface->append_child($e_netmask); return $this->e_interface; } } $dom=domxml_new_doc('1.0'); $int_eth0=new interface($dom,'eth0', $HTTP_GET_VARS['front_ip'], $HTTP_GET_VARS['front_broadcast'], $HTTP_GET_VARS['front_netmask'],'master', 'front'); $int_eth1=new interface($dom,'eth1', $HTTP_GET_VARS['back_ip'], $HTTP_GET_VARS['back_broadcast'], $HTTP_GET_VARS['back_netmask'],'master', 'back'); $route=new route($dom,'default', $HTTP_GET_VARS['gateway'],'eth0'); $resolver=new resolver($dom, $HTTP_GET_VARS['nameserver'],$HTTP_GET_VARS['domain'],""); $int_eth0=$int_eth0->write_xml(); $int_eth1=$int_eth1->write_xml(); $route=$route->write_xml(); $resolver=$resolver->write_xml(); $seb=array($int_eth0,$int_eth1); $network=new network($dom,$seb,$route,$resolver); $network=$network->write_xml(); /* $zactivbox=new zactivbox($dom, "pssl", $network, $proxy); $zactivbox->write_xml(); $dom->dump_file('./zactivbox.xml',false,true); */ ?> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=21983&edit=1
