Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2015-07-14

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

All times shown according to UTC.

Time Nick Message
08:57 xstill mornfall: ty jsi předpokládám s weakmemory nic nedělal?
09:01 mornfall ne, ještě jsem bojoval s těma registrama & spol
09:02 mornfall když se vypne leak detekce + alloca escape detekce tak je dost programů kde to funguje ale pthread jsou furt lehce rozbitý
09:03 xstill ok, tak já to nějak dotáhnu
09:07 xstill mornfall: prosim tě kde bereš llvm dokumentaci? mě pěkně štve, že kdykoli dopoledne vyhledávám llvm dokumentaci tak ty doxigenový krámy házej 404
09:16 mornfall hm, normálně online, nebo grep ve zdrojácích
10:24 spito mornfall: kde jsou ty slibované projekty?
10:46 mornfall spito: kolik jsi toho chtěl? něco jsem tam nasypal
10:46 mornfall spito: (sorry za zdržení, ale ráno jsem zjistil že mě vymkli z VPNky tak jsem řešil to a tebe úplně pustil z hlavy)
10:49 mornfall můžeme chtít portovat libstdc++ a zprovoznit překlad g++/dragonegg? (to by taky bylo na projekt)
11:11 mornfall [ 2:08] ../testcase.c:15:18: warning: shift count >= width of type [-Wshift-count-overflow]
11:11 mornfall [ 2:08]     CHECK_DEF( x >> 32 );
11:12 mornfall xstill: hm, nemyslim že je garantovaný že do longu se vejdou 4 shorty
11:12 mornfall [ 2:08] UNDEFINED VALUE (thread 0): <main> [ ../testcase.c:19 ] << %26 = select i1 %25, i32 1, i32 2, !dbg !63049 >>
11:12 mornfall [ 2:08]     19    CHECK_DEF( ((short*)&x)[ 2 ] );
11:12 mornfall (x je long)
11:13 mornfall možná chceš spíš int64_t a int16_t
11:13 mornfall (nebo long long a short)
11:51 xstill mornfall: jo, máš pravdu
11:54 xstill mornfall: nějak jsi rozbil functional testy
11:54 xstill mornfall:  ### States-Visited: 59 expected, 68 got (global-ok.bc)
11:56 mornfall xstill: to už je opravený, běží buildy
11:56 xstill ok
11:56 mornfall nicméně rozbitýho je toho furt dost
11:56 mornfall fs-* timeoutuje jak divý
11:57 mornfall a stacksave se chová fakt dost divně
11:59 xstill mornfall: máš tam patch
12:11 mornfall jen teď nevim jestli ty uninitialised věci tak zpomalily interpret, nebo proč teď fs-* tak divoce timeoutuje
12:11 xstill hm, to by nepotěšilo, kdyby to zpomalili, ale to se mi dost nezdá
12:12 mornfall no, nevim jak moc, něco určitě protože to přidalo docela dost branchingu do horkých cest
12:12 mornfall aspoň tak jak to teď funguje
12:14 mornfall nevim jestli to jde udělat nějak moc líp, ale možná ani ne
12:16 mornfall jo, ještě jsem rozbil Instance: v reportu a zatím nevim jak (ale asi to souvisí s tím nenačítáním modelu 2x)
12:56 spito mornfall: dík :)
13:00 spito mornfall: pátek bude
13:01 spito a pokusím se dotáhnout studenta s prezentací, co udělal a co bude dělat s verifikací boostu
13:03 mornfall super
14:02 spito mornfall: tak přijde až příští pátek
14:03 spito help s konfigurací darcsu - co je potřeba vybrat při konfiguraci poštovního serveru?
14:21 spito mornfall: k těm fs-* testům - oni timeoutujou jenom v debug režimu, v release módu to stihnou překvapivě rychle
14:30 mornfall jo já vim
14:30 mornfall i když nevim jestli překvapivě
14:54 spito ha, divine segfault
14:54 mornfall kde, co? :)
14:54 mornfall release nebo mainline?
14:56 spito mainline
14:56 spito stacksave
14:56 spito .sh
14:56 mornfall jo tak
14:56 mornfall nic nového
14:56 mornfall on to je assert, segví to jen v build_type release
14:57 spito a jde to opravit? :D
14:57 mornfall jen to nějak nedokážu reprodukovat, mi tady stacksave funguje úplně normálně
14:57 mornfall spito: hlásíš se dobrovolně? :D
14:57 mornfall pokud náhodou zafunguje gdb, tak za pár hodin snad dostanu backtrace a budu mít aspoň představu co se děje
14:59 spito RelWithDebInfo funguje v pořádku?
15:00 mornfall to je to stejný jako release
15:01 spito Ad fs-* testy - mám je rozdělit na víc subtestů?
15:21 spito mornfall: a pak bych taky chtěl vědět, jak můžu pomocí RH generovat peníze
15:31 mornfall no, mám nějaký .ods ale nemám se na něj úplně jak podívat, a je určený pro FIT
15:32 mornfall a počítám že adresa kam to poslat stejně ještě neexistuje
15:32 mornfall jestli se někdy dostanu k firemní poště tak je popoženu
15:33 xstill mornfall: a co ten scalarMemory?
15:33 mornfall co s ním?
15:33 spito mornfall: jako docela rád bych to už měl....je trochu trapné studentům pořád říkat, že v RH ještě neví, jak to vyřešit
15:34 xstill no kdy bude?
15:34 mornfall spito: no a proč jim říkáš zrovna tohle?
15:34 mornfall dyť jsem ti to minule vysvětlil snad?
15:34 spito protože se mě na to ptají
15:34 mornfall možná by sis měl dělat poznámky...
15:54 mornfall xstill: pospícháš na to? do abstraktu je 10 dnů a rád bych kdyby prvně aspoň procházely testy
15:55 mornfall jinak stacksave se rozbil tímhle patchem (zatím netuším jak):
15:55 mornfall Thu Jun 25 21:10:16 CEST 2015  Vladimir Still <xstill@fi.muni.cz> * LLVM: Implement raise/signal in userspace.
15:57 xstill no ne až tak, jen abys na to nezapomněl
15:57 xstill dost nechápu jak ta změna v userpsace mohla rozbít stacksave
15:58 mornfall já taky ne, ale je pravda že ten failující subtest zahrnuje pthreads
15:59 mornfall a koukám že dělá docela haluze
15:59 mornfall nicméně nevidim nic co by se mohlo rozbít
16:00 mornfall uvidíme co nám řekne ten backtrace teda
16:01 mornfall (ale bez toho patche ten test prochází, s ním neprochází)
16:02 mornfall arke:/nix/store/m3msl6l9c9izkg51p5k6rqzdk7h44625-divine-clang_def_debug_x64-3.3.2/test-results/vanilla:llvm_stacksave.sh.txt to jak failuje vypadá furt stejně
16:04 xstill jedině že by někde byla jetá inicializace Thread struktury, jinam mě fakt nenapadá jak jsem tím mohl něco rozbít
16:04 mornfall ono to hlavně umírá extra vesele
16:06 mornfall zavolá se implement pro case arity > length, ale i == e, tzn. nemá dost runtime parametrů
16:07 mornfall a skoro bych řekl že to musí jít skrz withValues, protože to umírá na call-u kterej má vlastní implement_call
16:09 mornfall hm, jen nixový buildy nemaj v cestě gdb, achjo
16:10 mornfall já si to pustim ručně, teď už mi to aspoň padá jak má
16:11 mornfall xstill: ono to hlavně padá jen s některýma buildama LLVM (třeba hydrový 3.3 funguje taky OK)
16:11 mornfall takže je taky možný že to je bug někde v LLVM kterej jsi prostě něčím tripnul
16:12 xstill veselý
16:12 mornfall nebo v clangu
16:12 mornfall fakt nevim
16:12 mornfall a moje LLVM 3.4 funguje taky OK
16:12 xstill já zas řeším nějakej rozbitej econtext.validate ve store
16:12 mornfall teď jsem si to odsimuloval a dělá to přesně co má
16:12 xstill moje 3.4 tuším padá
16:17 xstill takže se ty flagy ještě pořád nepropagujou dobře asi
16:19 mornfall máš na to nějakej reproducer?
16:20 xstill zkusím to vyřešit nejdřív
16:20 xstill ale mám
16:23 spito v.frame má pojebanou hodnotu
16:24 spito (machine.h)
16:24 spito 652
16:40 mornfall spito: to znamená?
16:40 spito jako že hodnota v.frame je moc vysoká
16:41 mornfall no, jestli to má něčemu pomoct, tak to asi chce celej backtrace a ideálně i tu hodnotu
16:41 mornfall nebo si možná uvařim čaj a zkusim to vyvěštit z lístků :-P
16:41 spito to v kombinaci s výrazem 'stack( v.tid ).get().length() - v.frame - 1' způsobí hodně zápornou hodnotu
16:42 spito a pak to v lens cyklí do té doby, než to sežere zásobník
16:43 mornfall no, pokud řešíš ten segv, tak má pojebanou hodnotu proto že se to v načetlo za koncem vektoru
16:43 mornfall což chytá ten assert
16:43 mornfall ASSERT( i != e )
16:43 mornfall kterej v debugu failuje
16:44 mornfall (což jsem myslím zmiňoval, že je ten stejnej problém)
16:49 xstill ono to vypadá, že se někde u pointru ztratí flag
16:53 xstill ad stacksafe, ten patch přidal do pthread globální konstruktor
16:53 xstill *stacksave
16:54 mornfall přidal? já ho z toho sice podezříval, ale nevidim to
16:55 mornfall aha to je to static const pole s lambdama v inicializátorech?
16:56 xstill jo
16:56 mornfall víš o tom že #undef-uješ jinej symbol než #define-uješ?
16:56 xstill nevím
16:56 mornfall když tak na to koukám :)
16:57 mornfall taky jsem si toho doteď nevšim
16:57 mornfall ale to asi nebude ten bug :P
16:59 xstill každopádně mě by víc zajímalo kde se mi ztrácí ty flagy, máš nějaký tip jak to ladit?
16:59 mornfall dump() v MachineState
17:00 xstill aha
17:00 mornfall jestli najdu funkčni pastebin... aha
17:00 mornfall http://pastebin.dqd.cz/5GpT/
17:02 xstill jak v tom najdu pointr podle adredsy?
17:03 mornfall no, je tam vypsaná celá halda
17:03 mornfall ještě chceš asi patch kterej jsem teď pushnul
17:03 mornfall (buď je to v nursery nebo v heap, je to někde u začátku výpisu)
17:06 xstill jenže já bych potřeboval vidět falgy na tom operandu, ne? a ne na tom na co to ukazuje
17:06 mornfall ?
17:07 mornfall operand tam máš taky
17:07 mornfall v tom dumpu je fakt všechno (myslim :)
17:07 mornfall teda globální hodnoty jsou asi dost nic moc
17:08 mornfall ale typicky máš stejně operandy v registrech a ty jsou ve framech
17:08 xstill hm, nevyznám se v tom teda vůbec
17:08 mornfall a s tím posledním patchem ani nemusíš vědět jakej to má offset
17:09 mornfall asi se musíš víc snažit :D
17:17 xstill nojo, stejně to v tom nevidím a mám hlad, takže na to teď kašlu
17:18 xstill případně antea:/tmp/peterson_tso.bc kdybys chtěl na to mrknout (divine verify --csdr -p assert to najde velmi rychle)
18:00 mornfall spito: con_s_urrent (c), emitted (1 m, 2 t)
18:01 spito tak někdy jindy...
18:04 mornfall do háje aj s výjimkama a std::terminate
21:01 xstill hm, to je v pořádku, že VFS konstruktory běží pokaždé? i pokud není include na žádnou hlavičku?
21:03 xstill mornfall: co znamená otazník za hodnotou ve výpisu stavu? (třeba t = @(23:0| { @(24:0| 42?) }))
21:03 mornfall to znamená že tam je sice zapsaná hodnota, ale nějakej její kus je neinicializovanej
21:04 xstill tak to potom asi nefunguje moc dobře, udělám new int( 42 ) a dostanu toto ve výpisu
21:08 mornfall jo, je to off by *8 :-)
21:08 mornfall describe.cpp:213 to * 8 tam je navíc
21:08 spito xstill: pokud vymyslíš, jak VFS inicializaci udělat jen pokud je nutná, tak to rád implementuju
21:09 mornfall spito: singleton pattern?
21:10 xstill tak, já nevím jak je to teď, docela mě překvapuje, že tam ten kostruktor je
21:10 xstill protože konstrutory globálních proměnných z nepoužitých modulů by měl linker vyhodit
21:11 xstill mornfall: tak flagy to má všechny nastavený na data, tak nevím kde se tam ten ? bere
21:12 mornfall ted jsem to rikal
21:12 xstill aha
21:57 mornfall hm, stacksave padá proto, že to vyrábí nějaký alloca s void returnem? wtf
21:57 mornfall teda stacksave iteruje přes všechny alloca v dané funkci
21:57 mornfall xstill, spito, máte někdo testcase.bc na kterým to padá?
21:58 mornfall já ho nemam jak moc vydolovat, mi to umírá jen v nix buildech
21:59 mornfall každopádně backtrace je docela jednoznačnej, if ( i.opcode == LLVMInst::Alloca ) ... withValues( Get< Pointer >(), i.result() );
21:59 mornfall tady to umře, protožé i.result() je Void a přeskočí se (execution.h:1393)
22:00 mornfall nicméně jdu do postele

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