freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ftinspect crashes


From: Alexei Podtelezhnikov
Subject: Re: ftinspect crashes
Date: Sun, 30 Jan 2022 22:22:13 -0500

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 <wl@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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]