abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 17:11 | Bezpečnostní upozornění

V PHP byla nalezena bezpečnostní chyba CVE-2021-21703 zneužitelná k lokální eskalaci práv. Opravena je v upstream verzi 8.0.12.

Ladislav Hagara | Komentářů: 0
dnes 14:11 | Zajímavý projekt

Na Crowd Supply běží kampaň na podporu zařízení KrakenSDR s pěti přijímači RTL-SDR. Lze je používat nezávisle nebo současně jako radiozaměřovač nebo pasivní radar.

Ladislav Hagara | Komentářů: 3
dnes 11:11 | Komunita

Implementace OpenPGP Sequoia PGP byla přelicencována z GPL 2+ na LGPL 2+. Vývojáři to zdůvodňují na dvou příkladech: Apple nepovoluje GPL software ve svém App Storu a problém s GPL má také Thunderbird.

Ladislav Hagara | Komentářů: 0
dnes 10:11 | IT novinky

Problémy s výrobou a dodáváním má také Raspberry Pi. Raspberry Pi 4 s 2 GB RAM proto dočasně zdražilo z 35 na 45 dolarů.

Ladislav Hagara | Komentářů: 2
dnes 09:11 | Nová verze

Byla vydána vývojová verze 2.99.8 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP. Jedná se o další krok směrem k verzi 3 postavené na GTK 3. Přehled novinek i s náhledy v oznámení o vydání a v souboru NEWS na GitLabu. Stabilní verze je 2.10.28.

Ladislav Hagara | Komentářů: 0
dnes 07:00 | Zajímavý článek

Obsáhlý zápisek v blogu jednoho z vývojářů Haiku, svobodného operačního systému inspirovaného BeOS, popisuje nejen zkušenosti s notebookem Lenovo ThinkPad T510 a posléze W541, ale průběžně také rozvíjí úvahy o svobodném softwaru, právu na opravu (right to repair), (ne)zveřejňování specifikací hardwaru, dotýká se politiky podepisování distribučních klíčů nejen Secure Boot aj.

Fluttershy, yay! | Komentářů: 9
včera 23:44 | Nová verze

OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 17.0.0 a krátce na to 17.0.1 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). Přehled novinek v článku na Medium.

Ladislav Hagara | Komentářů: 4
včera 20:33 | IT novinky

Microsoft představil vscode.dev aneb Visual Studio Code běžící ve webovém prohlížeči.

Ladislav Hagara | Komentářů: 5
včera 15:22 | Komunita

Organizace Software Freedom Conservancy podala žalobu (pdf) na výrobce televizorů Vizio kvůli opakovanému porušování licence GPL.

Ladislav Hagara | Komentářů: 5
včera 13:33 | Nová verze

Byla vydána nová verze 1.31 webového prohlížeče Brave (Wikipedie, GitHub). Výchozím webovým vyhledávačem se stává Brave Search. Ten lze využívat i v jiných prohlížečích na adrese search.brave.com. Uživatelé Brave se mohou podílet na jeho vylepšování, pokud povolí v nastavení Web Discovery Project (WDP).

Ladislav Hagara | Komentářů: 2
Kolik monitorů (obrazovek) používáte současně?
 (49%)
 (36%)
 (14%)
 (1%)
Celkem 393 hlasů
 Komentářů: 29, poslední 19.10. 07:04
Rozcestník
Štítky: není přiřazen žádný štítek




Vložit další komentář
Člověk z Horní Dolní avatar 4.9. 17:57 Člověk z Horní Dolní | blog: blbeczhornidolni
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Měli byste tedy jakoby se sanitizérem překompilovat celý runtime.
Ha, teď jsi se prozradil, už vím kdo je Gréta.
Jendа avatar 4.9. 18:05 Jendа | skóre: 77 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Turn ecology up to eleven! | Měl jsem meruňkovou buchtu a vinnou klobásu = na návštěvě byli Schillerová a Babiš
Člověk z Horní Dolní avatar 4.9. 19:06 Člověk z Horní Dolní | blog: blbeczhornidolni
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Haha :D
Gréta avatar 6.9. 12:27 Gréta | skóre: 33 | blog: Grétin blogísek | Stockholm
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování

jestli jako myslíš že tvuj vodhad je jakoby víc lepšejší než bystroušákovy statistický analízy komentů :D

myslíte žeby jako moch zeman dělat úřad a vyprávět bonmoty zapomoci ouija tabulky hele?? :O 👻 :O 👻
Člověk z Horní Dolní avatar 6.9. 21:55 Člověk z Horní Dolní | blog: blbeczhornidolni
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Zas bych ty prekombinovane statisticke metody neprecenoval, selsky rozum ma casto lepsi vysledky :D
7.9. 17:07 _
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Jenda je Bluebear, Greta je Amiga.
xxxs avatar 7.9. 17:53 xxxs | skóre: 22 | blog: vetvicky
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
amiga je zaujimavy typek, ale ak sa mu podarilo opravit mozog natolko, aby mohol hrat gretu, tak ten recept bude mat hodnotu gdp eu.
8.9. 18:13 Petr
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Greta ma mozog? Vzdyt je uplne vymastena.
Člověk z Horní Dolní avatar 8.9. 23:21 Člověk z Horní Dolní | blog: blbeczhornidolni
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
V diskuzi o globalnim oteplovani se docela ztrapnila neznalosti te problematiky.
8.9. 23:31 Grétina zapařená pipina
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Považovat odlišný názor za neznalost je dost omezené.
Gréta avatar 10.9. 12:17 Gréta | skóre: 33 | blog: Grétin blogísek | Stockholm
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování

si myslim že to nemá smysl to s nim dál řešit protože už je jakoby rozhodnutej čemu chce věřit :D ho ale teda jako dorazim když mě takle provokuješ :D :D ;D ;D

myslíte žeby jako moch zeman dělat úřad a vyprávět bonmoty zapomoci ouija tabulky hele?? :O 👻 :O 👻
7.9. 20:59 _
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Gréta je kučera, začalo to jako pravičácká agenda karikatury ekologického liberála, ale dlouho mu to nevydrželo, a už najednou hlásají totožné názory a řeší stejné věci - už nejen politiku, ale najednou i FOSS a licence. Hlavně na sebe nereagují a málokdy jsou ve stejném vlákně. A zejména - koho než frantíka zajímají ty jeho podělaný relační roury? Tohle se blbě mění když si někdo zapomene změnit účet ;-) Q.E.D.
Gréta avatar 10.9. 12:19 Gréta | skóre: 33 | blog: Grétin blogísek | Stockholm
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování

A zejména - koho než frantíka zajímají ty jeho podělaný relační roury

ttttsssss radar mě zajímá uplně stejně hele :O :O :D :D :D :D ;D ;D

myslíte žeby jako moch zeman dělat úřad a vyprávět bonmoty zapomoci ouija tabulky hele?? :O 👻 :O 👻
6.9. 19:15 Jan Hus
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Gréta nepíše takovou czenglish jako s. Jenda.
4.9. 18:57 billgates | skóre: 26
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Zaujimave. Doteraz som pouzival -Wall -Wextra -Wshadow -fstack-protector-strong a na sanitizaciu -fsanitize=address -fsanitize=undefined -fsanitize=leak -fno-omit-frame-pointer. Tie niektore dalsie warningove parametre vyzeraju uzitocne.
4.9. 19:52 neprogramátor
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Když přijde soudný den budou počítače programovat nás, ne my je. A jako první budou na řadě programátoři.
4.9. 20:33 Eich
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Nastesti to bude az v dobe kdy bude dominovat vsude JavaScript.
4.9. 23:16 plostenka
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Osobně jsem ale tohle nikdy nepotřeboval řešit, defaultní malloc byl vždycky good enough. Setkali jste se někdy s případem, kdy by bylo potřeba alokátor ladit?
Presne kvuli zpomaleni kvuli (kontrolam na) race condition jsme museli naalokovat velkou pamet pro kazdy thread separatne a implementovat v asm vlastni alokator nad timhle vyhrazenym adresnim prostorem.
Heron avatar 5.9. 00:15 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Tady je krásný writeup o hledání občasného náhodného pádu Go.
Skvělý článek, díky.

Trochu mi to (v malém) připomíná moje začátky s golangem, kdy jsem skoro hned narazil na chybu při procházení adresářů na sambě, kdy to vracelo různý počet nalezených souborů při každém dalším volání. Golang všechny relevantní syscally posílá s SA_RESTART a nikdy by se neměl vracet EINTR. Jenže se vrací. Ovladač pro sambu prostě ignoruje SA_RESTART a nechá to udělat klienta (potom se zjistilo, že je to ještě navíc ovlivněno velikostí bufferu) a nakonec vydali nové verze knihovních funkcí, ale toto řešení se mi nelíbí, protože to zakrývá původní a stále existujicí chybu v sambě. (Nehledě na to, že workaround je poměrně snadný a podle mě je mnohem lepší v kódu když už tak použít workaround na místo knihovní funkce, která zakrývá nějaký problém na systémové vrstvě. -- Potom se každý drží knihovní funkce a nechce nic slyšet o tom, že pod tím je to ale stále špatně, takže je lepší toto místo explicitně označit.) Sice na kritických místech používám NFS, kde se to neděje, ale i tak mě překvapuje, že takto často používaný způsob sdílení má tyto problémy.
Heron avatar 5.9. 00:19 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Například se mi zdá, že si každý druhý píše vlastní alokátor
Jo, bavil jsem se s člověkem, který si běžně píše (C++) několik vlastních alokátorů v jednom programu pro různé účely, protože jinak to nejde a ten single thread program by jinak nezvládal zátěž (což je možná pravda, ale současně to extrémně zkomplikuje přepis na multithread nebo jiné rozsekání).
5.9. 15:55 jbv
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Obecne je problem v tom ze vetsina C/C++ progrmatoru jsou hodne spatni. Nejcasteji jsou to samouci, hlavne z 90tek. Dneska uz nastesti C/C++ neni sexy, tak z mladsi generace v nem programuji prkticky jen ti, ktere to opravdu zajima. Je to pekne videt i na nazoru hlavne C komunity na rust, protoze tihle programatori nejsou schopni napsat netrivialni rust kod, co se zkompiluje.
Člověk z Horní Dolní avatar 6.9. 22:35 Člověk z Horní Dolní | blog: blbeczhornidolni
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Jde taky o to, ze C++ je extremne slozity jazyk. Ja jsem driv C++ nesnasel, ale v poslednich asi 5 letech jsem si ho docela oblibil, i kdyz moc v nem nedelam, urcite nejsem zadny odbornik. Od C++11 ten jazyk udelal obrovsky pokrok v UX, s nadsazkou to je ted jako Python, ale rychlejsi. Tu rychlost a moznost low-level optimalizace miluju, je to takovy pocit svobody, ze me ten jazyk nijak neomezuje.
5.9. 02:54 kvr
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Pěkný článek. Ještě bych zmínil Electric Fence Malloc, který před nebo za alokovanou pamětí rezervoval nepřístupnou stránku, která při buffer overflow/underflow vedla k okamžitému pádu.
a pokud vlákna hodně alokují, tak je toto bottleneck. Alokátor tohle detekuje a rozdělí haldu na více částí, pro každé vlákno samostatně.

Osobně jsem ale tohle nikdy nepotřeboval řešit, defaultní malloc byl vždycky good enough. Setkali jste se někdy s případem, kdy by bylo potřeba alokátor ladit?
Kdysi dávno, tak před 15ti lety. Defakto webserver v C++, samozřejmě spousta requestů se zpracovávala paralelně a v té chvíli byl i na tehdy snad jenom čtyřjádru existující glibc malloc šílený bottleneck. Takže v té době jsem si i já napsal vlastní alokátor, kromě per-thread cache a rozdělení podle podobné velikosti bloků uměl i některé debug features popsané v článku, včetně detekce memory leaks, myslím, že i inaccessible stránky na začátku či na konci apod. Později s běžně dostupnými multicore procesory a multithreading se začaly používat podobné alokátory přes LD_PRELOAD a mám pocit, že i glibc má dnes něco podobného (nebo dokonce přímo převzali jemalloc?)...

Tady je ukázka, že podmínku zarovnaného přístupu není možné v C ignorovat ani na architekturách, kde to procesor hardwarově ošetří (byť za cenu zpomalení), protože se to stejně náhodně vysype.
Na tohle jsem taky narazil, když jsem experimentoval s AVX-512. Alignment __mm512 sice funguje v rámci struktury, ale stack je zarovnaný jenom 16-bytes. Takže SSE v pohodě jede (__mm128), ale AVX-2 a AVX-512 může mít základní adresu struktury nezarovnanou a tedy i prvky uvnitř. Nejsem si jistý, jak to má malloc bez options, myslím, že taky musí vracet 16-byte, ale jestli i výš, nevím.

Jinak, procesor x86_64 to právě hardwarově neošetří - na load/store se můžou použít instrukce, které vyžadují alignment (MOVAPD apod), pokud to kompilátor (mylně, viz výše) ví a to potom vede k pádům. Měly být původně rychlejší, ale myslím, že dneska je to skoro jedno...

Kromě toho bych řekl, že instrukce na unaligned load/store nebudou atomické (ne ve smyslu compare-and-swap, ale v jednoduchém smyslu konzistence, že se přepíše či nahraje celá hodnota najednou bez přerušení jiným CPU).
5.9. 16:08 jbv
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Vlastni akolator neni uplne casta vec, ale da se pro nej najit pomerne dost use casu. Obecne bych rekl, ze vsechny pouziti, kde je velky tlak na rychlost alokace/dealokace a zaroven je pomerne predvidatelne pouziti alokatoru. Typicky priklad jsou gc, transakce, databaze apod. Ale je pravda, ze to nejsou veci co lidi pisou denne.
xkucf03 avatar 5.9. 16:11 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Typicky priklad jsou gc
Existuje něco jiného než Boehm? Myslím veřejně dostupné.
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
xkucf03 avatar 5.9. 09:23 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování

Pěkný článek, díky.

Nejvíc používám ASan. Bez něj by programování v C/C++ byla procházka minovým polem. S ním je to relativně v pohodě a řeší velkou část nebezpečnosti těchto jazyků.

Ještě bych doporučil použití fuzzeru, který taky může odhalit nějaké ty chyby – krmí program náhodnými/chybnými daty a zjišťuje, zda program spadne, zacyklí se atd. Může odhalit např. chybu typu, že ve vstupních datech je uvedena délka následujícího pole (TLV), parser si pro tuto délku alokuje paměť, aniž by předem ověřil, že tolik dat na vstupu vůbec je (tzn. chybnými vstupními daty lze program donutit, aby si alokoval zbytečně gigabajty paměti a nebo spadl). Ale zrovna tohle je chyba, které jsem si byl vědom a fuzzerem jsem si ji jen potvrdil.

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
5.9. 10:04 trekker.dk | skóre: 71
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
například přetečení intu, ale to lidi často řeší kompilací s -fwrapv
Pěkné, využil jsem. Ušetřilo mi to v programu asi tak 4 instrukce. :-)
Quando omni flunkus moritati
5.9. 12:27 mln
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Ma niekto tip na sanitiser (alebo podobne nastroje na buffer owerflow, memory leak, pretecenie premennych) ktory by fungoval na mikrokntroleroch ? SMT32, MSP430, TMS320 atd ? Na mikrokontroleroch sa C jazyku clovek nevyhne :/

Chcel by som sa dožiť dna ked bude C jazyk mat v kompilatore volbu ktora zapne kontroly na owerflow, memory leak, pretecenie premennych. Mikrokontrolery su uz dosť rychle, podme písať bezpečný program - tí ktorí o to maju zaujem (nikomu nevnucujem).
xkucf03 avatar 5.9. 14:15 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování

Nestačilo by ten kritický kód napsat jako knihovnu, kterou by šlo přeložit jak pro MCU, tak pro x86? (jasně, tam, kde pracuji s I/O to bude vázané na to MCU a musel bych si to nějak mockovat/simulovat, ale svoje vlastní algoritmy můžu klidně napsat jako .h soubor, který bude použitelný jako uvnitř firmwaru tak na desktopu).

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
5.9. 23:06 dumblob | skóre: 10 | blog: dumblog
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Nezarovnaný přístup - problémy i na x86 Tady je ukázka, že podmínku zarovnaného přístupu není možné v C ignorovat ani na architekturách, kde to procesor hardwarově ošetří (byť za cenu zpomalení), protože se to stejně náhodně vysype.
Někdy ale zarovnaný přístup nechceme, protože nezarovnaný bývá více než 2x rychlejší.
Jendа avatar 6.9. 00:27 Jendа | skóre: 77 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
To vypadá jako příklad na omezenou asociativitu cache. Cacheline je 64B (možná na nejnovějších počítačích dokonce 128B), to je úplně něco jiného než o čem se píše v článku (nativní céčkové datové typy - což končí u 8B typů - zarovnané na svoji velikost).
Turn ecology up to eleven! | Měl jsem meruňkovou buchtu a vinnou klobásu = na návštěvě byli Schillerová a Babiš
6.9. 09:40 dumblob | skóre: 10 | blog: dumblog
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování
Ano, špatně jsem to přečetl (kolikrát už jsem si říkal, že večer, kdy jsem na pokraji ztráty vědomí vlivem unavenosti, nesmím přispívat do diskuzí).

Alespoň někdo kdo hledá něco o zarovnání, najde i širší pojetí :-)
Gréta avatar 6.9. 12:23 Gréta | skóre: 33 | blog: Grétin blogísek | Stockholm
Rozbalit Rozbalit vše Re: Programování v C: sanitizer, profilování

supr satanizér :D ;D

myslíte žeby jako moch zeman dělat úřad a vyprávět bonmoty zapomoci ouija tabulky hele?? :O 👻 :O 👻

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.