ID: 19366 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Feedback +Status: Verified Bug Type: GD related Operating System: linux mandrake 2.4.19-7mdk -PHP Version: 4.2.3 +PHP Version: 4.2.3, 4.3.0-dev New Comment:
Using latest CVS and the bundled GD library, I get this segfault and backtrace: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1024 (runnable)] 0x402b6678 in gdImageGetPixel (im=0x81e8ab8, x=50, y=1) at /usr/src/web/php/php4/ext/gd/libgd/gd.c:828 828 } #0 0x402b6678 in gdImageGetPixel (im=0x81e8ab8, x=50, y=1) at /usr/src/web/php/php4/ext/gd/libgd/gd.c:828 #1 0x402b7b63 in gdImageFill (im=0x81e8ab8, x=50, y=1, color=1) at /usr/src/web/php/php4/ext/gd/libgd/gd.c:1515 #2 0x402b7e71 in gdImageFill (im=0x81e8ab8, x=50, y=0, color=1) at /usr/src/web/php/php4/ext/gd/libgd/gd.c:1628 #3 0x402b7de1 in gdImageFill (im=0x81e8ab8, x=50, y=1, color=1) at /usr/src/web/php/php4/ext/gd/libgd/gd.c:1606 #4 0x402b7e71 in gdImageFill (im=0x81e8ab8, x=50, y=0, color=1) at /usr/src/web/php/php4/ext/gd/libgd/gd.c:1628 #5 0x402b7de1 in gdImageFill (im=0x81e8ab8, x=50, y=1, color=1) at /usr/src/web/php/php4/ext/gd/libgd/gd.c:1606 #6 0x402b7e71 in gdImageFill (im=0x81e8ab8, x=50, y=0, color=1) at /usr/src/web/php/php4/ext/gd/libgd/gd.c:1628 #7 0x402b7de1 in gdImageFill (im=0x81e8ab8, x=50, y=1, color=1) at /usr/src/web/php/php4/ext/gd/libgd/gd.c:1606 #8 0x402b7e71 in gdImageFill (im=0x81e8ab8, x=50, y=0, color=1) at /usr/src/web/php/php4/ext/gd/libgd/gd.c:1628 #9 0x402b7de1 in gdImageFill (im=0x81e8ab8, x=50, y=1, color=1) at /usr/src/web/php/php4/ext/gd/libgd/gd.c:1606 #10 0x402b7e71 in gdImageFill (im=0x81e8ab8, x=50, y=0, color=1) at /usr/src/web/php/php4/ext/gd/libgd/gd.c:1628 #11 0x402b7de1 in gdImageFill (im=0x81e8ab8, x=50, y=1, color=1) at /usr/src/web/php/php4/ext/gd/libgd/gd.c:1606 #12 0x402b7e71 in gdImageFill (im=0x81e8ab8, x=50, y=0, color=1) at /usr/src/web/php/php4/ext/gd/libgd/gd.c:1628 #13 0x402b7de1 in gdImageFill (im=0x81e8ab8, x=50, y=1, color=1) at /usr/src/web/php/php4/ext/gd/libgd/gd.c:1606 #14 0x402b7e71 in gdImageFill (im=0x81e8ab8, x=50, y=0, color=1) at /usr/src/web/php/php4/ext/gd/libgd/gd.c:1628 #15 0x402b7de1 in gdImageFill (im=0x81e8ab8, x=50, y=1, color=1) at /usr/src/web/php/php4/ext/gd/libgd/gd.c:1606 . . . Previous Comments: ------------------------------------------------------------------------ [2002-09-12 08:46:02] [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. ------------------------------------------------------------------------ [2002-09-12 01:55:30] [EMAIL PROTECTED] Hello, well, this will be more tricky, as it doesn't happen on my local computer (win32), but the web-hosting server I use (and pay). I exchanged several e-mails with the administrator of the web-hosting service (www.pipni.cz) and it crashes: mandrake 2.4.19-7mdk + PHP 4.2.3 completely, including apache same on redhat on slackware 8.1 + php 4.2.2 only the script crashed, not whole server. Now to the script. I got this script from a Czech PHP course and there was a bug in the script. It creates a bitmap and then draws into the bitmap. The bug is the bitmap is too small, the coordinates used in draw and fill functions are beyond the size of the bitmap. And the fill functions that get the starting point outside of bitmap let it go down. Here is the script: <?php $width = 50; $height = 100; $ImHandle = imagecreate($width,$height); //Define colors $MyBlue = imagecolorAllocate($ImHandle, 0, 0, 255); $MyRed = imagecolorAllocate($ImHandle, 255, 0, 0); $MyWhite = imagecolorAllocate($ImHandle, 255, 255, 255); $MyBlack = imagecolorAllocate($ImHandle, 0, 0, 0); //Draw ImageFill($ImHandle,0,0,$MyBlack); ImageLine($ImHandle,20,20,180,20,$MyWhite); ImageLine($ImHandle,20,20,20,70,$MyBlue); ImageLine($ImHandle,20,70,180,70,$MyRed); ImageLine($ImHandle,180,20,180,45,$MyWhite); ImageLine($ImHandle,180,70,180,45,$MyRed); ImageLine($ImHandle,20,20,100,45,$MyBlue); ImageLine($ImHandle,20,70,100,45,$MyBlue); ImageLine($ImHandle,100,45,180,45,$MyRed); ImageFill($ImHandle,21,45,$MyBlue); ImageFill($ImHandle,100,69,$MyRed); ImageFill($ImHandle,100,21,$MyWhite); ImageString($ImHandle,4,40,75,"Czech Republic",$MyWhite); // Send to browser Header("Content-type: image/PNG"); ImagePNG($ImHandle); //Free resources imagedestroy($ImHandle); ?> Take care Honza ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=19366&edit=1
