Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2013-04-16

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

All times shown according to UTC.

Time Nick Message
18:40 _ilbot joined #divine
18:40 Topic for #divine is now DiVinE: A Parallel LTL Model Checker (http://divine.fi.muni.cz)
18:42 Topic for #divine is now DiVinE: A Parallel LTL Model Checker (http://divine.fi.muni.cz) | http://irclog.perlgeek.de/divine/
18:47 mornfall A já slíbil že zítra udělám to RC co?
18:47 mornfall A nefunguje mi to pod windows.
18:48 mornfall Ale rozbije se jen LLVM a hází to divný chyby jako Invalid address specified to RtlFreeHeap.
18:48 mornfall spito: Nevíš o tom něco?
18:49 mornfall spito: http://divine.fi.muni.cz/hydra/build/590052/download/1/divine-2.95+pre3175-installer.exe <-- tohle, když to nainstaluješ a spustíš s nějakým .bc
18:49 spito mrknu na to
18:49 spito ale chvilu počkej, teče mi ruská zmrzlina
18:51 mornfall JasnÄ›.
18:51 mornfall Kdybych usnul tak poreferuješ zítra nebo něco. ;-)
18:52 spito to teče jak sviňa
18:53 mornfall u r doing it wrong
18:53 mornfall a navíc, zmrzlina...
18:53 spito což o to
18:53 spito ale on nám asi nemrazí mrazák
18:53 mornfall To docela saje.
18:54 spito takže ona byla rozteklá už při otevírání
18:54 spito ale dobrý, jdu něco zkopilovat
18:54 spito je ta binárka v release módu?
18:54 mornfall V debug.
18:55 mornfall Doufám že máš lepší debugger než je mingw gdb.
18:55 spito xstill: nevíš, jestli mikrosoftí debugger umí gcc debug info?
18:55 mornfall Protože já ne. :-)
18:55 xstill spito: typnul bych že ne ale nevím
18:56 xstill sakra divine mi přerostl
18:56 xstill $ ll -h divine/libdivine-instances.a tools/divine
18:56 xstill -rw-r--r-- 1 xstill users 757M Apr 16 20:24 divine/libdivine-instances.a
18:56 xstill -rwxr-xr-x 1 xstill users 529M Apr 16 20:54 tools/divine
18:56 spito to je skoro 1GB
18:56 xstill a linkovalo se to snad půl hodiny
18:56 xstill s tím se nedá dělat
18:56 spito to už je lepší stáhnout si místo divine film
18:56 mornfall :D
18:56 mornfall xstill: -DSMALL
18:57 mornfall Nebo něco v tom stylu.
18:57 xstill jasný, ale chtěl jsem vidět jestli se něco nerozbije
18:57 spito xstill: to se stalo jenom proto, že jsi použil svoji kompresi?
18:58 xstill proto že mám 7 storů :-D
18:58 mornfall xstill: No, jestli to máš bez PERFORMANCE, tak to bude bolet ještě o kus víc.
18:58 xstill je to debug aspoň doufám
18:58 mornfall Ale ten linker je stejně podezřelej.
18:59 mornfall Já mam teď divine 130M a linkuje se to chvilku.
18:59 spito mornfall: tak tvoje paralelní tabulka nezvětšovací je rychlejší tak 10x oproti spojovanýmu seznamu
18:59 spito takže akorát otestuju úpravu na zvětšovací a může to jít do divine
19:00 mornfall :-)
19:00 spito a udělal jsem chození po cache-line
19:00 mornfall Super. Takže cache-line lineárně a zbytek kvadraticky?
19:00 spito původně ti to kvadraticky hopsalo potom po jednom prvku, tak jsem indexaci upravil, že po každým skoku to zase projde 16 prvků, než to skočí
19:01 mornfall Hm.
19:01 spito myslíš, že to nebude vadit?
19:01 mornfall To by asi bylo lepší udělat ještě jinak. :-)
19:01 spito a to?
19:01 mornfall Jednak je 16 asi zbytečně moc.
19:02 mornfall A druhak by to chtělo každou tu kvadratickou adresu prvně zaokrouhlit dolů na celej cacheline.
19:02 spito a cacheline je veliká jak?
19:02 spito jde to nějak zjistit v době běhu?
19:02 spito - jinak než experimentálně?
19:03 mornfall To je skvělá otázka. :-)
19:03 xstill není obvykle vždycky stejná?
19:04 mornfall http://stackoverflow.com/questions/794632/programmatically-get-the-cache-line-size
19:05 mornfall Bývá 64.
19:05 mornfall Ale není to tak všude.
19:07 xstill proč se můj počítač tváří podle té složky, jako že má 4 levely cache?
19:07 spito tohle je tak na úrovni wibble
19:07 spito ...když je implementace závislá na OS
19:08 mornfall xstill: Má 4.
19:08 mornfall xstill: Teda 3 sorry.
19:08 mornfall xstill: level je v index0 a index1 stejný.
19:08 xstill aha
19:08 mornfall L3 cache je normálka.
19:08 xstill já vím že má mít 3
19:08 mornfall Protože máš 2ks L1 cache.
19:08 mornfall A jeden ks L2 a jeden L3.
19:08 xstill aha jasnÄ›
19:09 spito mornfall: co jsi udělal, že funguje divine IDE?
19:10 mornfall spito: Přeložil jsem Qt stejným toolchainem jako DiVinE.
19:11 xstill právě mi zcela chcíplo cgdb při pokusu vypsat proměnnou
19:12 mornfall Smutné.
19:12 mornfall Ale za to může gdb asi.
19:12 mornfall gdb je werk
19:12 mornfall Jen nemáme nic lepšího asi.
19:12 mornfall llvm debugger zatím nikde
19:12 spito mornfall: na widlích mi divine neudělá nic
19:12 spito neřekne ani ahoj
19:12 mornfall spito: Jakej příkaz?
19:12 spito pokud chci verifikovat *.bc
19:13 mornfall Jo, to mnÄ› taky ne.
19:13 spito divine.exe verify -p assert -s fifo.bc
19:13 mornfall Ale když to pustím v debuggeru tak jo.
19:14 xstill úžasný ne
19:15 mornfall xstill: Windows?
19:15 xstill mornfall: tak ono, že něco funguje jen v debuggeru se bohužel stává i jinde
19:17 spito tyjo, jak fungují například thready ve wibble?
19:17 spito mapují se na pthread, nebo na nativní win api?
19:20 mornfall spito: Na nativní win api, ale nevím proč. :) To se zeptej Petra Baucha.
19:20 mornfall Já bych to byl asi slinkoval s libwinpthread.
19:20 spito no, protože pthread normálně na widlích nejsou
19:21 mornfall xstill: No, to jo, ale zamlčet to že program spadnul je mrzutý.
19:21 mornfall spito: Jasně, ale winpthread je volně k mání i se zdrojákama žejo.
19:21 mornfall A mingw-w64 je defaultně dodává navíc.
19:21 mornfall Protože C++11.
19:21 xstill mornfall: no to jo
19:22 xstill mornfall: serializace do stremu se lokálně nepoužívá, že?
19:22 mornfall Asi bych se moc nebál, že by MSVC dokázalo přeložit divine.
19:22 mornfall xstill: Snad ani ne.
19:25 spito tak ono to k tomu vůbec není připravený, ne?
19:25 spito aby se divine kompiloval přeš MSVC
19:27 xstill spito: to by asi nešlo, vzhledem k podpoře C++11 v MSVC
19:27 mornfall spito: Jak že ne?
19:27 mornfall spito: cmake -G "NMake Makefiles"
19:27 mornfall Ale MSVC dřív porodí ježka než divine.
19:28 xstill no nepujde to zkompilovat ani omylem
19:28 xstill sakra můj systém je s tím obřím divine nepužitelný, něco je fakt špatně
19:28 mornfall Ono se asi něco v buildsystému rozbije, ale to bude docela trivialita.
19:29 xstill mornfall: temp na antee je disk nebo tmpfs?
19:29 mornfall Takže kdyby zejtra MS vydal funkční C++11 překladač, tak to ještě tento týden může fungovat.
19:29 spito mornfall: co VS neumí oproti tom, co se v divine používá?
19:30 spito vim o inicializačních seznamech, default a delete pro metody a proměnlivých šablonách
19:30 spito ještě něco neumí?
19:30 mornfall xstill: Kterej temp? /tmp aj /var/tmp jsou na disku, /dev/shm a /run na tmpfs.
19:30 xstill ok potřebuju něco kde skusím kompilovat a nechci to dělat do RAM
19:31 mornfall *z :-)
19:31 mornfall Jo, to bychom tě asi nepochválili kdybys nám to uswapoval.
19:32 mornfall (Ale myslim že default limit na tmpfs je RAM/2.)
19:33 mornfall spito: To neumí ani template using snad.
19:33 xstill mornfall: nevíš přoč cmake nemůže najít boost na antee
19:33 xstill ? je tam nainstalovaný
19:33 mornfall xstill: Nevim. On ho nenajde ani u mÄ› na notesu.
19:34 xstill a pak že by měl člověk používat nixos
19:34 mornfall Hm. Najde.
19:35 mornfall Něco jsem musel provést.
19:35 mornfall Asi jsem mu podstrčil Boost_INCLUDE_DIR/Boost_LIBRARY_DIRS
19:37 xstill sakra Partitoned::run má 712 lokací a já se divím, 6e to gdb je tak pomalý
19:37 mornfall :D
19:37 xstill to mě přijde strašně moc
19:38 mornfall (asi nemam s gramatikou moc prudit co?) jo, je to hodnÄ›
19:38 mornfall spito: A constexpr to taky neumí. A tak, vůbec toho moc neumí.
19:38 mornfall Ani = default a = delete.
19:38 mornfall Hm.
19:39 xstill mornfall: dneska ne, už je pozdě a nefunguje to
19:39 mornfall Ale tak MSVC byl vždycky hroznej překladač.
19:39 mornfall :D
19:39 mornfall Jo, no.
19:39 xstill nezverifikuju ani empty.dve
19:39 mornfall Co se stane?
19:40 xstill dostal jsem SIGABRT na to co vyšlo z fronty, někde se tam dostala asi neinicializovaná věc
19:40 xstill asi budu potřebovat build bez poolu, což bude trvat tak půl hodinu
19:40 xstill fuj
19:41 mornfall Výházej odtama ten bordel co nutně nepotřebuješ.
19:41 spito mornfall: kde divine vrací 3?
19:41 mornfall Třeba ti úplně stačí jeden generátor. :-)
19:41 mornfall spito: Nevím že by to někdy dělal úmyslně.
19:41 xstill bude muset
19:41 spito protože to je jeho návratová hodnota
19:42 mornfall spito: To těžko. :)
19:42 spito při úspěšném ukončení je návratová hodnota 0
19:42 spito při llvm je to 3
19:42 mornfall spito: To umře na SIGTRAP (resp. jakkoliv se to správně jmenuje).
19:43 spito to je signál čeho?
19:43 mornfall spito: Umírá to na výjimku od RtlFreeHeap.
19:43 mornfall spito: Kdesi vi .. a kruci.
19:43 mornfall Už vím. :-)
19:43 spito to jsi zjistil odkud?
19:44 mornfall RtlpSetUserPreferredUILanguages za to může, protože volá ntdll!RtlFreeHeap na paměť co přišla od mingw malloc-u.
19:44 mornfall spito: No, to jsem věděl už včera od gdb.
19:47 mornfall Nebo tak něco.
19:47 xstill mornfall: sakra ono se bez MPI kompiluje něco úplně jinýho, najednou se mi to neskompiluje
19:47 mornfall Jen fakt nemám ponětí proč by se to mělo volat. Ale určo za to může LLVM.
19:47 mornfall xstill: Hups? :)
19:48 xstill vypnul jsem MPI a totéž se nezkompiluje
19:48 spito jenom věci v divine/llvm/* ?
19:48 mornfall spito: Hm, omyl.
19:49 spito ?
19:49 mornfall RtlpSetUserPreferredUILanguages se volá v tom exception handleru.
19:49 mornfall Nějakej vektor v _M_append volá msvcrt!free.
19:49 mornfall Proč dočerta.
19:50 mornfall spito: To jsem právě doufal že zjistíš v nějakým lepším debuggeru, protože z gdb nedostanu backtrace.
19:50 spito no, MSVC si s tím nerozumí
19:50 spito takže tady já končím
19:55 xstill mornfall: jakto, že gdb nefunguje, já myslím, že jsem ho použil i na windows
19:57 mornfall xstill: No, mám v backtrace spoustu otazníčků.
19:57 xstill no fuj
19:57 mornfall A nevím ani kam dát breakpoint.
19:58 spito no, já bych asi zkusil std::vector::append
19:59 spito no nic, jdu prsat
19:59 spito zítra v labu
19:59 mornfall ProgramInfo::insert(int, Value *)
19:59 mornfall Hmm.
19:59 mornfall spito: Dobrou. :-)
20:04 xstill_ left #divine
20:12 spito left #divine
20:14 mornfall Taky tam mam veselý adresy jako 0xabababab :-)
20:14 mornfall a 0xfeeefeee
20:17 xstill hmm to je pěkná nedefinovaná hodnota
20:23 xstill tak teď mě valgrind fakt naštval, on má limit na délku symbolu, pak ho zařízne
20:25 mornfall Jo, no. Taky mě to dost dožralo.
20:26 xstill no hlavně čílo řádku je na konci no
20:27 mornfall Je to mrzutý.
20:27 xstill nejde mu říct aby to nedemangloval?
20:28 mornfall --demangle=no
20:29 xstill super, díky
20:30 mornfall Je to o tolik kratší že to pomůže?
20:31 xstill je to o moc kratší, pomohlo to
20:31 mornfall Zajímavé. :)
20:31 mornfall To mě onehdá nenapadlo.
20:32 mornfall Ale s Windows nula k nule.
20:32 mornfall A to jsem chtěl už dávno spát. Asi na to kašlu.
20:34 xstill no já taky pomalu půjdu
20:36 mornfall Å maria.
20:36 mornfall Já asi porodim.
20:36 mornfall Když tomu dám malej .bc soubor tak to funguje.
20:37 mornfall Jestli to je celý jen kreativní forma OOM tak to potěš koště.
20:39 xstill no to teda
20:39 xstill kde to testuješ?
20:39 mornfall Na Win7 v KVM.
20:39 mornfall Ale shodou okolností se to ve wine chová dost podobně. :-)
20:42 xstill divné, není třeba problém s adresací (pokud je to teda 32 bit)?
20:44 mornfall Nevim. Ve wine to nakonec funguje líp.
20:44 mornfall Docela podstatnÄ›.
20:45 mornfall Windows maj nějaký problémy s fragmentací paměti.
20:45 mornfall Jakože ti nedaj další paměť pokud máš moc různejch poolů nebo jak tomu nadávaj, takže ti klidně dojde paměť na 300M i když jí máš gigo.
20:46 mornfall Ale nevim no.
20:46 mornfall Pustil bych wine ve valgrindu ale wine mám 32b a valgrind ne.
20:46 mornfall I když to asi taky lze napravit.
20:46 mornfall nix-env -iA nixos.pkgs.pkgsi686Linux.valgrind \o/ ;-)
20:48 xstill no to jsem zvědav co tam uvidíš :-D
20:48 mornfall zsh: segmentation fault  valgrind --trace-children=yes wine  metrics -w 1 --no-reduce -s static.bc
20:48 mornfall Tohle jsem asi nechtěl.
20:49 mornfall Někam uteklo to divine.
20:49 mornfall Ale každopádně valgrind: the 'impossible' happened:
20:50 xstill taky dobrý, tohle se mi povedlo jednou v ghc
20:51 xstill vlastně dvakrát podruhé jsem ale chtěl interpretovat haskell v interpreteru haskellu spuštěném v ghci :-D
20:52 mornfall To nefunguje? Tss.
20:53 xstill nefunguje zařve to na duplikovaný symbol
20:54 xstill jakto, že je rozdíl jestli v inicializační sekci explicitně zavolám defaultní konstruktor nebo ne?
20:57 mornfall To by asi neměl být.
20:58 xstill no ale neinicializoval se mi pointer když tam nebyl explicitně napsaný konstruktor
21:03 mornfall To je nějaká haluz ne? Tohle se může stát jen s POD.
21:03 mornfall Tzn. je rozdíl : foo() vs nic, pokud foo je POD (int, struktura bez metod)
21:05 xstill no on to byl ukazatel to je taky POD ne?
21:06 mornfall Jako obyčejnej ukazatel? Jasně že to je POD. :-)
21:06 mornfall Já myslel že to byl ukazatel uvnitř toho co mělo mít defaultní konstruktor.
21:07 xstill ne byl to obyčejný ukazatel, alespoň teď vím, že je to rozdíl
21:08 mornfall Jo, no.
21:08 mornfall To je dost hardcore způsob jak se tohle naučit...
21:09 mornfall Nic, fakt zavírám oči a spim. Dobrou!
21:10 xstill dobrou

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