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 01:44 | Bezpečnostní upozornění

    Ubuntu 26.04 patrně bude ve výchozím nastavení zobrazovat hvězdičky při zadávání hesla příkazu sudo, změna vychází z nové verze sudo-rs. Ta sice zlepší použitelnost systému pro nové uživatele, na které mohlo 'tiché sudo' působit dojmem, že systém 'zamrzl' a nijak nereaguje na stisky kláves, na druhou stranu se jedná o možnou bezpečnostní slabinu, neboť zobrazování hvězdiček v terminálu odhaluje délku hesla. Původní chování příkazu sudo

    … více »
    NUKE GAZA! 🎆 | Komentářů: 4
    včera 21:33 | Komunita

    Projekt systemd schválil kontroverzní pull request, který do JSON záznamů uživatelů přidává nové pole 'birthDate', datum narození, tedy údaj vyžadovaný zákony o ověřování věku v Kalifornii, Coloradu a Brazílii. Jiný pull request, který tuto změnu napravoval, byl správcem projektu Lennartem Poetteringem zamítnut s následujícím zdůvodněním:

    … více »
    NUKE GAZA! 🎆 | Komentářů: 3
    včera 17:22 | Nová verze

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 163 (pdf).

    Ladislav Hagara | Komentářů: 0
    21.3. 15:22 | IT novinky

    Eric Lengyel dobrovolně uvolnil jako volné dílo svůj patentovaný algoritmus Slug. Algoritmus vykresluje text a vektorovou grafiku na GPU přímo z dat Bézierových křivek, aniž by využíval texturové mapy obsahující jakékoli předem vypočítané nebo uložené obrázky a počítá přesné pokrytí pro ostré a škálovatelné zobrazení písma, referenční ukázka implementace v HLSL shaderech je na GitHubu. Slug je volným dílem od 17. března letošního

    … více »
    NUKE GAZA! 🎆 | Komentářů: 3
    21.3. 15:11 | Zajímavý projekt

    Sashiko (GitHub) je open source automatizovaný systém pro revizi kódu linuxového jádra. Monitoruje veřejné mailing listy a hodnotí navrhované změny pomocí umělé inteligence. Výpočetní zdroje a LLM tokeny poskytuje Google.

    Ladislav Hagara | Komentářů: 13
    21.3. 04:44 | Zajímavý software

    Cambalache, tj. RAD (rapid application development) nástroj pro GTK 4 a GTK 3, dospěl po pěti letech vývoje do verze 1.0. Instalovat jej lze i z Flathubu.

    Ladislav Hagara | Komentářů: 0
    20.3. 14:55 | Nová verze

    KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    20.3. 13:22 | IT novinky

    Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.

    Ladislav Hagara | Komentářů: 18
    20.3. 04:44 | Zajímavý článek

    Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).

    Ladislav Hagara | Komentářů: 2
    20.3. 00:33 | Nová verze

    Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1134 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    Rozcestník

    Administrace komentářů

    Jste na stránce určené pro řešení chyb a problémů týkajících se diskusí a komentářů. Můžete zde našim administrátorům reportovat špatně zařazenou či duplicitní diskusi, vulgární či osočující příspěvek a podobně. Děkujeme vám za vaši pomoc, více očí více vidí, společně můžeme udržet vysokou kvalitu AbcLinuxu.cz.

    Příspěvek
    15.10.2018 20:35 xkucf03 | skóre: 50 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Qt Charts (C++) a únik paměti (memory leak)
    Obecně platí, že výstupy z nástrojů jako ASan či Valgrind je třeba umět interpretovat, jinak může člověk strávit hodiny pronásledováním neexistujících problémů.

    1) Mám trochu problém s tím, že v té knihovně možná je chyba, která by se při dlouhodobějším používání projevila. U té mojí aplikace je to jedno, tam se vykreslí pár grafů a pak to uživatel zavře, takže to žádný problém nezpůsobí. Ale co kdyby to bylo něco jako webový prohlížeč nebo desktopové prostředí? To běží týdny nebo měsíce a uživatel tam pořád něco otvírá a zavírá -- tam by se ty úniky paměti nastřádaly a problém by to byl. Tohle přece musí být nějak vyřešené, ne? <javaTrolling>Nebo je je jediným řešením garbage collector? :-)</javaTrolling>

    2) Chápu, že je potřeba se to naučit číst a chápu i že ne vše je dokonalé a nějaké menší chyby nebo plané poplachy v těch knihovnách být můžou. Můj plán tedy byl, že do LSAN_OPTIONS=suppressions= přidám (zatím tam mám libdbus-1.so a libfontconfig.so) ignorování známých chyb v knihovnách, a pak mi AddressSanitizer bude hlásit už jen moje chyby. Jenže jak na to -- co tam mám přidat, když mi hlásí tohle?

    $ LSAN_OPTIONS=suppressions=stackedbarchart/asan-ignore.txt build-stackedbarchart-Desktop-Ladu011bnu00ed/stackedbarchart 
    
    =================================================================
    ==10398==ERROR: LeakSanitizer: detected memory leaks
    
    Indirect leak of 6048 byte(s) in 84 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8717254441  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2bc441)
    
    Indirect leak of 5830 byte(s) in 29 object(s) allocated from:
        #0 0x7f871838eb50 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb50)
        #1 0x7f87170458c1 in QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xad8c1)
    
    Indirect leak of 2240 byte(s) in 20 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8715773581 in QBrush::init(QColor const&, Qt::BrushStyle) (/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0x2bb581)
    
    Indirect leak of 2128 byte(s) in 2 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8715690ed3 in QFontDatabase::load(QFontPrivate const*, int) (/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0x1d8ed3)
    
    Indirect leak of 1944 byte(s) in 27 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f87172556f2 in QObjectPrivate::connectImpl(QObject const*, int, QObject const*, void**, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, int const*, QMetaObject const*) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2bd6f2)
    
    Indirect leak of 1904 byte(s) in 17 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8717258e01 in QObject::QObject(QObject*) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2c0e01)
    
    Indirect leak of 576 byte(s) in 8 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8715868976 in QPen::QPen(QColor const&) (/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0x3b0976)
        #2 0x29183d753b2edeff  (<unknown module>)
    
    Indirect leak of 512 byte(s) in 8 object(s) allocated from:
        #0 0x7f871838ef40 in realloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdef40)
        #1 0x7f87170962e0 in QListData::realloc_grow(int) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xfe2e0)
    
    Indirect leak of 512 byte(s) in 16 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8717253961 in QObjectPrivate::addConnection(int, QObjectPrivate::Connection*) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2bb961)
    
    Indirect leak of 480 byte(s) in 30 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8717ffeafe  (/usr/lib/x86_64-linux-gnu/libQt5Charts.so.5+0xceafe)
    
    Indirect leak of 272 byte(s) in 1 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8717fcaa03 in QtCharts::QBarCategoryAxis::QBarCategoryAxis(QObject*) (/usr/lib/x86_64-linux-gnu/libQt5Charts.so.5+0x9aa03)
    
    Indirect leak of 264 byte(s) in 1 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8717fc7f83 in QtCharts::QValueAxis::QValueAxis(QObject*) (/usr/lib/x86_64-linux-gnu/libQt5Charts.so.5+0x97f83)
    
    Indirect leak of 192 byte(s) in 2 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8715667435 in QFont::detach() (/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0x1af435)
    
    Indirect leak of 160 byte(s) in 5 object(s) allocated from:
        #0 0x7f871838eb50 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb50)
        #1 0x7f8717096131 in QListData::detach_grow(int*, int) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xfe131)
    
    Indirect leak of 160 byte(s) in 5 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8717ffa871  (/usr/lib/x86_64-linux-gnu/libQt5Charts.so.5+0xca871)
    
    Indirect leak of 160 byte(s) in 5 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8717ffa7e5  (/usr/lib/x86_64-linux-gnu/libQt5Charts.so.5+0xca7e5)
    
    Indirect leak of 160 byte(s) in 5 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8717ffa74b  (/usr/lib/x86_64-linux-gnu/libQt5Charts.so.5+0xca74b)
    
    Indirect leak of 160 byte(s) in 5 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8717ffa6a3  (/usr/lib/x86_64-linux-gnu/libQt5Charts.so.5+0xca6a3)
        #2 0x7f8716619b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
    
    Indirect leak of 152 byte(s) in 1 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8718002953 in QtCharts::QStackedBarSeries::QStackedBarSeries(QObject*) (/usr/lib/x86_64-linux-gnu/libQt5Charts.so.5+0xd2953)
        #2 0x7f8716619b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
    
    Indirect leak of 112 byte(s) in 1 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8717f91bc1  (/usr/lib/x86_64-linux-gnu/libQt5Charts.so.5+0x61bc1)
        #2 0x60300004e2df  (<unknown module>)
    
    Indirect leak of 96 byte(s) in 3 object(s) allocated from:
        #0 0x7f871838eb50 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb50)
        #1 0x7f87170961eb in QListData::detach(int) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xfe1eb)
    
    Indirect leak of 96 byte(s) in 1 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f87156652e5 in QFont::QFont(QString const&, int, int, bool) (/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0x1ad2e5)
    
    Indirect leak of 88 byte(s) in 1 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8717ffdc3d in QtCharts::QBarSet::QBarSet(QString, QObject*) (/usr/lib/x86_64-linux-gnu/libQt5Charts.so.5+0xcdc3d)
        #2 0xeae59bd6  (<unknown module>)
    
    Indirect leak of 88 byte(s) in 1 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8717ffdc3d in QtCharts::QBarSet::QBarSet(QString, QObject*) (/usr/lib/x86_64-linux-gnu/libQt5Charts.so.5+0xcdc3d)
    
    Indirect leak of 88 byte(s) in 1 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8717ffdc3d in QtCharts::QBarSet::QBarSet(QString, QObject*) (/usr/lib/x86_64-linux-gnu/libQt5Charts.so.5+0xcdc3d)
        #2 0x7fff1428e1cf  (<unknown module>)
    
    Indirect leak of 88 byte(s) in 1 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8717ffdc3d in QtCharts::QBarSet::QBarSet(QString, QObject*) (/usr/lib/x86_64-linux-gnu/libQt5Charts.so.5+0xcdc3d)
        #2 0x7f871946d147  (<unknown module>)
    
    Indirect leak of 88 byte(s) in 1 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8717ffdc3d in QtCharts::QBarSet::QBarSet(QString, QObject*) (/usr/lib/x86_64-linux-gnu/libQt5Charts.so.5+0xcdc3d)
        #2 0x7f87182db72e  (/usr/lib/x86_64-linux-gnu/libasan.so.4+0x2b72e)
    
    Indirect leak of 24 byte(s) in 1 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x55dbc98ba845 in main ../stackedbarchart/main.cpp:59
        #2 0x7f8716619b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
    
    Indirect leak of 24 byte(s) in 1 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x55dbc98b9ab4 in main ../stackedbarchart/main.cpp:49
        #2 0x7f8716619b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
    
    Indirect leak of 24 byte(s) in 1 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x7f8717f92fe6  (/usr/lib/x86_64-linux-gnu/libQt5Charts.so.5+0x62fe6)
    
    Indirect leak of 24 byte(s) in 1 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x55dbc98b9a31 in main ../stackedbarchart/main.cpp:48
        #2 0x7f8716619b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
    
    Indirect leak of 24 byte(s) in 1 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x55dbc98b99ae in main ../stackedbarchart/main.cpp:47
        #2 0x7f8716619b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
    
    Indirect leak of 24 byte(s) in 1 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x55dbc98bacf3 in main ../stackedbarchart/main.cpp:77
        #2 0x7f8716619b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
    
    Indirect leak of 24 byte(s) in 1 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x55dbc98b992b in main ../stackedbarchart/main.cpp:46
        #2 0x7f8716619b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
    
    Indirect leak of 24 byte(s) in 1 object(s) allocated from:
        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x55dbc98b98a8 in main ../stackedbarchart/main.cpp:45
        #2 0x7f8716619b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
    
    -----------------------------------------------------
    Suppressions used:
      count      bytes template
         78      13390 /lib/x86_64-linux-gnu/libdbus-1.so
        127       8807 /usr/lib/x86_64-linux-gnu/libfontconfig.so
    -----------------------------------------------------
    
    SUMMARY: AddressSanitizer: 24790 byte(s) leaked in 289 allocation(s).
    

    Čeho se tam můžu chytnout, když tam jsou řádky jako tyhle?

        #0 0x7f8718390458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458)
        #1 0x55dbc98b98a8 in main ../stackedbarchart/main.cpp:45
        #2 0x7f8716619b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)

    Jde mi o to, abych toho neignoroval moc a nezakrylo to moje vlastní chyby. Když tam přidám primitivní chybu:

    char* chyba = new char[666];
    return returnCode;

    Tak to způsobí hlášku o přímém úniku:

    Direct leak of 666 byte(s) in 1 object(s) allocated from:
        #0 0x7fd512c20618 in operator new[](unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0618)
        #1 0x558aed43af84 in main ../stackedbarchart/main.cpp:116
        #2 0x7fd510ea9b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
    

    To tedy chceš říct, že mám ignorovat všechny nepřímé úniky? Nehrozí (alespoň v Qt), že bych takový nepřímý únik způsobil chybou ve svém kódu?

    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

    V tomto formuláři můžete formulovat svou stížnost ohledně příspěvku. Nejprve vyberte typ akce, kterou navrhujete provést s diskusí či příspěvkem. Potom do textového pole napište důvody, proč by měli admini provést vaši žádost, problém nemusí být patrný na první pohled. Odkaz na příspěvek bude přidán automaticky.

    Vaše jméno
    Váš email
    Typ požadavku
    Slovní popis
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.