Bug #71261 [Fbk->Asn]: Wrong bytecode in cache of array index named 'init' containing 0 indexed subarr

From: Date: Sat, 02 Jan 2016 16:18:00 +0000
Subject: Bug #71261 [Fbk->Asn]: Wrong bytecode in cache of array index named 'init' containing 0 indexed subarr
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-198366@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=71261&edit=1

 ID:                 71261
 User updated by:    jo at feuersee dot de
 Reported by:        jo at feuersee dot de
 Summary:            Wrong bytecode in cache of array index named 'init'
                     containing 0 indexed subarr
-Status:             Feedback
+Status:             Assigned
 Type:               Bug
 Package:            opcache
 Operating System:   Linux
 PHP Version:        7.0.1
 Assigned To:        laruence
 Block user comment: N
 Private report:     N

 New Comment:

Would it be useful to provide a trace of PHP running with built-in webserver?

Running the script via CLI doesn't looks useful as I can't reproduce the bug there (the
opcache is invalid after execution, thus always regenerated). And Apache2 doesn't core dump at
all, can't see the problem why. This isn't my kind of cake...


Previous Comments:
------------------------------------------------------------------------
[2016-01-02 05:03:20] laruence@php.net

you can also try to make it coredump with "opcache.protect_memory=1 ", and paste the
backtrace here. thanks

------------------------------------------------------------------------
[2016-01-01 21:00:41] jo at feuersee dot de

THX. Unfortunately, the used binaries for openSUSE Leap 42.1 (from http://download.opensuse.org/repositories/devel:/languages:/php:/php7/openSUSE_Leap_42.1/)
have debug mode disabled. 

I'll check over the WE wether installing PHP7 from source is less painful than changing the app
to work in CLI context.

------------------------------------------------------------------------
[2016-01-01 19:56:44] nikic@php.net

If your code is runnable using CLI, the easiest way to get a backtrace is through valgrind. Just run

    valgrind php ...args...

Alternatively, using gdb run "gdb --args php ...args..." and then "r" followed
by "bt" in the gdb prompt.

If it doesn't run through cli it's probably easiest to get the backtrace from a core file,
we have some info on that here: https://bugs.php.net/bugs-generating-backtrace.php

------------------------------------------------------------------------
[2016-01-01 19:35:32] jo at feuersee dot de

Yep, it crashes with opcache.protect_memory=1 "child pid 2844 exit signal Segmentation
fault"

Unfortunately, xdebug fails to start due to API version 320151012.

Is there another convenient way to provide a backtrace?

------------------------------------------------------------------------
[2016-01-01 18:11:52] nikic@php.net

Thanks, so the optimizer is not the culprit. Can you do a run with opcache.protect_memory=1 and see
if it crashes (segfault or some such)? And if so, get a backtrace?

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


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

    https://bugs.php.net/bug.php?id=71261


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


Thread (17 messages)

« previous php.bugs (#198366) next »