Bug #73880 [Com]: bus error while generating phar.phar

From: Date: Mon, 29 Jan 2018 10:39:16 +0000
Subject: Bug #73880 [Com]: bus error while generating phar.phar
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-213734@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=73880&edit=1

 ID:                 73880
 Comment by:         ivan dot prikhodko at pixelpark dot com
 Reported by:        joern dot clausen at uni-bielefeld dot de
 Summary:            bus error while generating phar.phar
 Status:             Open
 Type:               Bug
 Package:            Compile Failure
 Operating System:   Solaris 11.2/sparc
 PHP Version:        7.1.0
 Block user comment: N
 Private report:     N

 New Comment:

My current workaround consists of:
 $ cd ext/pcre
 $ wget https://netix.dl.sourceforge.net/project/pcre/pcre/8.40/pcre-8.40.tar.gz
 edit upgrade-pcre.php replacing 'tar' command with 'gtar'
 running $ php upgrade-pcre.php

Afterwards building with gmake finishes successfully 

I would also suggest reviewing Makefile after running ./configure script
Since Solaris supports 32/64 bit simultaneously, sometimes you see Paths to 32-bit shared libraries
while compiling 64 bit php

Here is my patch Script for compiling on T5 Server (sparcv9):

perl -pi.back -e 's/-[LR](
){0,1}\/opt\/csw\/lib\/gcc\/sparc-sun-solaris2.10\/4.9.2/-avoid-version -module/g;' Makefile
perl -pi.back -e 's/\/opt\/csw\/lib$/\/opt\/csw\/lib\/64/g;' Makefile
perl -pi.back -e 's/usr\/ucblib/usr\/ucblib\/sparcv9/g;' Makefile


Previous Comments:
------------------------------------------------------------------------
[2017-05-02 03:48:11] coypu at sdf dot org

I have been told elsewhere by someone who knows SLJIT:
"It crashes while emitting, not when running jit code. My bet is that pcre emits a jump to a
dead label"

------------------------------------------------------------------------
[2017-01-06 17:12:19] cmb@php.net

> Without PCRE-JIT, the package builds successfully.

So this is apparently a PCRE-JIT based issue.

> pkgsrc currently provides PCRE 8.39 and PCRE2 10.22, in case
> those are more recent versions than the bundled one.

PHP 7 ships PCRE 8.38, because there have been issues with
8.39[1]. PCRE2 is not yet supported.

[1] <https://github.com/php/php-src/commit/5f9df47e>

------------------------------------------------------------------------
[2017-01-06 16:11:37] joern dot clausen at uni-bielefeld dot de

Without PCRE-JIT, the package builds successfully. I use the PCRE that comes bundled with PHP 7.1.0.

pkgsrc currently provides PCRE 8.39 and PCRE2 10.22, in case those are more recent versions than the
bundled one.

------------------------------------------------------------------------
[2017-01-06 15:34:50] cmb@php.net

Please try again after doing

  ./config.nice --without-pcre-jit

Also, which PCRE version do you use?

------------------------------------------------------------------------
[2017-01-06 12:27:36] joern dot clausen at uni-bielefeld dot de

Description:
------------
Building PHP 7.1 inside the pkgsrc framework on Solaris 11.2/sparc using GCC 4.8.5, the step
"Generating phar.phar" fails with

Generating phar.phar
PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be
enabled.
gmake: *** [ext/phar/phar.phar] Bus Error (core dumped)
*** Error code 2

The failing binary is the php interpreter build in the preceding steps. The stack trace looks like
this

#0  0x00000001001032a4 in sljit_emit_jump ()
#1  0x00000001001096f4 in mainloop_entry ()
#2  0x000000010011e58c in _pcre_jit_compile ()
#3  0x00000001000fb07c in php_pcre_study ()
#4  0x0000000100122dd0 in pcre_get_compiled_regex_cache ()
#5  0x0000000100260674 in spl_dual_it_construct.isra ()
#6  0x00000001004484fc in ZEND_DO_FCALL_SPEC_RETVAL_UNUSED_HANDLER ()
#7  0x00000001003df9d4 in execute_ex ()
#8  0x000000010044a9a4 in zend_execute ()
#9  0x00000001003925e8 in zend_execute_scripts ()
#10 0x0000000100327ad4 in php_execute_script ()
#11 0x000000010044cf64 in do_cli ()
#12 0x000000010045fc90 in main ()

The same code compiles without problems on Solaris 11.2/i86 and the same GCC version.



------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=73880&edit=1


Thread (8 messages)

« previous php.bugs (#213734) next »