Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2017-01-01

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

All times shown according to UTC.

Time Nick Message
02:48 ilbot3 joined #divine
02:48 Topic for #divine is now DIVINE | http://divine.fi.muni.cz | http://irclog.perlgeek.de/divine/
09:35 yaqwsx joined #divine
12:03 yaqwsx joined #divine
12:28 yaqwsx joined #divine
14:45 xstill mornfall: pushnul jsem k sobě verify --report a resource limity
14:52 yaqwsx joined #divine
15:16 mornfall error: memory use detection missing for this platform [-Werror,-W#warnings]
15:16 mornfall to není úplně optimální
15:18 mornfall nejlepší bylo zkusit jestli na linuxu nefungje posixový getrusage
15:26 mornfall uhm, fish: “./test/divine version” terminated by signal SIGSEGV (Address boundary error)
15:31 mornfall aha, DIVINE_BUILD_TYPE je nullptr, konstruktor std::string na to zkouší volat strlen
16:40 xstill jak může být nullptr?
16:42 xstill ad to sysinfo, počítám, že většina z toho budou špatný guary
16:42 xstill *guardy
16:44 xstill zjistím a amendnu
16:46 yaqwsx joined #divine
16:47 xstill nebo /proc na BSD není?
16:51 xstill hm, já to mám totiž blbě ty deklarace verze a tak…
16:51 xstill jak je  vůbec možný, že mi to funguje když tam není extern?
16:57 mornfall to nevim no
16:58 mornfall a /proc typicky neexistuje, přišlo to snad ze solarisu nebo odkud
17:00 mornfall getrusage je rozhodně univerzálnější, jen nevim jistě jestli funguje tak jak chceme
17:00 xstill aha, tak to bude potřeba udělat jinak no, i když mám skoro pocit, že důvod proč se některý ty věci čtou z /proc je, že jinde v linuxu nejsou, tuším physical memory byl problém
17:01 xstill opravil jsem zatím to version, ten sysinfo patch ještě předělám
17:13 xstill hm, naopak, v getrusage dokáže zjistit resident set, což jestli dobře chápu odpovídá našemu physical memory used, což není dobrý na memory limit
17:15 mornfall jo, maxrss funguje (jako víceméně jediná věc)
17:16 mornfall jen si nepamatuju proč nepoužíváme RLIMIT_AS
17:19 mornfall aha
17:19 xstill tuším, že proto že tam nešlo nastavit větší limit než 2GB
17:19 mornfall * Fix #148: Re-implement resource limits using a guard thread.
17:19 mornfall the POSIX setrlimit API is limited to 2G of address space
17:19 mornfall jo no
17:20 mornfall long je na amd64 linuxu asi 32b, co?
17:20 xstill není, je 64b
17:21 mornfall manuál tvrdí že to má fungovat v rozsahu longu totiž
17:24 mornfall na arke to normálně funguje s 4G
17:25 mornfall je otázka, jak moc chceme podporovat starý linuxy kde to nejspíš rozbitý skutečně bylo
17:28 xstill no, bylo by fajn aby to fungovalo na auře
17:28 xstill a teda to sledování má ještě výhodu, že je jasný co se stalo, s rlimitem dostaneš buď bad_alloc a nebo bůhví co, pokud to bude mmap v poolu co selže
17:32 mornfall SEGV, počítám... na auře to funguje taky
17:32 mornfall na windows asi spíš ne
17:33 mornfall což je divný, mělo by mmap vracet ENOMEM
17:34 mornfall aha jasně, ono to samozřejmě vrací (void*)-1 on error (nikoliv nullptr)
17:34 mornfall takže to asi funguje
17:34 mornfall pool může na ENOMEM klidně hodit bad_alloc a bad_alloc jde chytnout a ohlásit
17:35 xstill to by šlo
17:36 xstill hm, pokud to funguje na auře tak nechápu co nám nefungovalo
17:37 mornfall no, jsou to 4 roky
17:39 mornfall nebo nám vadilo že nejde nastavit 3G na 32b buildu... kdoví
17:40 mornfall asi to bylo napsaný v trac-u...
17:43 mornfall dump z sqlite verze trac-u končí #131
17:45 mornfall byl to 64b build
17:46 xstill jj, mám to v mailech
17:48 mornfall -            limit.rlim_cur = limit.rlim_max = o_mem->intValue() * 1024 * 1024;
17:48 mornfall to asi nemohlo moc fungovat když intValue() vrací int...
17:49 xstill
17:49 xstill dobrý
17:49 mornfall já si teda ale matně pamatuju, že jsem to opravil a pak se to chovalo jako unlimited
17:52 mornfall asi jsem to musel nějakým omylem testovat na 32b, tam se to tak totiž chová, ale na 64b zjevně ne (v komentáři jsem napsal že long je na x86_64 32b...)
17:53 mornfall overflow se tehdy totiž fakt našel jako první
18:03 xstill navrhuju ty věci v sysinfo nechat a jen smazat ten warning (a limit na paměť teda přesunout na setrlimit)
18:05 xstill s tím, že v reportu se to asi dá vynechat pokud je to 0
18:09 mornfall hm, s novou verzí toho version patche už to 'korektně' nejde přeložit (undefined reference)
18:09 mornfall teď ještě zjistit proč je undefined
18:09 mornfall resp. proč se neupdatuje version-generated
18:47 yaqwsx joined #divine
18:56 xstill mornfall: teď už by ty limity mohli fungovat i u tebe
20:29 yaqwsx joined #divine

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