BRUTE AE: 05vlakna: Test: Wait for stdin
Dobrý den,
Chtěl bych se zeptat, timeouts, které mi dává brute, se me nedaří replikovat na svém počítači (používám utilitu timeout). Kromě občasného segmenrarion fault od sanitazeru, které nedokážu lokalizovat, protože sanitazer pokaždé ukazuje na jinou řádku. Mimo to, pokud zkompiluji bez sanitazeru, k žádné segmentation fault nedojde.
Předpokládám, že je to z toho, že se vlákno někde zasekne. Což je zvláštní, protože si myslím, že jsem všechny kritické sekce pokryl mutexem. Všechny operace na frontě by měly být mutexem také chráněné, jelikož se mutex používá přímo v tělech těch funkcí.
Další otázka je, jak se máme vypořádat s nepřidělením paměti v testu 15? Zkouším alokovat příliš? Vycházím z toho, že pokud bych tisknul output po částech, promixuje se s ostatními vlákny a pokud bych ho zamknul mutexem, brute bude nadávat. Ostatně podobnou otázku již položil kolega 'Damir Gruncl'.
A poslední, úplně nerozumím chybové hlášce v Test #19 (closed): Compile with thread sanitizer: during GIMPLE pass: tsan queue.c: In function 'create_queue': queue.c:13:10: internal compiler error: Segmentation fault
Tuto chybovou hlášku, se zdá zapříčíní přepínač no-pie. Jinak se mi daří kompilovat bez chyby.
Děkuji, Jan Wagner
Keep this URL here: https://cw.felk.cvut.cz/brute/data/ae/release/2020z_b4b35osy/05vlakna/cviceni/ae/results/results.php?&idg=wagneja4&idu=5943&upload=954654&result=593533#test-10