2017-09-06 8 views
0

최근 Laravel 5.5에서 약간의 프로젝트를 시작했습니다. Homestead 상자를 최신 버전으로 업데이트했습니다. 내가 잘못 주장 방법을 철자 경우 Laravel 5.5의 Segfaults

테스트를 작성, 나는 세그먼트 폴트를 가로 질러왔다 동안, 나는이 문제가 아니라 정당, 지금은 폐쇄 된 https://github.com/laravel/framework/issues/20925

에서 찾을 수있는 GitHub의의의 repo에 문제를 만들어 그것은 내 실수였습니다 (assertPushedOn() 대신 asertPushedOn()).

그러나 나는 최근 또 다른 segfault를 발견했습니다. eagerload를 시도 할 때 내 오류 (잘못 명명 된 관계 임)가 있지만 문제는 5.5 이전에는 발생하지 않았습니다. 이제 무언가를 엉망으로 만들 때 무작위로 세그 폴트를 얻는 것 같습니다. 나는 (로그에서 그들을 디버깅 Laravel 로그 파일 또는 nginx를 오류 로그 도움이 아무것도 찾을 수 없습니다. 내가 할

유일한 오류 메시지가 나에게 아무것도 말하지 않습니다 Segmentation fault (core dumped)입니다. 문제 보고서에

, 그것은 언급 Xdebug는 오류를 덤프 내가 laravel homestead xdebug에 대한 구글을 가지고 있지만 (나는 숭고한 사용자입니다) phpstorm 필요한 리소스를 찾을 수

TL; DR :..

업데이트 된 농가 상자 Laravel 5.5

1) , 내가 어딘가에서 엉망이라면 지금 PHP segfaults를 얻고있다. 5.5/농가에 변화가 있습니까?

2) 어떻게 xdebug를 활성화 할 수 있습니까 (실제로 segfaults를 디버그하는 데 도움이됩니까?)?

3) xdebug가 답변이 아니면 어떻게 segfaults에서 기본 디버그 정보를 얻거나 중지 할 수 있습니까?

제가 작성한 문제에서 언급했듯이, 저는 segfaults에 대해 많이 알지 못합니다. 어떤 추가 정보가 필요하면

, 내가

편집

을 알려 난과 Xdebug는 가능하게 관리하십시오

sudo phpenmod xdebug 
sudo service nginx restart 
php -m 

을하지만 난 세그먼트 폴트를 재현 할 수 없었습니다 (xdebug 사용 여부에 관계없이) segfault가 나를 혼란스럽게 만든다.

+0

아마도 모든 메모리가 소모되는 재귀 함수가있을 것입니다. 따라서 메모리 부족으로 오류가 발생합니다. 코드를 공유 할 수 있습니까? –

+0

재귀를 가정하지만 어떤 것도 찾을 수 없습니다. 부분적으로 프레임 워크로 인한 것일 수도 있지만 실제로는 실수를 통해서만 실현 될 수 있다고 생각하므로 코드를 공유 할 수는 없습니다.과거에는 큰 재귀가 xdebug 나 Homestead의 다른 프로세스에 의해 잡혀서 오류가 발생했음을 확신합니다 (디버깅을 시작할 위치에 대한 정보를 최소한 제공함). –

답변

1

그래서 원래의 segfault를 재현 할 수 없었지만 xdebug를 사용하지 않는 동안 다른 segfault를 재현 할 수있었습니다.

나는 다음과 Xdebug는 사용할 수

:

sudo phpenmod xdebug 
sudo service nginx restart 

와 나에게 세그먼트 폴트를 준 스크립트를 reran, 나는 성공적으로 해결하기 위해 파일 이름과 라인 번호로 재귀 오류가 발생했습니다.