2016-06-19 6 views
1

В настоящее время я занимаюсь выпуском проблем с phpunit на PHP7 с запросами доктрины.PHPUnit Doctrine и PHP7

Если я запускаю их в Системе разработки, они проходят без каких-либо проблем. Но если я выполняю их на моем сервере сборки Jenkins, они терпят неудачу с ошибкой сегментации.

Слышит пример вывода:

+PHPUnit 5.4.2 by Sebastian Bergmann and contributors. 

    [2016-06-19 22:55:50] snc_redis.INFO: Executing command "GET DoctrineNamespaceCacheKey[]" [] [] 
    [2016-06-19 22:55:50] snc_redis.INFO: Executing command "GET [Project\Library\EntityBundle\Entity\User\User$CLASSMETADATA][2]" [] [] 
    [2016-06-19 22:55:50] snc_redis.INFO: Executing command "GET [Project\Library\EntityBundle\Entity\Company\Company$CLASSMETADATA][2]" [] [] 
    [2016-06-19 22:55:50] doctrine.DEBUG: SELECT t0.first_name AS first_name_1, t0.last_name AS last_name_2, t0.password AS password_3, t0.role AS role_4, t0.credentials_expire_date AS credentials_expire_date_5, t0.account_expire_date AS account_expire_date_6, t0.last_login AS last_login_7, t0.id AS id_8, t0.email_address AS email_address_9, t0.phone AS phone_10, t0.created AS created_11, t0.updated AS updated_12, t0.deletedAt AS deletedAt_13, t0.active AS active_14, t0.default_company_id AS default_company_id_15, t0.log_created_by AS log_created_by_16, t0.log_updated_by AS log_updated_by_17 FROM user t0 WHERE t0.id = ? [1] [] 
    [2016-06-19 22:55:50] snc_redis.INFO: Executing command "GET [Project\Library\EntityBundle\Entity\Acl\UserRoleMap$CLASSMETADATA][2]" [] [] 
    [2016-06-19 22:55:50] snc_redis.INFO: Executing command "GET [Project\Library\EntityBundle\Entity\User\U2FKey$CLASSMETADATA][2]" [] [] 
    [2016-06-19 22:55:50] snc_redis.INFO: Executing command "GET [Project\Library\EntityBundle\Entity\User\User\$GEDMO_TRANSLATABLE_CLASSMETADATA][2]" [] [] 
    [2016-06-19 22:55:50] snc_redis.INFO: Executing command "GET acl.1" [] [] 
    [2016-06-19 22:55:50] snc_redis.INFO: Executing command "GET acl.data" [] [] 
    [2016-06-19 22:55:50] snc_redis.INFO: Executing command "GET acl.actions" [] [] 
    [2016-06-19 22:55:50] snc_redis.INFO: Executing command "GET [Project\Library\EntityBundle\Entity\Acl\Role$CLASSMETADATA][2]" [] [] 
    [2016-06-19 22:55:50] snc_redis.INFO: Executing command "GET [Project\Library\EntityBundle\Entity\Acl\Role\$GEDMO_TREE_CLASSMETADATA][2]" [] [] 
    [2016-06-19 22:55:50] snc_redis.INFO: Executing command "GET DoctrineNamespaceCacheKey[]" [] [] 
    [2016-06-19 22:55:50] snc_redis.INFO: Executing command "GET [02813b2d6dfe9134ce2041e7bb276aed][1]" [] [] 
    [2016-06-19 22:55:50] doctrine.DEBUG: SELECT a0_.admin AS admin_0, a0_.id AS id_1, a0_.name AS name_2, a0_.active AS active_3, a0_.created AS created_4, a0_.updated AS updated_5, a0_.tree_left AS tree_left_6, a0_.tree_level AS tree_level_7, a0_.tree_right AS tree_right_8, a0_.tree_root AS tree_root_9, a0_.parent_id AS parent_id_10, a0_.log_created_by AS log_created_by_11, a0_.log_updated_by AS log_updated_by_12 FROM acl_role a0_ WHERE a0_.parent_id IS NULL [] [] 
    [2016-06-19 22:55:50] snc_redis.INFO: Executing command "GET [Project\Library\EntityBundle\Entity\Acl\Role\$GEDMO_TRANSLATABLE_CLASSMETADATA][2]" [] [] 
    [2016-06-19 22:55:50] snc_redis.INFO: Executing command "GET [fde6635bd67dc387082cbca14c42f757][1]" [] [] 
    [2016-06-19 22:55:50] doctrine.DEBUG: SELECT a0_.admin AS admin_0, a0_.id AS id_1, a0_.name AS name_2, a0_.active AS active_3, a0_.created AS created_4, a0_.updated AS updated_5, a0_.tree_left AS tree_left_6, a0_.tree_level AS tree_level_7, a0_.tree_right AS tree_right_8, a0_.tree_root AS tree_root_9, a0_.parent_id AS parent_id_10, a0_.log_created_by AS log_created_by_11, a0_.log_updated_by AS log_updated_by_12 FROM acl_role a0_ WHERE a0_.parent_id = ? [2] [] 
    [2016-06-19 22:55:50] snc_redis.INFO: Executing command "GET [fde6635bd67dc387082cbca14c42f757][1]" [] [] 
    [2016-06-19 22:55:50] doctrine.DEBUG: SELECT a0_.admin AS admin_0, a0_.id AS id_1, a0_.name AS name_2, a0_.active AS active_3, a0_.created AS created_4, a0_.updated AS updated_5, a0_.tree_left AS tree_left_6, a0_.tree_level AS tree_level_7, a0_.tree_right AS tree_right_8, a0_.tree_root AS tree_root_9, a0_.parent_id AS parent_id_10, a0_.log_created_by AS log_created_by_11, a0_.log_updated_by AS log_updated_by_12 FROM acl_role a0_ WHERE a0_.parent_id = ? [3] [] 
    [2016-06-19 22:55:50] snc_redis.INFO: Executing command "GET [fde6635bd67dc387082cbca14c42f757][1]" [] [] 
    [2016-06-19 22:55:50] doctrine.DEBUG: SELECT a0_.admin AS admin_0, a0_.id AS id_1, a0_.name AS name_2, a0_.active AS active_3, a0_.created AS created_4, a0_.updated AS updated_5, a0_.tree_left AS tree_left_6, a0_.tree_level AS tree_level_7, a0_.tree_right AS tree_right_8, a0_.tree_root AS tree_root_9, a0_.parent_id AS parent_id_10, a0_.log_created_by AS log_created_by_11, a0_.log_updated_by AS log_updated_by_12 FROM acl_role a0_ WHERE a0_.parent_id = ? [4] [] 
    Segmentation fault 

Я действительно не Shure, где этот вопрос приходит. Но у меня есть подозрение, что это вызвано Doctrine/Symfony с PHPUnit и PHP7 Но я действительно не знаю, где искать.

Update:

Каждый раз она возвращает ошибку сегментации я получаю строку, как это в dmesg разделе:

[1729155.916967] traps: php[26512] general protection ip:70a8b3 sp:7ffe544fa660 error:0 in php7.0[400000+94f000] 

Это последние строки, которые я получаю при вызове

Strace PHPUnit

lstat("/var/lib/jenkins/workspace/Project Full Build/var/vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parameter.php", {st_mode=S_IFREG|0644, st_size=2561, ...}) = 0 
    lstat("/var/lib/jenkins/workspace/Project Full Build/var/vendor/doctrine/orm/lib/Doctrine/ORM/Query", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 
    open("/var/lib/jenkins/workspace/Project Full Build/var/vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parameter.php", O_RDONLY) = 11 
    fstat(11, {st_mode=S_IFREG|0644, st_size=2561, ...}) = 0 
    fstat(11, {st_mode=S_IFREG|0644, st_size=2561, ...}) = 0 
    fstat(11, {st_mode=S_IFREG|0644, st_size=2561, ...}) = 0 
    mmap(NULL, 2561, PROT_READ, MAP_SHARED, 11, 0) = 0x7f1929b66000 
    munmap(0x7f1929b66000, 2561)   = 0 
    close(11)        = 0 
    lstat("/var/lib/jenkins/workspace/Project Full Build/var/vendor/doctrine/orm/lib/Doctrine/ORM/Query/ParameterTypeInferer.php", {st_mode=S_IFREG|0644, st_size=2289, ...}) = 0 
    lstat("/var/lib/jenkins/workspace/Project Full Build/var/vendor/doctrine/orm/lib/Doctrine/ORM/Query", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 
    open("/var/lib/jenkins/workspace/Project Full Build/var/vendor/doctrine/orm/lib/Doctrine/ORM/Query/ParameterTypeInferer.php", O_RDONLY) = 11 
    fstat(11, {st_mode=S_IFREG|0644, st_size=2289, ...}) = 0 
    fstat(11, {st_mode=S_IFREG|0644, st_size=2289, ...}) = 0 
    fstat(11, {st_mode=S_IFREG|0644, st_size=2289, ...}) = 0 
    mmap(NULL, 2289, PROT_READ, MAP_SHARED, 11, 0) = 0x7f1929b66000 
    munmap(0x7f1929b66000, 2289)   = 0 
    close(11)        = 0 
    poll([{fd=6, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 (Timeout) 
    sendto(6, "*2\r\n$3\r\nGET\r\n$37\r\n[fde6635bd67dc"..., 57, MSG_DONTWAIT, NULL, 0) = 57 
    poll([{fd=6, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 1 ([{fd=6, revents=POLLIN}]) 
    recvfrom(6, "$", 1, MSG_PEEK, NULL, NULL) = 1 
    poll([{fd=6, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([{fd=6, revents=POLLIN}]) 
    recvfrom(6, "$1496\r\n\0\0\0\2\27\37Doctrine\\ORM\\Query\\"..., 8192, MSG_DONTWAIT, NULL, NULL) = 1505 
    write(9, "[2016-06-21 21:39:48] snc_redis."..., 106[2016-06-21 21:39:48] snc_redis.INFO: Executing command "GET [fde6635bd67dc387082cbca14c42f757][1]" [] [] 
    ) = 106 
    write(10, "[2016-06-21 21:39:48] doctrine.D"..., 464[2016-06-21 21:39:48] doctrine.DEBUG: SELECT a0_.admin AS admin_0, a0_.id AS id_1, a0_.name AS name_2, a0_.active AS active_3, a0_.created AS created_4, a0_.updated AS updated_5, a0_.tree_left AS tree_left_6, a0_.tree_level AS tree_level_7, a0_.tree_right AS tree_right_8, a0_.tree_root AS tree_root_9, a0_.parent_id AS parent_id_10, a0_.log_created_by AS log_created_by_11, a0_.log_updated_by AS log_updated_by_12 FROM acl_role a0_ WHERE a0_.parent_id = ? [2] [] 
    ) = 464 
    sendto(4, "\243\1\0\0\3SELECT a0_.admin AS admin_0"..., 423, MSG_DONTWAIT, NULL, 0) = 423 
    poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 1471228928) = 1 ([{fd=4, revents=POLLIN}]) 
    recvfrom(4, "\1\0\0\1\r5\0\0\2\3def\10yoda_dev\3a0_\10acl_r"..., 48, MSG_DONTWAIT, NULL, NULL) = 48 
    poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 1471228928) = 1 ([{fd=4, revents=POLLIN}]) 
    recvfrom(4, "n\f?\0\1\0\0\0\1\1\0\0\0\0/\0\0\3\3def\10yoda_dev\3"..., 287, MSG_DONTWAIT, NULL, NULL) = 287 
    poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 1471228928) = 1 ([{fd=4, revents=POLLIN}]) 
    recvfrom(4, "d\f?\0\23\0\0\0\f\201\20\0\0\0=\0\0\10\3def\10yoda_dev\3"..., 287, MSG_DONTWAIT, NULL, NULL) = 287 
    poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 1471228928) = 1 ([{fd=4, revents=POLLIN}]) 
    recvfrom(4, "yoda_dev\3a0_\10acl_role\fparent_id_"..., 287, MSG_DONTWAIT, NULL, NULL) = 287 
    poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 1471228928) = 1 ([{fd=4, revents=POLLIN}]) 
    recvfrom(4, "1\5\0\0\21\376\0\0\2\0", 287, MSG_DONTWAIT, NULL, NULL) = 10 
    poll([{fd=6, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 (Timeout) 
    sendto(6, "*2\r\n$3\r\nGET\r\n$37\r\n[fde6635bd67dc"..., 57, MSG_DONTWAIT, NULL, 0) = 57 
    poll([{fd=6, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 1 ([{fd=6, revents=POLLIN}]) 
    recvfrom(6, "$", 1, MSG_PEEK, NULL, NULL) = 1 
    poll([{fd=6, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([{fd=6, revents=POLLIN}]) 
    recvfrom(6, "$1496\r\n\0\0\0\2\27\37Doctrine\\ORM\\Query\\"..., 8192, MSG_DONTWAIT, NULL, NULL) = 1505 
    write(9, "[2016-06-21 21:39:48] snc_redis."..., 106[2016-06-21 21:39:48] snc_redis.INFO: Executing command "GET [fde6635bd67dc387082cbca14c42f757][1]" [] [] 
    ) = 106 
    write(10, "[2016-06-21 21:39:48] doctrine.D"..., 464[2016-06-21 21:39:48] doctrine.DEBUG: SELECT a0_.admin AS admin_0, a0_.id AS id_1, a0_.name AS name_2, a0_.active AS active_3, a0_.created AS created_4, a0_.updated AS updated_5, a0_.tree_left AS tree_left_6, a0_.tree_level AS tree_level_7, a0_.tree_right AS tree_right_8, a0_.tree_root AS tree_root_9, a0_.parent_id AS parent_id_10, a0_.log_created_by AS log_created_by_11, a0_.log_updated_by AS log_updated_by_12 FROM acl_role a0_ WHERE a0_.parent_id = ? [3] [] 
    ) = 464 
    sendto(4, "\243\1\0\0\3SELECT a0_.admin AS admin_0"..., 423, MSG_DONTWAIT, NULL, 0) = 423 
    poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 1471228928) = 1 ([{fd=4, revents=POLLIN}]) 
    recvfrom(4, "\1\0\0\1\r5\0\0\2\3def\10yoda_dev\3a0_\10acl_r"..., 277, MSG_DONTWAIT, NULL, NULL) = 277 
    poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 1471228928) = 1 ([{fd=4, revents=POLLIN}]) 
    recvfrom(4, "\0\23\0\0\0\f\201\20\0\0\0009\0\0\7\3def\10yoda_dev\3a0_"..., 287, MSG_DONTWAIT, NULL, NULL) = 287 
    poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 1471228928) = 1 ([{fd=4, revents=POLLIN}]) 
    recvfrom(4, "v\3a0_\10acl_role\vtree_root_9\ttree_"..., 287, MSG_DONTWAIT, NULL, NULL) = 287 
    poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 1471228928) = 1 ([{fd=4, revents=POLLIN}]) 
    recvfrom(4, "ad only\0011\0232016-05-08 00:28:42\02320"..., 287, MSG_DONTWAIT, NULL, NULL) = 152 
    poll([{fd=6, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 (Timeout) 
    sendto(6, "*2\r\n$3\r\nGET\r\n$37\r\n[fde6635bd67dc"..., 57, MSG_DONTWAIT, NULL, 0) = 57 
    poll([{fd=6, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 1 ([{fd=6, revents=POLLIN}]) 
    recvfrom(6, "$", 1, MSG_PEEK, NULL, NULL) = 1 
    poll([{fd=6, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([{fd=6, revents=POLLIN}]) 
    recvfrom(6, "$1496\r\n\0\0\0\2\27\37Doctrine\\ORM\\Query\\"..., 8192, MSG_DONTWAIT, NULL, NULL) = 1505 
    write(9, "[2016-06-21 21:39:48] snc_redis."..., 106[2016-06-21 21:39:48] snc_redis.INFO: Executing command "GET [fde6635bd67dc387082cbca14c42f757][1]" [] [] 
    ) = 106 
    write(10, "[2016-06-21 21:39:48] doctrine.D"..., 464[2016-06-21 21:39:48] doctrine.DEBUG: SELECT a0_.admin AS admin_0, a0_.id AS id_1, a0_.name AS name_2, a0_.active AS active_3, a0_.created AS created_4, a0_.updated AS updated_5, a0_.tree_left AS tree_left_6, a0_.tree_level AS tree_level_7, a0_.tree_right AS tree_right_8, a0_.tree_root AS tree_root_9, a0_.parent_id AS parent_id_10, a0_.log_created_by AS log_created_by_11, a0_.log_updated_by AS log_updated_by_12 FROM acl_role a0_ WHERE a0_.parent_id = ? [4] [] 
    ) = 464 
    sendto(4, "\243\1\0\0\3SELECT a0_.admin AS admin_0"..., 423, MSG_DONTWAIT, NULL, 0) = 423 
    poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 1471228928) = 1 ([{fd=4, revents=POLLIN}]) 
    recvfrom(4, "\1\0\0\1\r5\0\0\2\3def\10yoda_dev\3a0_\10acl_r"..., 135, MSG_DONTWAIT, NULL, NULL) = 135 
    poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 1471228928) = 1 ([{fd=4, revents=POLLIN}]) 
    recvfrom(4, "acl_role\6name_2\4name\f\10\0\377\0\0\0\375\1\0\0\0"..., 287, MSG_DONTWAIT, NULL, NULL) = 287 
    poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 1471228928) = 1 ([{fd=4, revents=POLLIN}]) 
    recvfrom(4, "\10yoda_dev\3a0_\10acl_role\ftree_leve"..., 287, MSG_DONTWAIT, NULL, NULL) = 287 
    poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 1471228928) = 1 ([{fd=4, revents=POLLIN}]) 
    recvfrom(4, "\21log_created_by_11\16log_created_b"..., 287, MSG_DONTWAIT, NULL, NULL) = 287 
    poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 1471228928) = 1 ([{fd=4, revents=POLLIN}]) 
    recvfrom(4, "\0\2\0", 287, MSG_DONTWAIT, NULL, NULL) = 3 
    poll([{fd=6, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 (Timeout) 
    sendto(6, "*2\r\n$3\r\nGET\r\n$37\r\n[fde6635bd67dc"..., 57, MSG_DONTWAIT, NULL, 0) = 57 
    poll([{fd=6, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 1 ([{fd=6, revents=POLLIN}]) 
    recvfrom(6, "$", 1, MSG_PEEK, NULL, NULL) = 1 
    poll([{fd=6, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([{fd=6, revents=POLLIN}]) 
    recvfrom(6, "$1496\r\n\0\0\0\2\27\37Doctrine\\ORM\\Query\\"..., 8192, MSG_DONTWAIT, NULL, NULL) = 1505 
    --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} --- 
    +++ killed by SIGSEGV +++ 
    Segmentation fault 

может кто-нибудь сказать мне, откуда это происходит? Я запустил его, прежде чем вызывать обновление композитора, насколько мне кажется, это работает. Но после этого это не будет. Таким образом, на самом деле это не проблема, проблема с плагином, поэтому я сейчас смотрю в нее глубже.

+0

Ошибки сегментации вызваны внутренней ошибкой программирования: сообщите об этом https://bugs.php.net –

+0

Хорошо, только что нашел что-то интересное. –

+0

Если я обновляю пакеты, у меня также возникает ошибка сегментации в среде Dev, что довольно странно. Кажется, это ошибка в компоненте доктрины. Прилагаю strace к сообщению выше, возможно, вы можете увидеть проблему –

ответ

1

ok Следующая часть будет действительно странной. я включил следующие модули, как это, где единственные пропавший:

Xdebug

Я перенастроен opcache.ini файл со следующими параметрами

zend_extension=opcache.so 
opcache.memory_consumption = 2048 
opcache.enable_cli = On 
opcache.file_cache /tmp/php 

После этого он всегда выполняет. Даже если я удалю эти строки. Независимо от того, что я делаю, я не могу воспроизвести его. Это действительно расстраивает, но, по крайней мере, это работает.

Если кто-то может заручиться мной, я действительно благодарен.

Смежные вопросы