Bug #17773 Updated: segfault calling pdf_open_image_file with a tiff image
| From: | paolo at i-dome dot com | Date: | Mon, 17 Jun 2002 12:23:37 +0000 |
| Subject: | Bug #17773 Updated: segfault calling pdf_open_image_file with a tiff image | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-10852@lists.php.net to get a copy of this message | ||
ID: 17773
Updated by: paolo@i-dome.com
Reported By: paolo@i-dome.com
Status: Open
Bug Type: PDF related
Operating System: Linux
PHP Version: 4.2.1
New Comment:
This is the effect running the program with gdb:
Starting program: /usr/local/bin/php exectiff1.php
Program received signal SIGSEGV, Segmentation fault.
0x816e02c in zend_llist_add_element (l=0x82d5f94,
element=0xbffff920) at zend_llist.c:43
43 l->tail->next = tmp;
Previous Comments:
------------------------------------------------------------------------
[2002-06-17 08:14:20] paolo@i-dome.com
This is a example of script generating a core.
The same script sobstutiting a jpeg file or png file don't
give crash. I have traied with different tiff file renamed
in prova.tif, but all give a segfault.
I have, also, writed a C program with the same call
linking whith pdflib and run correctly.
<?php
//Create & Open PDF-Object
$pdf = pdf_new();
pdf_open_file($pdf");
pdf_set_info($pdf, "Author","Paolo Morandi");
pdf_set_info($pdf, "Title","visure.cedcamera.com");
pdf_set_info($pdf, "Creator", "morandi@mi.camcom.it");
pdf_set_info($pdf, "Subject", "pdf_open_image_file");
$tiffimage="prova.tif";
$pdfimage=-1;
$pdfimage = pdf_open_image_file($pdf, "tiff",$tiffimage,
"", 0);
pdf_begin_page($pdf, 842, 1190);
if($pdfimage > 0)
pdf_place_image($pdf, $pdfimage, 0, 0, 1.0);
//close it up
pdf_end_page($pdf);
pdf_close($pdf);
$data = pdf_get_buffer($pdf);
header('Content-type: application/pdf');
header('Content-disposition: inline; filename=image.pdf');
header('Content-length: ' . strlen($data));
echo $data;
?>
------------------------------------------------------------------------
[2002-06-16 21:40:28] sniper@php.net
That backtrace doesn't show any kind of crash.
Please read the instructions at
http://bugs.php.net/bugs-generating-backtrace.php
how to create useful trace of the _crash_.
Also, add the shortest possible script used to this bug report which
can be use to reproduce the crash.
------------------------------------------------------------------------
[2002-06-16 03:33:41] paolo@i-dome.com
Pdflib.4.0.2
libtiff-3.5.5-7
Configuration sring:
./configure --with-config-file-path=/etc/httpd/conf
--enable-ftp --with-gd=/install/gd-2.0.1 -with-ttf
--with-imap --with-ldap --with-mcal=../libmcal
--with-mysql --with-pdflib --with-jpeg-dir --with-tiff-dir
--with-zlib --with-curl --enable-xml
--with-freetype-dir=/usr/local --enable-gd-native-ttf
-enable-gd-imgstrttf -with-png-dir --enable-debug
RUnning gdb on the core file:
(gdb) bt
#0 0x816e02c in zend_llist_add_element (l=0x82d5f94,
element=0xbffff900) at zend_llist.c:43
#1 0x815edf2 in open_file_for_scanning
(file_handle=0xbffff900) at zend_language_scanner.c:2964
#2 0x815eea0 in compile_file (file_handle=0xbffff900,
type=2) at zend_language_scanner.c:3006
#3 0x81766bb in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at zend.c:806
#4 0x807644a in php_execute_script
(primary_file=0xbffff900) at main.c:1381
#5 0x807387c in main (argc=2, argv=0xbffff9b4) at
cgi_main.c:778
#6 0x40310b65 in __libc_start_main (main=0x8072e6c
<main>, argc=2, ubp_av=0xbffff9b4, init=0x8070c3c <_init>,
fini=0x820ec7c <_fini>, rtld_fini=0x4000df24
<_dl_fini>, stack_end=0xbffff9ac) at
../sysdeps/generic/libc-start.c:111
#6 0x40310b65 in __libc_start_main (main=0x8072e6c
<main>, argc=2, ubp_av=0xbffff9b4, init=0x8070c3c <_init>,
fini=0x820ec7c <_fini>, rtld_fini=0x4000df24
<_dl_fini>, stack_end=0xbffff9ac) at
../sysdeps/generic/libc-start.c:111
111 ../sysdeps/generic/libc-start.c: File o directory
inesistente.
(gdb) do
#5 0x807387c in main (argc=2, argv=0xbffff9b4) at
cgi_main.c:778
778 if
(php_execute_script(&file_handle TSRMLS_CC)) {
(gdb) do
#4 0x807644a in php_execute_script
(primary_file=0xbffff900) at main.c:1381
1381 retval =
(zend_execute_scripts(ZEND_REQUIRE TSRMLS_CC, NULL, 3,
prepend_file_p, primary_file, append_file_p) == SUCCESS);
(gdb) do
#3 0x81766bb in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at zend.c:806
806 EG(active_op_array) =
zend_compile_file(file_handle, ZEND_INCLUDE TSRMLS_CC);
(gdb) do
#2 0x815eea0 in compile_file (file_handle=0xbffff900,
type=2) at zend_language_scanner.c:3006
3006 if (open_file_for_scanning(file_handle
TSRMLS_CC)==FAILURE) {
(gdb) do
#1 0x815edf2 in open_file_for_scanning
(file_handle=0xbffff900) at zend_language_scanner.c:2964
2964
zend_llist_add_element(&CG(open_files), file_handle);
(gdb) do
#0 0x816e02c in zend_llist_add_element (l=0x82d5f94,
element=0xbffff900) at zend_llist.c:43
43 l->tail->next = tmp;
------------------------------------------------------------------------
[2002-06-15 19:31:59] sniper@php.net
Also how you build libpdf / PHP (the configure lines)
and information of all the versions of all related libraries is
needed.
------------------------------------------------------------------------
[2002-06-15 11:38:20] mfischer@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.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/17773
--
Edit this bug report at http://bugs.php.net/?id=17773&edit=1