Hi Werner, It is strange that other demos are happy. I am a bit blinded because I do not run ftinspect.
I tried to fix it. Let me know if it helps or not. Alexei On Sun, Jan 30, 2022 at 1:01 AM Werner LEMBERG <w...@gnu.org> wrote: > > > Alexei, > > > `qtinspect` immediately crashes. However, if run with `valgrind`, it > does not. I think this is an indication that some of your changes to > not initialize arrays in `src/cache` need to be fixed. Please check. > Below is my valgrind output from current git. > > > Werner > > > ====================================================================== > > > Memcheck, a memory error detector > Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. > Using Valgrind-3.18.0.GIT and LibVEX; rerun with -h for copyright info > Command: ./ftinspect > > Conditional jump or move depends on uninitialised value(s) > at 0x483E79: FTC_ImageCache_LookupScaler (ftcbasic.c:413) > by 0x415506: Engine::loadOutline(int) (engine.cpp:473) > by 0x41D4E4: MainGUI::drawGlyph() (maingui.cpp:666) > by 0x41C5EF: MainGUI::checkAntiAliasing() (maingui.cpp:359) > by 0x427077: MainGUI::qt_static_metacall(QObject*, QMetaObject::Call, int, > void**) (moc_maingui.cpp:153) > by 0x63F9E34: QMetaObject::activate(QObject*, int, int, void**) (in > /usr/lib64/libQt5Core.so.5.12.7) > by 0x52E1FB0: QComboBox::currentIndexChanged(int) (in > /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x52E3D72: ??? (in /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x52E525B: ??? (in /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x52E54F0: QComboBox::setCurrentIndex(int) (in > /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x4239E7: MainGUI::setDefaults() (maingui.cpp:1216) > by 0x41B103: main (ftinspect.cpp:28) > > Use of uninitialised value of size 8 > at 0x483E82: FTC_ImageCache_LookupScaler (ftcbasic.c:413) > by 0x415506: Engine::loadOutline(int) (engine.cpp:473) > by 0x41D4E4: MainGUI::drawGlyph() (maingui.cpp:666) > by 0x41C5EF: MainGUI::checkAntiAliasing() (maingui.cpp:359) > by 0x427077: MainGUI::qt_static_metacall(QObject*, QMetaObject::Call, int, > void**) (moc_maingui.cpp:153) > by 0x63F9E34: QMetaObject::activate(QObject*, int, int, void**) (in > /usr/lib64/libQt5Core.so.5.12.7) > by 0x52E1FB0: QComboBox::currentIndexChanged(int) (in > /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x52E3D72: ??? (in /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x52E525B: ??? (in /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x52E54F0: QComboBox::setCurrentIndex(int) (in > /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x4239E7: MainGUI::setDefaults() (maingui.cpp:1216) > by 0x41B103: main (ftinspect.cpp:28) > > Conditional jump or move depends on uninitialised value(s) > at 0x429C93: FT_Done_Face (ftobjs.c:2913) > by 0x483061: ftc_face_node_done (ftcmanag.c:272) > by 0x482F69: FTC_MruList_New (ftcmru.c:281) > by 0x484848: FTC_Manager_LookupFace (ftcmanag.c:324) > by 0x484B81: ftc_scaler_lookup_size (ftcmanag.c:43) > by 0x482F18: FTC_MruList_New (ftcmru.c:268) > by 0x48389B: FTC_Manager_LookupSize.part.8 (ftcmanag.c:196) > by 0x4838F2: FTC_Manager_LookupSize (ftcmanag.c:191) > by 0x4838F2: ftc_basic_family_load_glyph (ftcbasic.c:173) > by 0x483246: FTC_INode_New (ftcimage.c:79) > by 0x483246: ftc_inode_new (ftcimage.c:102) > by 0x482B65: FTC_Cache_NewNode (ftccache.c:459) > by 0x483F4F: FTC_ImageCache_LookupScaler (ftcbasic.c:413) > by 0x415506: Engine::loadOutline(int) (engine.cpp:473) > > Conditional jump or move depends on uninitialised value(s) > at 0x4831B4: ftc_inode_free (ftcimage.c:37) > by 0x48325B: FTC_INode_Free (ftcimage.c:52) > by 0x48325B: FTC_INode_New (ftcimage.c:83) > by 0x48325B: ftc_inode_new (ftcimage.c:102) > by 0x482B65: FTC_Cache_NewNode (ftccache.c:459) > by 0x483F4F: FTC_ImageCache_LookupScaler (ftcbasic.c:413) > by 0x415506: Engine::loadOutline(int) (engine.cpp:473) > by 0x41D4E4: MainGUI::drawGlyph() (maingui.cpp:666) > by 0x41C5EF: MainGUI::checkAntiAliasing() (maingui.cpp:359) > by 0x427077: MainGUI::qt_static_metacall(QObject*, QMetaObject::Call, int, > void**) (moc_maingui.cpp:153) > by 0x63F9E34: QMetaObject::activate(QObject*, int, int, void**) (in > /usr/lib64/libQt5Core.so.5.12.7) > by 0x52E1FB0: QComboBox::currentIndexChanged(int) (in > /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x52E3D72: ??? (in /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x52E525B: ??? (in /usr/lib64/libQt5Widgets.so.5.12.7) > > Conditional jump or move depends on uninitialised value(s) > at 0x483E79: FTC_ImageCache_LookupScaler (ftcbasic.c:413) > by 0x415506: Engine::loadOutline(int) (engine.cpp:473) > by 0x41D4E4: MainGUI::drawGlyph() (maingui.cpp:666) > by 0x427132: MainGUI::qt_static_metacall(QObject*, QMetaObject::Call, int, > void**) (moc_maingui.cpp:164) > by 0x63F9E34: QMetaObject::activate(QObject*, int, int, void**) (in > /usr/lib64/libQt5Core.so.5.12.7) > by 0x5381E9F: QDoubleSpinBox::valueChanged(double) (in > /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x5382021: ??? (in /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x537F0D9: ??? (in /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x5383B7E: QDoubleSpinBox::setValue(double) (in > /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x423AB2: MainGUI::setDefaults() (maingui.cpp:1227) > by 0x41B103: main (ftinspect.cpp:28) > > Use of uninitialised value of size 8 > at 0x483E82: FTC_ImageCache_LookupScaler (ftcbasic.c:413) > by 0x415506: Engine::loadOutline(int) (engine.cpp:473) > by 0x41D4E4: MainGUI::drawGlyph() (maingui.cpp:666) > by 0x427132: MainGUI::qt_static_metacall(QObject*, QMetaObject::Call, int, > void**) (moc_maingui.cpp:164) > by 0x63F9E34: QMetaObject::activate(QObject*, int, int, void**) (in > /usr/lib64/libQt5Core.so.5.12.7) > by 0x5381E9F: QDoubleSpinBox::valueChanged(double) (in > /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x5382021: ??? (in /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x537F0D9: ??? (in /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x5383B7E: QDoubleSpinBox::setValue(double) (in > /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x423AB2: MainGUI::setDefaults() (maingui.cpp:1227) > by 0x41B103: main (ftinspect.cpp:28) > > Conditional jump or move depends on uninitialised value(s) > at 0x41BF94: MainGUI::checkHinting() (maingui.cpp:226) > by 0x423AEE: MainGUI::setDefaults() (maingui.cpp:1231) > by 0x41B103: main (ftinspect.cpp:28) > > Conditional jump or move depends on uninitialised value(s) > at 0x41C2FA: MainGUI::checkHintingMode() (maingui.cpp:286) > by 0x4270DD: MainGUI::qt_static_metacall(QObject*, QMetaObject::Call, int, > void**) (moc_maingui.cpp:159) > by 0x63F9E34: QMetaObject::activate(QObject*, int, int, void**) (in > /usr/lib64/libQt5Core.so.5.12.7) > by 0x52E1FB0: QComboBox::currentIndexChanged(int) (in > /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x52E3D72: ??? (in /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x52E525B: ??? (in /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x52E54F0: QComboBox::setCurrentIndex(int) (in > /usr/lib64/libQt5Widgets.so.5.12.7) > by 0x41C059: MainGUI::checkHinting() (maingui.cpp:236) > by 0x423AEE: MainGUI::setDefaults() (maingui.cpp:1231) > by 0x41B103: main (ftinspect.cpp:28) > > > HEAP SUMMARY: > in use at exit: 652,733 bytes in 11,264 blocks > total heap usage: 194,100 allocs, 182,836 frees, 107,001,511 bytes allocated > > LEAK SUMMARY: > definitely lost: 5,720 bytes in 26 blocks > indirectly lost: 80,548 bytes in 459 blocks > possibly lost: 1,352 bytes in 18 blocks > still reachable: 565,097 bytes in 10,760 blocks > of which reachable via heuristic: > newarray : 1,536 bytes in 16 blocks > suppressed: 16 bytes in 1 blocks > Rerun with --leak-check=full to see details of leaked memory > > Use --track-origins=yes to see where uninitialised values come from > For lists of detected and suppressed errors, rerun with: -s > ERROR SUMMARY: 50 errors from 8 contexts (suppressed: 0 from 0) -- Alexei A. Podtelezhnikov, PhD