Re: PHP 4.0 Bug #8647 Updated: php.exe exception: access violation address: 0x1008e6a1 on or after file()

From: Date: Fri, 12 Jan 2001 00:18:13 +0000
Subject: Re: PHP 4.0 Bug #8647 Updated: php.exe exception: access violation address: 0x1008e6a1 on or after file()
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-43825@lists.php.net to get a copy of this message
Hello dbeu, I enclose the section of code containing file(). Looking at teh code again, the problem might be an XML function. If I comment out the line with file(), the XML code will not run. After the problem hit yesterday, I spent about 2 hours commenting out lines to seee where the problem occurred. I do not remember leaving file() in and xml out. I will test that this morning. Peter Bug Database wrote: > > ID: 8647 > Updated by: dbeu > Reported By: peter@helpnet.com.au > Old-Status: Open > Status: Feedback > Bug Type: Reproduceable crash > Assigned To: > Comments: > > can you please append some *short* reproducing code? > > i tested file() with a file greater than 100k and it didn't crash. > > Previous Comments: > --------------------------------------------------------------------------- > > [2001-01-10 21:05:56] peter@helpnet.com.au > Loading array via file(). File is 4Mb of text. Bang, PHP died. > > I increased PHP memory from 8 MB to 20 Mb but did not fix it. I cut the file down to about 10Kb > but that did not fix it. When I comment out the line containing file(), that removes the problem. > > I thought it might not be file(), it might be any part of the code that uses the array so I > commented out file() and inserted statements that manually load the array with data. The script ran > to completion using the manual array. > > gdb backtrace is gobbledygook to me. I am reading your documentation page to see if any of it > is relevant to Windows environment. If your page helps me change my php setup to produce additional > diagnostics, I will add them to this report. > > Apache is the latest Apache 1.14 or something from about 3 weeks ago. PHP is PHP 4.0.4 from the > large download file. NT 4.0 SP6a running without a hitch for 6 months. The code I am working on was > working in the middle of last year on a PHP3 downloaded in the middle of last year. > > --------------------------------------------------------------------------- > > Full Bug description available at: http://bugs.php.net/?id=8647 <?php require("include.php"); require("includexml.php"); $uploaderrorlocation = "Location: " . $upload["indexpage"] . "?errormessage=uploadxml2db:+"; $uploaderrorfile = ""; if(empty($filename)) {header($uploaderrorlocation . "No+input+file+named." . "&filename=" . $upload["filename"]);} else { $upload["filename"] = $filename; $xmlfilearray = file($upload["xmlfiles"] . $upload["filename"]); if(isset($xmlfilearray) and $xmlfilearray) { $uploadxmlparser = xml_parser_create(); if(!$uploadxmlparser) {print("<p>xml_parser_create error: " . xml_get_error_code($uploadxmlparser) . "</p>\n"); flush();} if(!xml_set_element_handler($uploadxmlparser, "xmltagstart", "xmltagend")) {print("<p>xml_set_element_handler error: " . xml_get_error_code($uploadxmlparser) . "</p>\n"); flush();} if(!xml_set_character_data_handler($uploadxmlparser, "xmlcharacterdata")) {print("<p>xml_set_character_data_handler error: " . xml_get_error_code($uploadxmlparser) . "</p>\n"); flush();} if(!xml_set_default_handler($uploadxmlparser, "xmldefaulthandler")) {print("<p>xml_set_default_handler error: " . xml_get_error_code($uploadxmlparser) . "</p>\n"); flush();} if(!xml_set_external_entity_ref_handler($uploadxmlparser, "xmlexternalentity")) {print("<p>xml_set_external_entity_ref_handler error: " . xml_get_error_code($uploadxmlparser) . "</p>\n"); flush();} if(!xml_set_notation_decl_handler($uploadxmlparser, "xmlnotation")) {print("<p>xml_set_notation_decl_handler error: " . xml_get_error_code($uploadxmlparser) . "</p>\n"); flush();} if(!xml_set_processing_instruction_handler($uploadxmlparser, "xmlprocessinginstruction")) {print("<p>xml_set_processing_instruction_handler error: " . xml_get_error_code($uploadxmlparser) . "</p>\n"); flush();} if(!xml_set_unparsed_entity_decl_handler($uploadxmlparser, "xmlunparsed")) {print("<p>xml_set_unparsed_entity_decl_handler error: " . xml_get_error_code($uploadxmlparser) . "</p>\n"); flush();} for($xmlfilearrayindex=0; $xmlfilearrayindex<count($xmlfilearray); $xmlfilearrayindex++) { if(substr($xmlfilearray[$xmlfilearrayindex], -1, 1) == chr(10)) {$xmlfilearray[$xmlfilearrayindex] = substr($xmlfilearray[$xmlfilearrayindex], 0, -1);} if(!xml_parse($uploadxmlparser, $xmlfilearray[$xmlfilearrayindex])) { uploaderror("XML line not working." . " Line: " . xml_get_current_line_number($uploadxmlparser) . ", column: " . xml_get_current_column_number($uploadxmlparser)); } if(!empty($xmlaccumulateddata)) { print("<br>uploadxml2db: parsed data unused: " . htmlentities($xmlaccumulateddata) . "\n"); flush(); } } if(!xml_parse($uploadxmlparser, "", 1)) {xmlerror("XML end of file not working.");} xml_parser_free($uploadxmlparser); } header("Location: " . $upload["indexpage"] . "?uploaded=yes&filename=" . $upload["filename"]); } ?>

« previous php.dev (#43825) next »