Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2014-07-27

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

All times shown according to UTC.

Time Nick Message
08:19 mornfall bleh :-)
08:26 xstill hele ty žiješ :-)
08:29 mornfall jo, ale bolí to :D
08:30 mornfall hm, jak může být modelcheckovatelný něco co alokuje 64k objektů na haldě?
08:31 xstill podívej se na ten model, já nic nealokuju
08:31 xstill kdybych alokoval tak si nestěžuju
08:32 mornfall ještě kdyby se se mnou nginx na anně chtěl bavit...
08:34 xstill /home/xstill/DiVinE/testcase_memics/mutex-partial-deadlock-2.c
08:34 mornfall restart mu pomohl
08:37 xstill projeví se to v reachabilitě, v debug to chvíli trvá a nesmíš mít property mutex
09:11 xstill no jako jediná alokace ke které by tam mělo docházet je  inicializaci threadu
09:16 mornfall na tom je spíš zajímavý, že když si assert na limit přidám do mallocu tak to nechytne
09:17 mornfall (do mallocu v Nursery)
09:17 xstill to je dost divný
09:18 mornfall no, možná ne protože jsem to napsal do jinýho stromu než kterej jsem pak přeložil
09:18 xstill :-D
11:09 xstill zjistil jsi něco?
11:13 mornfall no, nedává to moc smysl :-)
11:14 mornfall opakujou se na haldě 3 stejný objekty furt dokola
11:14 xstill super
11:14 xstill a co jsou zač?
11:15 xstill dá se to zjistit?
11:15 mornfall pointer int int
11:16 mornfall inty jsou vždy 0 0 nebo 4 4
11:16 mornfall a pointer se posouvá
11:17 xstill divný
11:17 xstill a ten assert v nursery pořád nepadá?
11:17 mornfall ale jo padá
11:17 mornfall je to v alloca
11:18 xstill aha, to vysvětluje proč jsem počítáním BuiltinMalloc k ničemu nedošel
11:18 xstill ale co tam sakra dělá tolik alloca
11:22 mornfall vypadá to trochu jako že se to zacyklí uvnitř mask sekce, ale nevim jistě
11:23 mornfall musím si opravit dump nursery aby mi vypisolav pointry normálně
11:24 mornfall vypisoval*
11:25 mornfall dyslexie ++
11:28 mornfall xstill: mám pocit že _check_deadlock se zacyklí když existuje mutexovej cyklus kterej neobsahuje gtid
11:28 mornfall xstill: a v tom cyklu jsou alloca
11:29 mornfall xstill: (int holdertid a Thread *holder)
11:31 xstill mrknu na to
11:38 xstill nojo, zacyklit se to může, jen mi není jasný, jakto že se to nezdetekovalo v tom threadu co to způsobil
11:39 xstill vzhledem k tomu, že ho nemůžeš přerušit mezi tím co si nastaví waiting_mutex a co detekuje deadlocky
11:40 mornfall nezdetekovalo co?
11:40 xstill aha vlastně ono to mohlo zdetekovat, to je jedno protože to pokračuje
11:40 xstill (ten deadlock)
11:40 mornfall on ho jistě našel, žejo :)
11:41 xstill jo už mi to došlo
11:41 mornfall ale tím žes řekl že tě to nezajímá tak ostatní vlákna můžou táhnout dál
11:42 xstill hm, co s tím teď, dávat tam set je na nic asi. Bude hodně hnusný, když to zastavím po thread_count krocích?
11:45 mornfall no, nebude to fungovat :-)
11:45 mornfall ten cyklus může jít přes 10 mutexů který všechny drží jeden thread
11:46 mornfall (nebo ne?)
11:46 mornfall musim si to namalovat
11:48 mornfall asi nemůže
11:50 mornfall jo dobrý, stačí to, ty vlákna musí nutně blokovat
11:51 xstill jo protože ono to iteruje přes mutexy na který se čeká, a těch může být max tolik co vláken
11:51 mornfall cykly na trylock ani nemůžem zkoušet hledat
11:52 xstill to taky neděláme
11:53 xstill jen někde musím vyšašit počet threadů, protože thread_counter je počet od začátku běhu
11:54 mornfall to je taky asi relativně malý číslo který jako bound bude fungovat :)
11:56 xstill no alloc_pslots je počet běžících threadů (ať žije smysluplné pojmenovávání proměnných :-)
11:57 mornfall tak, celej pthread.cpp by potřeboval trochu uklidit ;-)
11:57 xstill jo
11:58 xstill ještě musím zjistit jestli ten bound je počet vláken, nebo počet vláken + 1
11:58 mornfall no, počet hran v tom cyklu je počet uzlů je počet vláken
12:00 xstill jo
12:01 xstill tak jo, pouštím testy
12:03 xstill jo, nezávisle na tom, není trochu blbý, že lokální proměnné v cyklu způsobují neustále nové alloca?
12:03 mornfall to se zeptej clangu :P
12:03 mornfall on by to z toho cyklu vyliftovat mohl, kdyby se mu chtělo
12:04 xstill hm, no ale on má tu alloca venku, hned na začátku
12:05 mornfall tak to musí mít jinej důvod pak... hm
12:19 mornfall no, je to tím cyklem, ale ty alloca nejsou z těch deklarací v cyklu ale z toho volání _get_thtread_by_gtid
12:19 mornfall který obsahuje alloca
12:20 mornfall thread*
12:21 mornfall a ty clang už vyliftovat nemůže, pokud se to nezainlinuje
12:22 xstill aha, a ono se to v divine nevyčistí po té co ta funkce vrátí?
12:23 mornfall ono se to dokonce ani nemůže vyčistit, protože kdyby ten pointr někdo vrátil a tys ho použil znovu tak se to nepozná
12:23 mornfall teda pokud bys to udělal dřív než se kanonizuje
12:25 xstill no ale ty bys přece neměl vracet pointr na lokální proměnnou
12:25 mornfall to bys neměl :-)
12:25 mornfall ale to že to je chyba asi poznat chceš
12:25 xstill aha, to jo
12:26 mornfall lidi to občas udělaj a pak se nestačí divit
12:26 mornfall divine si pointry který uvolníš označí jako uvolněný
12:26 mornfall a když se uklízí stav při kanonizaci, všechny pointry co ukazujou na uvolněnou paměť se splácnou do jednoho invalid pointru
12:27 mornfall možná by to šlo dělat už dřív, ale každej free by byl pak lineární vůči velikosti stavu
12:27 mornfall (musíš projít všechny pointry jestli na to náhodou taky neukazujou)
12:28 xstill jo, ono vlastně pokud to není maskovaný na cyklus stejně způsobí udělání stavu, ne? takže to až tak nevadí
12:29 mornfall jo
12:37 xstill hm, jen teda když jsem opravil mutex testy tak dead locker padá protože se ten deadlock nenajde
12:40 xstill (opravil jsem ho tak, že jsem přidal pthread_join( t, 0 ) na řádek 32, jinak tam byl invalid dereference)
12:41 mornfall ani s -p mutex?
12:41 xstill mělo by tam být safety
12:42 mornfall tak, safety najde první chybu
12:42 xstill no tu dereference jsem opravil
12:42 mornfall když tam je víc než jedna, je to těžký :-)
12:43 xstill teď tam platí údajně mutex i safety
12:43 mornfall hm
12:43 mornfall tak je ten bound špatně, asi :-)
12:48 xstill hm, spíš to vypadá, že to nikdy nefungovalo
12:48 xstill a nezjistili jsme to protože test byl blbě
12:50 xstill jo no
12:51 xstill ale jak je to možný to nevím
12:51 mornfall no, nedávno jsme to řešili ne? :)
12:51 mornfall jen jsem to nestih opravit
12:52 xstill řešili, jinak bych nepřišel na to, že je to blbě
12:52 mornfall http://irclog.perlgeek.de/divine/2014-07-15#i_9030386
12:55 mornfall (taky je otázka jestli „mrtvá šatnová skříňka“ je úplně ten pravej název testu ;-)
12:58 xstill :-D
13:00 xstill já se divím, že to víc nepadá
13:01 xstill (_get_thread_by_gtid byl dost blbě)
13:05 xstill no, ono to nikdy nemohlo fungovat
13:05 xstill blbost
13:07 xstill nojo, nemohlo, ale z jiného důvodu :-)
13:13 xstill sakra
13:13 xstill teď jsem ti to poslal a ještě to není dobře
13:14 xstill takže to ignoruj
13:16 xstill tak teď už to bude v pořádku
13:17 xstill jo a ten model z článku už mi tu běží pěkně dlouho na metrics a má zatím přes 400k stavů
13:20 xstill hm, chtěl jsem jít nakupovat, ale blíží se bouřka
13:21 xstill mimochodem, http://www.lightningmaps.org/realtime?lang=en znáš? (to kdybys nevěděl, že tam máte bouřku)
13:21 mornfall :D
13:22 mornfall čhmu má taky nějakou mapu blesků tušim
13:22 xstill tohle je realtime
13:22 xstill prej až tak, že ti to předpoví kdy uslyšíš hrom
13:23 mornfall :-)
13:23 mornfall mám docela dlouhej delay
13:23 mornfall ale jo, vypadá to hezky :-)
13:24 xstill tak ono to asi chvíli trvá spočítat
13:25 mornfall ale odsud už to docela odplavalo
13:25 xstill hele ještě ti to na auře běží, a i tomu druhýmu člověku
13:27 mornfall běží no
13:31 xstill hm, podle oficiálních informací bych si tam mohl pustit divine na 64 vláken s nice 10 a oba vás obrat o cpu :-) (http://www.fi.muni.cz/tech/unix/aura.xhtml)
13:33 xstill nějak se mi to seklo na 630k stavech
13:33 xstill hmmm, všech 10 vláken je v atomic exchange
13:36 xstill (concurrentset.h:270)
13:38 xstill ne jedno je v :327 a taky cyklí
13:38 mornfall jsem si říkal...
13:39 mornfall otázka je jak může cyklit když je to cyklus na iterátoru
13:39 xstill možná necyklí a jsem slepej
13:40 xstill tak asi necyklí, otázka je proč ty ostatní dělaj exchange a nepomáhaj mu
13:41 mornfall to jsem už v bricks opravoval :-
13:41 mornfall :)
13:41 mornfall je tam race
13:41 mornfall dost dlouhej
13:42 xstill to poteší protože ten jeden chudák teď hashuje všechny stavy
13:42 xstill což chvíli tvá, zvlášť když jsou rozsekaný v NTree
13:42 mornfall http://irclog.perlgeek.de/divine/2014-07-09#i_8994034
13:42 xstill chtělo by to backportovat bugy nebo portovat divine na bricks
13:42 mornfall a předtim http://irclog.perlgeek.de/divine/2014-07-08#i_8989215
13:51 xstill jo, ale tak alespoň to není skutečnej deadlock
13:51 xstill jen to otravně trvá
14:00 xstill jo, máš nějaký zkušenosti s ne-intel (konkrétně realtek) síťovkama na linuxu (ne jen wifi ale i pevná síť)?
14:00 mornfall realtek ještě existuje? :-)
14:00 xstill zdá se že jo
14:00 mornfall býval to standardní chipset
14:01 mornfall rtl8139 snad :-)
14:01 mornfall ale to byla jiná doba
14:03 xstill no já se totiž koukám na toto: http://www.gigabyte.cz/products/page/desktop_platform/gb-bxceh-2955rev_10/specs/, jako domácí mini-server. Intel prodává něco podobného, ale to má i3 a stojí o 2k víc, za což si můžu koupit RAM
14:03 mornfall bývala to nejlíp podporovaná síťovka ze všech :-)
14:03 xstill ale ten gigabyte má Realtek RTL8111G síťovku
14:03 xstill jo?
14:03 xstill a slyšel jsem, že s ne-intel wifi bývá problém
14:04 xstill ale mě jde hlavně o pevnou síť
14:06 mornfall http://unixblogger.wordpress.com/2011/10/18/the-pain-of-an-realtek-rtl8111rtl8168-ethernet-card/ nevim no
14:07 mornfall ale to by mohlo být už dávno spravený
14:07 mornfall (pravda, poslední komentáře jsou z tohoto měsíce)
14:07 xstill hm, máš nějakou magickou schopnost to hledat
14:09 mornfall každopádně fungovat to asi bude, ale nebude to stoprocentně bezbolestný
14:09 mornfall určitě bych ale zvážil raspberry a spol...
14:10 mornfall (záleží co od toho chceš teda)
14:18 mornfall je pravda že rpi má dost slabý CPU
14:19 mornfall a jako NAS to taky použít nejde
14:22 xstill no jo, ještě nevím, raspberry & spol je o dost levnější, ale zase mít na tom x86 zjednodušuje dost věcí, především nemusíš řešit cross-compilery
14:23 xstill na tohle by šel hodit normální nixos (otázka je ja v něm udělat takový hacky jako s těma modulama)
14:24 xstill ten cpu není sice asi extra výkonnej, ale je to haswell, takže i přes těch 1.4 GHz bude asi dost slušnej
14:28 xstill a můžu v tom mít podstatně víc paměti
14:36 xstill jen je teda škoda, že je to aktivně chlazený
14:37 xstill existuje i pasivní BRIX s nějakým novým atomem, ale ten se nedá vůbec nikde sehnat (jako ani na amazonu a tak)
14:37 mornfall navíc atom :-)
14:37 mornfall mně teda už vadí aj točící se disk v laptopu
14:37 mornfall teda vadil, než jsem všechny kolem zrušil :P
14:39 mornfall ale nějaký mini-ITX s pasivním chlazením sehnat šly, co si pamatuju
14:39 xstill no atom už je out-of-order, takže bych řekl, že bude rychlejší než ten ARM
14:40 xstill no já to budu mít na chodbě asi, takže zas úplně tichý to být nemusí
14:40 xstill jo no postavit si něco nad mini-ITX deskou je taky možnost
14:49 xstill intel má strašnej bordel ve značení celeron procesorů, člověk vůbec netuší co je to za architekturu
14:49 mornfall :-)
14:49 mornfall celer je to
14:53 xstill no, někdy je to atom, někdy je to haswell, někdy ivy-bridge, podporované množství paměti je kdekoli mezi 4 a 32G, počet jader taky lítá (atomy maj i 4)
19:07 xstill hm, sežral jsem diskovou kvótu na auře, potřebuju aby mě fakulta zaměstnala :-D
19:23 xstill nojo, můžu si zbuildovat divine na arke, poslat binárku na auru a funguje :-)
19:27 xstill hm ten mutex-partial-deadlock-2 model mi dělá ostudu, je až 1000x pomalejší s csdr
19:31 xstill hm tak to asi není až tak binárně kompatibilní, nějak divně to segví
19:46 mornfall no, vybuildi si to nixem
19:47 xstill no všek aura má dost nixu, jako knihovny tam zdánlivě nechybí, ale něco se asi chytá ze systému a rozbíjí to
20:24 ilbot3 joined #divine
20:24 Topic for #divine is now DIVINE: A Parallel LTL Model Checker (http://divine.fi.muni.cz) | http://irclog.perlgeek.de/divine/
21:22 xstill 19.6M llvm stavů za hodinu a čtvrt (32 vláken) v 2GB paměti, to celkem jde :-)
21:23 xstill ten tvůj tabulkovej model musí bejt strašně velkej
21:55 mornfall asi je, no

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