Bug #74962 [Opn->Nab]: protobuf extension bug
| From: | requinix@php.net | Date: | Fri, 21 Jul 2017 11:36:36 +0000 |
| Subject: | Bug #74962 [Opn->Nab]: protobuf extension bug | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-210167@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=74962&edit=1
ID: 74962
Updated by: requinix@php.net
Reported by: roczpwu at gmail dot com
Summary: protobuf extension bug
-Status: Open
+Status: Not a bug
Type: Bug
Package: *General Issues
Operating System: mac osx
PHP Version: 7.1.7
Block user comment: N
Private report: N
New Comment:
We do not maintain the protobuf library.
https://github.com/google/protobuf/issues
Look for any existing bug reports that match your problem, and if you can't find one then
report it there. If Google says the bug is in PHP then we can reopen this.
Previous Comments:
------------------------------------------------------------------------
[2017-07-21 11:36:28] roczpwu at gmail dot com
Core was generated by `php Client.php'.
Program terminated with signal 11, Segmentation fault.
#0 stringdata_handler (closure=0x600000002, hd=0x322d2f0,
str=0x7efe59462419 "hello", len=5, handle=0x7fff883d3820)
at /root/protobuf-3.3.2/encode_decode.c:325
325 /root/protobuf-3.3.2/encode_decode.c: No such file or directory.
Missing separate debuginfos, use: debuginfo-install cyrus-sasl-lib-2.1.26-20.el7_2.x86_64
glibc-2.17-157.el7_3.5.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.14.1-27.el7_3.x86_64
libcom_err-1.42.9-9.el7.x86_64 libcurl-7.29.0-35.el7.centos.x86_64 libidn-1.28-4.el7.x86_64
libjpeg-turbo-1.2.90-5.el7.x86_64 libmcrypt-2.5.8-13.el7.x86_64 libpng-1.5.13-7.el7_2.x86_64
libselinux-2.5-6.el7.x86_64 libssh2-1.4.3-10.el7_2.1.x86_64 libxml2-2.9.1-6.el7_2.3.x86_64
nspr-4.13.1-1.0.el7_3.x86_64 nss-3.28.4-1.2.el7_3.x86_64 nss-softokn-freebl-3.16.2.3-14.4.el7.x86_64
nss-util-3.28.4-1.0.el7_3.x86_64 openssl-libs-1.0.1e-60.el7_3.1.x86_64 pcre-8.32-15.el7_2.1.x86_64
xz-libs-5.2.2-1.el7.x86_64 zlib-1.2.7-17.el7.x86_64
(gdb) bt
#0 stringdata_handler (closure=0x600000002, hd=0x322d2f0,
str=0x7efe59462419 "hello", len=5, handle=0x7fff883d3820)
at /root/protobuf-3.3.2/encode_decode.c:325
#1 0x00007efe58ec4cc7 in upb_sink_putstring (handle=0x7fff883d3820, n=5,
buf=<optimized out>, sel=2, s=<optimized out>)
at /root/protobuf-3.3.2/upb.h:6285
#2 run_decoder_vm (d=0x7fff883d3908, group=<optimized out>, handle=0x7fff883d3820)
at /root/protobuf-3.3.2/upb.c:9942
#3 0x00007efe58eb6b86 in upb_bytessink_putbuf (s=0x7fff883d3910,
handle=0x7fff883d3820, size=22,
buf=0x7efe59462408 "\202\262\226\001\005world\312\363\225\001\a\n\005hello",
subc=<optimized out>) at /root/protobuf-3.3.2/upb.h:6228
#4 upb_bufsrc_putbuf (
buf=0x7efe59462408 "\202\262\226\001\005world\312\363\225\001\a\n\005hello",
len=22, sink=0x7fff883d3910) at /root/protobuf-3.3.2/upb.c:5106
#5 0x00007efe58ead8f1 in zim_Message_mergeFromString (
execute_data=<optimized out>, return_value=<optimized out>)
at /root/protobuf-3.3.2/encode_decode.c:1449
#6 0x000000000089a696 in ZEND_DO_FCALL_SPEC_RETVAL_UNUSED_HANDLER ()
at /root/php-7.1.7/Zend/zend_vm_execute.h:970
#7 0x000000000084930b in execute_ex (ex=<optimized out>)
at /root/php-7.1.7/Zend/zend_vm_execute.h:429
#8 0x000000000089c3f4 in zend_execute (op_array=0x7efe59480000,
op_array@entry=0x7efe59463ae0, return_value=return_value@entry=0x7efe59413030)
at /root/php-7.1.7/Zend/zend_vm_execute.h:474
#9 0x00000000008045a4 in zend_execute_scripts (type=type@entry=8,
retval=0x7efe59413030, retval@entry=0x0, file_count=file_count@entry=3)
at /root/php-7.1.7/Zend/zend.c:1476
#10 0x00000000007a56f0 in php_execute_script (
primary_file=primary_file@entry=0x7fff883d6d50)
at /root/php-7.1.7/main/main.c:2537
#11 0x000000000089e58f in do_cli (argc=2, argv=0x306dae0)
at /root/php-7.1.7/sapi/cli/php_cli.c:993
#12 0x000000000043cea0 in main (argc=2, argv=0x306dae0)
at /root/php-7.1.7/sapi/cli/php_cli.c:1381
(gdb) source /root/php-7.1.7/.gdbinit
(gdb) zbacktrace
[0x7efe59413260]
Google\Protobuf\Internal\Message->mergeFromString("\37777777602\37777777662\37777777626\1\5world\37777777712\37777777763\37777777625\1\7\12\5hello")
[internal function]
[0x7efe59413030] (main) /root/test/tsf2.0/App/Udp/Client.php:26
(gdb)
------------------------------------------------------------------------
[2017-07-21 11:14:26] roczpwu at gmail dot com
backtrace is shown as below:
additionaly, protobuf extension version is 3.3.2
=================================================
Core was generated by `php Client.php'.
Program terminated with signal 11, Segmentation fault.
#0 stringdata_handler (closure=0x600000002, hd=0x322d2f0,
str=0x7efe59462419 "hello", len=5, handle=0x7fff883d3820)
at /root/protobuf-3.3.2/encode_decode.c:325
325 /root/protobuf-3.3.2/encode_decode.c: No such file or directory.
Missing separate debuginfos, use: debuginfo-install cyrus-sasl-lib-2.1.26-20.el7_2.x86_64
glibc-2.17-157.el7_3.5.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.14.1-27.el7_3.x86_64
libcom_err-1.42.9-9.el7.x86_64 libcurl-7.29.0-35.el7.centos.x86_64 libidn-1.28-4.el7.x86_64
libjpeg-turbo-1.2.90-5.el7.x86_64 libmcrypt-2.5.8-13.el7.x86_64 libpng-1.5.13-7.el7_2.x86_64
libselinux-2.5-6.el7.x86_64 libssh2-1.4.3-10.el7_2.1.x86_64 libxml2-2.9.1-6.el7_2.3.x86_64
nspr-4.13.1-1.0.el7_3.x86_64 nss-3.28.4-1.2.el7_3.x86_64 nss-softokn-freebl-3.16.2.3-14.4.el7.x86_64
nss-util-3.28.4-1.0.el7_3.x86_64 openssl-libs-1.0.1e-60.el7_3.1.x86_64 pcre-8.32-15.el7_2.1.x86_64
xz-libs-5.2.2-1.el7.x86_64 zlib-1.2.7-17.el7.x86_64
------------------------------------------------------------------------
[2017-07-21 09:57:34] requinix@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
for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php
for Win32
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.
------------------------------------------------------------------------
[2017-07-21 09:42:36] roczpwu at gmail dot com
Description:
------------
I generate php files using my pro file, when I invoke serializeToString method, Segment fault: 11
error occurred.
Test script:
---------------
proto file:
syntax = "proto3";
package com;
message A
{
string str = 1;
}
message B
{
A a = 307001;
string json_body_req = 308000;
}
===================================
php test file:
<?php
$b = new \Com\B();
$a = new \Com\A();
$a->setStr("hello");
$b->setJsonBodyReq("world");
$b->setA($a);
$str = $b->serializeToString();
$b = new \Com\B();
$b->mergeFromString($str);
var_dump($b->getA()->getStr());
Expected result:
----------------
string(5) "hello"
Actual result:
--------------
Segmentation fault: 11
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=74962&edit=1