You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
出现问题的场景:
业务中有个选择地区的功能,程序实现了一个省市区的树,在 yaf里会崩溃,单独用同样的数据是正常的。
Yaf 版本:
yaf support => enabled
Version => 3.3.2
Supports => http://pecl.php.net/package/yaf
Directive => Local Value => Master Value
yaf.library =>
yaf.environ => product => product
yaf.forward_limit => 5 => 5
yaf.use_namespace => 1 => 1
yaf.action_prefer => 1 => 1
yaf.lowcase_path => 0 => 0
yaf.use_spl_autoload => 1 => 1
yaf.name_suffix => 1 => 1
yaf.name_separator => no value => no value
gdb 分析结果: 在业务里的 coredump 如下:
#0 0x0000000000000000 in ?? () #1 0x0000564ac3cf4e1b in zend_gc_collect_cycles () #2 0x0000564ac3cf3dc8 in gc_possible_root_when_full () #3 0x0000564ac3d40562 in ZEND_ASSIGN_REF_SPEC_CV_VAR_HANDLER () #4 0x0000564ac3d4dcb2 in execute_ex () #5 0x00007f4ae8381bd6 in yaf_do_call_user_method (ret=0x7ffc14cf1eb0, fbc=, call=0x7f4b00814130) at /src/ext/yaf-src/yaf.c:223 #6 yaf_call_user_method_with_0_arguments (obj=, fbc=fbc@entry=0x7f4b0080e5b0, ret=ret@entry=0x7ffc14cf1eb0) at /src/ext/yaf-src/yaf.c:308 #7 0x00007f4ae838280e in yaf_controller_execute (ctl=0x7ffc14cf1ea0, ret=0x7ffc14cf1eb0, args=0x0, count=, func=0x7f4b0080e5b0) at /src/ext/yaf-src/yaf_controller.h:67 #8 yaf_dispatcher_handle (dispatcher=0x7f4b008148e0, dispatcher@entry=0x7f4b0085b180) at /src/ext/yaf-src/yaf_dispatcher.c:637 #9 0x00007f4ae8383198 in yaf_dispatcher_dispatch (dispatcher=0x7f4b0085b180) at /src/ext/yaf-src/yaf_dispatcher.c:803 #10 0x00007f4ae8384f04 in zim_yaf_application_run (execute_data=, return_value=0x7ffc14cf1fc0) at /src/ext/yaf-src/yaf_application.c:812 #11 0x0000564ac3d55a00 in execute_ex () #12 0x0000564ac3d56611 in zend_execute () #13 0x0000564ac3ccf683 in zend_execute_scripts () #14 0x0000564ac3c6de40 in php_execute_script () #15 0x0000564ac3ad8dd9 in main ()
测试脚本 coredump 分析结果:
#0 0x0000000000000000 in ?? () #1 0x0000564ac3cf4e1b in zend_gc_collect_cycles () #2 0x0000564ac3cf3dc8 in gc_possible_root_when_full () #3 0x0000564ac3d40562 in ZEND_ASSIGN_REF_SPEC_CV_VAR_HANDLER () #4 0x0000564ac3d4dcb2 in execute_ex () #5 0x0000564ac3d56611 in zend_execute ()
#6 0x0000564ac3ccf683 in zend_execute_scripts () #7 0x0000564ac3c6de40 in php_execute_script () #8 0x0000564ac3ad8dd9 in main ()
出现问题的场景:
业务中有个选择地区的功能,程序实现了一个省市区的树,在 yaf里会崩溃,单独用同样的数据是正常的。
Yaf 版本:
yaf support => enabled
Version => 3.3.2
Supports => http://pecl.php.net/package/yaf
Directive => Local Value => Master Value
yaf.library =>
yaf.environ => product => product
yaf.forward_limit => 5 => 5
yaf.use_namespace => 1 => 1
yaf.action_prefer => 1 => 1
yaf.lowcase_path => 0 => 0
yaf.use_spl_autoload => 1 => 1
yaf.name_suffix => 1 => 1
yaf.name_separator => no value => no value
gdb 分析结果:
在业务里的 coredump 如下:
#0 0x0000000000000000 in ?? ()
#1 0x0000564ac3cf4e1b in zend_gc_collect_cycles ()
#2 0x0000564ac3cf3dc8 in gc_possible_root_when_full ()
#3 0x0000564ac3d40562 in ZEND_ASSIGN_REF_SPEC_CV_VAR_HANDLER ()
#4 0x0000564ac3d4dcb2 in execute_ex ()
#5 0x00007f4ae8381bd6 in yaf_do_call_user_method (ret=0x7ffc14cf1eb0, fbc=, call=0x7f4b00814130) at /src/ext/yaf-src/yaf.c:223
#6 yaf_call_user_method_with_0_arguments (obj=, fbc=fbc@entry=0x7f4b0080e5b0, ret=ret@entry=0x7ffc14cf1eb0) at /src/ext/yaf-src/yaf.c:308
#7 0x00007f4ae838280e in yaf_controller_execute (ctl=0x7ffc14cf1ea0, ret=0x7ffc14cf1eb0, args=0x0, count=, func=0x7f4b0080e5b0) at /src/ext/yaf-src/yaf_controller.h:67
#8 yaf_dispatcher_handle (dispatcher=0x7f4b008148e0, dispatcher@entry=0x7f4b0085b180) at /src/ext/yaf-src/yaf_dispatcher.c:637
#9 0x00007f4ae8383198 in yaf_dispatcher_dispatch (dispatcher=0x7f4b0085b180) at /src/ext/yaf-src/yaf_dispatcher.c:803
#10 0x00007f4ae8384f04 in zim_yaf_application_run (execute_data=, return_value=0x7ffc14cf1fc0) at /src/ext/yaf-src/yaf_application.c:812
#11 0x0000564ac3d55a00 in execute_ex ()
#12 0x0000564ac3d56611 in zend_execute ()
#13 0x0000564ac3ccf683 in zend_execute_scripts ()
#14 0x0000564ac3c6de40 in php_execute_script ()
#15 0x0000564ac3ad8dd9 in main ()
测试脚本 coredump 分析结果:
#0 0x0000000000000000 in ?? ()
#1 0x0000564ac3cf4e1b in zend_gc_collect_cycles ()
#2 0x0000564ac3cf3dc8 in gc_possible_root_when_full ()
#3 0x0000564ac3d40562 in ZEND_ASSIGN_REF_SPEC_CV_VAR_HANDLER ()
#4 0x0000564ac3d4dcb2 in execute_ex ()
#5 0x0000564ac3d56611 in zend_execute ()
#6 0x0000564ac3ccf683 in zend_execute_scripts ()
#7 0x0000564ac3c6de40 in php_execute_script ()
#8 0x0000564ac3ad8dd9 in main ()
结果有点不一样,不过同样的数据不引入yaf 框架是没问题的,测试脚本在附件里,麻烦鸟哥帮看一下是什么原因、
test.php.zip
The text was updated successfully, but these errors were encountered: