Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2016-09-20

| Channels | #divine index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:48 ilbot3 joined #divine
01:48 Topic for #divine is now DIVINE: A Parallel LTL Model Checker (http://divine.fi.muni.cz) | http://irclog.perlgeek.de/divine/
08:31 evenfall zábavnej problém: když unwind vyfaultuje, tak se fault pokusí vypsat backtrace kterej jde skrz uvolněný rámce...
08:32 xstill hm, to se dá asi v __divine_unwind opravit
08:32 xstill *__dios_unwind
08:32 evenfall no, jde manipulovat vlastním parentem, třeba
08:33 xstill jak se vůbec může stát, že unwind failne?
08:33 evenfall no, jsou tam asserty
08:33 evenfall teda jeden
08:33 evenfall i když nemyslim že to umírá na tom
08:33 evenfall invalid pointer dereference
08:34 xstill kde? protože to by nemělo nastávat
08:34 evenfall to bych klidně připsal tomu, že jsem přeskládal metadata a neměl na to testy
08:35 evenfall jo je to nějakej load z extractvalue z __md_get_register_info
08:35 evenfall ale fault handler by to beztak mohl nějak přežít
08:35 xstill pošli mi ten příklad
08:37 evenfall to já si asi vyřešim, teď mě víc zajímá jak se stane, že fault handler v traceInternal zase spustí unwinder
08:40 evenfall aha ne já jsem jen zmatenej...
08:42 evenfall 65fe210f7c740e5438cbb590d92306452aa3c863 to mohlo rozbít
08:45 xstill_ tam může být nějakej destruktor v tom trace
08:47 evenfall mě zmátlo jak to vypisuje 1: __dios_unwind žejo :) ve fault handleru
08:48 evenfall když to krokuješ tak od doby co to vypsalo Backtrace: už uplynula docela doba
08:48 evenfall takže chová se to dobře (až na to, že doublefault)
08:56 evenfall a navíc nefungují blockaddress(f, l) konstanty...
09:01 evenfall hm, ono se to navíc snaží držet ten top->parent jak má
09:02 evenfall aby ten backtrace byl stále OK
09:05 evenfall jo, problém je někde v tý insttable, když vykomentuju uvolňování alloca tak ten fault zmizí (a objeví se jinej :-)
09:10 xstill_ joined #divine
09:12 evenfall oi!
09:18 xstill_ co?
09:18 evenfall no __vm_control se po změně rámce snaží číst další operandy z toho novýho
09:19 evenfall (to je ten druhej fault)
09:19 xstill_ aha
09:19 xstill_ to je blbý no
09:24 yaqwsx joined #divine
11:15 evenfall záhada vyřešena
11:15 evenfall vůbec to nesouviselo s tím patchem co jsem myslel
11:16 evenfall na konci srpna jak jsem implementoval registry jsem změnil jak se počítají offsety do rámce
11:16 evenfall všechno je od začátku rámce (nepřeskakuje se hlavička)
11:17 evenfall ale metadata.cpp si tu hlavičku přičetlo a všechny offsety na registry byly o 16 bajtů vedle
11:17 evenfall no a aby to bylo co nejveselejší, tak to vyšlo zrovna tak, že alloca se posunula na výsledek __vm_control kterej obsahoval adresu toho rámce
11:18 evenfall takže cyklus na uvolnění alloca uvolnil ten rámec a pak invalid dereference když to chtělo vytáhnout parent pointer
11:18 evenfall zachvíli to zarecorduju a pushnu, bbiab
11:31 evenfall jo a zítra normálně přijedu
11:35 xstill_ :-D dobrej bug no
11:36 evenfall není nějakej registrovej offset ještě v lsda?
11:37 xstill_ nemyslím si, ale podívám se
11:37 xstill_ i když možná jo
11:38 evenfall hm, nezdá se, getLPInfo volá __md_get_register_info
11:40 xstill_ ajo vlastně, a na PC to nemá vliv
11:41 evenfall __dios_unwind mi už totiž funguje, ale výsledek landingpadu je nedefinovanej
11:57 evenfall ok, nesouvisející chyba /o\ ... už funguje aj catch/throw
11:59 evenfall no, funguje... trochu :]
13:58 evenfall (jo, ještě global alias na funkce je nějak rozhašenej, konstruktor std::exception nejde zavolat)
16:14 yaqwsx joined #divine
20:22 yaqwsx joined #divine

| Channels | #divine index | Today | | Search | Google Search | Plain-Text | summary