Bug 1028914

Summary: read_exif_data fail with 'Segmentation fault'
Product: [Fedora] Fedora Reporter: Michael <szerencsits.michael>
Component: phpAssignee: Remi Collet <fedora>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 19CC: fedora, jorton, rpm
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: php-5.5.6-1.fc19 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-11-24 03:53:41 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Michael 2013-11-11 08:29:01 UTC
Description of problem:
Hello, 

I installed the php rpm from Fedora 19 and updated it also to the latest available fedora version:

[root@server ~]# php -v
PHP 5.5.5 (cli) (built: Oct 17 2013 06:05:14)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies

I've I now use read_exif_data to get the EXIF data it fails with 'Segmentation fault'. This happen only with jpg from my 'newer' camera. If I use a jpg from my 'old' camera it work. Here a working and a failing picture:

http://zerberus.amolymp.net/fotos/failing.jpg
http://zerberus.amolymp.net/fotos/working.jpg

After that I removed the RPM and compile php 5.5.5 from source. With this the read_exif_data work.

Version-Release number of selected component (if applicable):
[root@server ~]# php -v
PHP 5.5.5 (cli) (built: Oct 17 2013 06:05:14)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies

[root@server php-5.5.5]# uname  -a
Linux server.localdomain 3.11.4-201.fc19.x86_64 #1 SMP Thu Oct 10 14:11:18 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

How reproducible:
Test script:
---------------
<?php #filename rdexif.php

$exif_data = read_exif_data($argv[1]);
print_r($exif_data);

?>

run with php ./rdexif.php failing.jpg
run with php ./rdexif.php working.jpg

Actual results:
Segmentation fault

Expected results:
EXIF data

Additional info:

Comment 1 Remi Collet 2013-11-11 09:24:47 UTC
I can reproduce:
(gdb) bt
#0  _zend_mm_free_int (heap=0x555555b82040, p=0x555555b822f8) at /usr/src/debug/php-5.5.5/Zend/zend_alloc.c:2104
#1  0x00007fffeab94d3e in exif_discard_imageinfo (ImageInfo=ImageInfo@entry=0x7fffffffa730) at /usr/src/debug/php-5.5.5/ext/exif/exif.c:3839
#2  0x00007fffeab999b1 in zif_exif_read_data (ht=<optimized out>, return_value=0x7ffff7fcb270, return_value_ptr=<optimized out>, this_ptr=<optimized out>, return_value_used=<optimized out>)
    at /usr/src/debug/php-5.5.5/ext/exif/exif.c:4083
#3  0x000055555577197b in dtrace_execute_internal (execute_data_ptr=<optimized out>, fci=<optimized out>, return_value_used=<optimized out>)
    at /usr/src/debug/php-5.5.5/Zend/zend_dtrace.c:97
#4  0x00005555558317e5 in zend_do_fcall_common_helper_SPEC (execute_data=<optimized out>) at /usr/src/debug/php-5.5.5/Zend/zend_vm_execute.h:552
#5  0x00005555557ab6f8 in execute_ex (execute_data=0x7ffff7f980e0) at /usr/src/debug/php-5.5.5/Zend/zend_vm_execute.h:363
#6  0x0000555555771879 in dtrace_execute_ex (execute_data=<optimized out>) at /usr/src/debug/php-5.5.5/Zend/zend_dtrace.c:73
#7  0x0000555555783350 in zend_execute_scripts (type=type@entry=8, retval=retval@entry=0x0, file_count=file_count@entry=3) at /usr/src/debug/php-5.5.5/Zend/zend.c:1320
#8  0x00005555557231b5 in php_execute_script (primary_file=primary_file@entry=0x7fffffffcf80) at /usr/src/debug/php-5.5.5/main/main.c:2489
#9  0x00005555558337f8 in do_cli (argc=3, argv=0x555555b81cf0) at /usr/src/debug/php-5.5.5/sapi/cli/php_cli.c:994
#10 0x000055555560dba0 in main (argc=3, argv=0x555555b81cf0) at /usr/src/debug/php-5.5.5/sapi/cli/php_cli.c:1378

This is upstream bug https://bugs.php.net/62523

The fix is include in upcoming version 5.5.6

Comment 2 Fedora Update System 2013-11-14 05:33:47 UTC
php-5.5.6-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/php-5.5.6-1.fc20

Comment 3 Fedora Update System 2013-11-14 05:33:59 UTC
php-5.5.6-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/php-5.5.6-1.fc19

Comment 4 Fedora Update System 2013-11-14 19:14:35 UTC
Package php-5.5.6-1.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing php-5.5.6-1.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-21305/php-5.5.6-1.fc20
then log in and leave karma (feedback).

Comment 5 Fedora Update System 2013-11-24 03:53:41 UTC
php-5.5.6-1.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 6 Fedora Update System 2013-12-01 09:36:22 UTC
php-5.5.6-1.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.