Segmentation fault pri pokusu o spusteni aplikace pres cli

před 10 měsíci

tomees
Člen | 62
+
0
-

Zdravím. Máme docela zapeklitý problém se kterým si už hodně hodin lámeme hlavu a nevíme co s tím.
Máme už poměrně rozsáhlou aplikaci (vygenerovaný kontejner má něco okolo 6000 tisíc řádků) a narazili jsme na problém. Kolega začal dělat frontend aplikace a vše se zdálo OK do chvíle, než jsme zkusili spustit příkaz na symfony konzoli.

php src/bin/cli.php

(obsahuje kontejner z bootstrapu a rovnou spouští symfony konzoli $container->getByType(‚Symfony\Component\Console\Application‘)->run();)

Ve Windows na PHP 7.1 proběhne bez jakékoliv odezvy, nezobrazí nic, ani chybu. Na MacOS s PHP 7.3.9 zobrazí hlášku

[1] 63846 segmentation fault php src/bin/cli.php

Kolega tam přidal několik presenterů, má je poděděné z dalších dvou abstract presenterů a v každém má minimálně dvě traity, ve kterých má továrničky na komponenty včetně jejich DI závislostí (@inject). Zjistil jsem že když určitý počet trait z presenterů odstraním, kompilace kontejneru s podaří a konzole se spustí. Ale jakmile vrátím třeba jednu traitu navíc tak se znovu objeví chyba při dalším pokusu.

Nenapadá někoho čím by to mohlo být? Klasická aplikace v prohlížeči vypadá ok, ale konzoli nejsme schopni pustit.

před 10 měsíci

tomees
Člen | 62
+
0
-

Hmm, ted jsem vyzkousel php 7.2.22_1 a projde to bez problemu…

před 10 měsíci

Mabar
Člen | 287
+
0
-

Segfault jsou chyby v phpku a je těžké je zreplikovat. Většinou stačí aktualizovat php, v případě trait občas blbne, když jich víc definuje stejnou metodu či atribut nebo když jsou složitěji zanořené.

před 10 měsíci

tomees
Člen | 62
+
0
-

Jojo, ja to jeste projdu, ale bude to nejspis tim zanorenim, kolega zrusil traity a tim jsme to docasne vyresili. Ale jeste to chci otestovat pod ruznymi verzemi PHP

před 10 měsíci

Michal Hlávka
Člen | 191
+
0
-

U me segmentation vyhazovalo nette na nette/cache.

před 4 měsíci

kminekmatej
Člen | 5
+
0
-

Michal Hlávka napsal(a):

U me segmentation vyhazovalo nette na nette/cache.

Cau, neporesils to nejak? Prave jsme na projektu nasadili Nette Cache a od te doby nam to zacalo pomerne casto padat prave na Segmentation Fault. Predtim to spadlo jen cas od casu, coz predpokladam bylo zpusobene tim ze si cachovalo pouze Nette svoje veci. Jednalo se o FileStorage, prepnuti na DevNullStorage SegFault nevyhodi.
Premejslim ze zkusm prejit na Memcache Storage.

před 4 měsíci

Milo
Nette Core | 1153
+
+3
-

V PHP nemá cenu měnit aplikaci při segfaultu. Upgrade/downgrade PHP to musí vyřešit.