Programovací jazyk JavaScript (Wikipedie) dnes slaví 30 let od svého oficiálního představení 4. prosince 1995.
Byly zveřejněny informace o kritické zranitelnosti CVE-2025-55182 s CVSS 10.0 v React Server Components. Zranitelnost je opravena v Reactu 19.0.1, 19.1.2 a 19.2.1.
Bylo rozhodnuto, že nejnovější Linux 6.18 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2027. LTS jader je aktuálně šest: 5.10, 5.15, 6.1, 6.6, 6.12 a 6.18.
Byla vydána nová stabilní verze 3.23.0, tj. první z nové řady 3.23, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.
Byla vydána verze 6.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.
Po více než 7 měsících vývoje od vydání verze 6.8 byla vydána nová verze 6.9 svobodného open source redakčního systému WordPress. Kódové jméno Gene bylo vybráno na počest amerického jazzového klavíristy Gene Harrise (Ray Brown Trio - Summertime).
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za listopad (YouTube).
Google Chrome 143 byl prohlášen za stabilní. Nejnovější stabilní verze 143.0.7499.40 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 13 bezpečnostních chyb.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,2 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,42 %. Procesor AMD používá 66,72 % hráčů na Linuxu.
Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).
mem.h
#include <QWidget>
class Mem : public QWidget
{
public:
Mem (QWidget * parent = NULL);
};
mem.cpp
#include "mem.h"
#include <QVBoxLayout>
#include <QLabel>
Mem::Mem (QWidget * parent)
: QWidget(parent)
{
QVBoxLayout * vbox = new QVBoxLayout(this);
QLabel * one = new QLabel("Hello");
QLabel * two = new QLabel("world!");
vbox->addWidget(one);
vbox->addWidget(two);
setLayout(vbox);
}
main.cpp
#include <QApplication>
#include "mem.h"
int main (int argc, char ** argv)
{
QApplication app(argc,argv);
Mem window;
window.show();
return app.exec();
}
A teď výpis z Valgrindu:
==26725== HEAP SUMMARY: ==26725== in use at exit: 83,285 bytes in 1,696 blocks ==26725== total heap usage: 17,743 allocs, 16,047 frees, 1,890,066 bytes allocated ==26725== ==26725== LEAK SUMMARY: ==26725== definitely lost: 192 bytes in 2 blocks ==26725== indirectly lost: 912 bytes in 34 blocks ==26725== possibly lost: 1,720 bytes in 9 blocks ==26725== still reachable: 80,461 bytes in 1,651 blocks ==26725== suppressed: 0 bytes in 0 blocksVýpis s
--leak-check=full
==27097== Memcheck, a memory error detector ==27097== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al. ==27097== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info ==27097== Command: ./memory_leak ==27097== Parent PID: 24134 ==27097== ==27097== ==27097== HEAP SUMMARY: ==27097== in use at exit: 83,285 bytes in 1,696 blocks ==27097== total heap usage: 17,438 allocs, 15,742 frees, 1,884,214 bytes allocated ==27097== ==27097== 120 bytes in 1 blocks are possibly lost in loss record 116 of 170 ==27097== at 0x4024150: memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x402420E: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x509FFA9: ??? (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A14C8: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A219D: g_slist_prepend (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A516C: g_strsplit (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50BACB8: g_get_language_names (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50BB216: ??? (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50AD289: g_thread_init_glib (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50364B5: g_thread_init (in /usr/lib/libgthread-2.0.so.0.2800.6) ==27097== by 0x4C61941: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (in /usr/lib/qt/lib/libQtCore.so.4.7.0) ==27097== by 0x4227BB5: ??? (in /usr/lib/qt/lib/libQtGui.so.4.7.0) ==27097== ==27097== 124 bytes in 1 blocks are definitely lost in loss record 117 of 170 ==27097== at 0x4025BB8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x53CCE52: ??? (in /usr/lib/libxcb.so.1.1.0) ==27097== by 0x53CCF54: ??? (in /usr/lib/libxcb.so.1.1.0) ==27097== by 0x53CC813: xcb_connect_to_display_with_auth_info (in /usr/lib/libxcb.so.1.1.0) ==27097== by 0x53CCB5B: xcb_connect (in /usr/lib/libxcb.so.1.1.0) ==27097== by 0x52D5652: _XConnectXCB (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52C5476: XOpenDisplay (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x41FBC5C: ??? (in /usr/lib/qt/lib/libQtGui.so.4.7.0) ==27097== by 0x417DAD7: QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) (in /usr/lib/qt/lib/libQtGui.so.4.7.0) ==27097== by 0x417E342: QApplication::QApplication(int&, char**, int) (in /usr/lib/qt/lib/libQtGui.so.4.7.0) ==27097== by 0x8049E7A: main (in /home/yenn/qt/memory_leak/memory_leak) ==27097== ==27097== 360 bytes in 3 blocks are possibly lost in loss record 132 of 170 ==27097== at 0x4024150: memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x402420E: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x509FFA9: ??? (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A14E5: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A219D: g_slist_prepend (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A516C: g_strsplit (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50BACB8: g_get_language_names (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50BB216: ??? (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50AD289: g_thread_init_glib (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50364B5: g_thread_init (in /usr/lib/libgthread-2.0.so.0.2800.6) ==27097== by 0x4C61941: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (in /usr/lib/qt/lib/libQtCore.so.4.7.0) ==27097== by 0x4227BB5: ??? (in /usr/lib/qt/lib/libQtGui.so.4.7.0) ==27097== ==27097== 980 (68 direct, 912 indirect) bytes in 1 blocks are definitely lost in loss record 150 of 170 ==27097== at 0x4025C9E: realloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x52E9A57: ??? (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52E9FD0: ??? (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52EBC91: ??? (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52EC4B4: _XlcCreateLC (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x530F509: _XlcUtf8Loader (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52F43BB: _XOpenLC (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52F467D: _XrmInitParseInfo (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52DAA10: ??? (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52DE1B7: XrmGetStringDatabase (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52B9ADE: ??? (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52B9D0E: XGetDefault (in /usr/lib/libX11.so.6.3.0) ==27097== ==27097== 1,240 bytes in 5 blocks are possibly lost in loss record 156 of 170 ==27097== at 0x4024150: memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x402420E: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x509FFA9: ??? (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A14E5: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50545F8: g_array_sized_new (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50546D2: g_array_new (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50AD16E: g_static_private_set (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x5064846: g_get_filename_charsets (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50648CC: ??? (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50AD279: g_thread_init_glib (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50364B5: g_thread_init (in /usr/lib/libgthread-2.0.so.0.2800.6) ==27097== by 0x4C61941: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (in /usr/lib/qt/lib/libQtCore.so.4.7.0) ==27097== ==27097== LEAK SUMMARY: ==27097== definitely lost: 192 bytes in 2 blocks ==27097== indirectly lost: 912 bytes in 34 blocks ==27097== possibly lost: 1,720 bytes in 9 blocks ==27097== still reachable: 80,461 bytes in 1,651 blocks ==27097== suppressed: 0 bytes in 0 blocks ==27097== Reachable blocks (those to which a pointer was found) are not shown. ==27097== To see them, rerun with: --leak-check=full --show-reachable=yes ==27097== ==27097== For counts of detected and suppressed errors, rerun with: -v ==27097== ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 75 from 9)OS: Slackware-current, g++ 4.5.3, QT 4.7 Je to chyba v QT nebo dělám něco špatně já?
Řešení dotazu:
Nijak zvlášť jsem to nestudoval, ale IMHO minimálně neuklízíš vbox, one a two
addWidget()
[...]
Note: The ownership of item is transferred to the layout, and it's the layout's responsibility to delete it
Pokuď layout manager uklízí sám své widgety a widget svůj layout manager, pak je všechno v pořádku.
Release 1.7 (2010-08-13)
========================
- Always wake up readers after writing
- Get rid of PATH_MAX and MAXPATHLEN
- Add ~ operator support in code generator
- xcb_open: Improve protocol/host parsing
- xcb_connect_to_display_with_auth_info: Fix memory leak
- Report which extensions are being built
Dost z tech glib leaku je staticky alokovana pamet, ktera se alokoje jen jednou pri startu - nemela by mit vliv na program.
Tiskni
Sdílej: