• # Plus d'infos...

    Posté par . En réponse au message Compilation de kde3.5.2 sur LFS. Évalué à 2.

    J'ai passé dcopidl sous valgrind.
    Ca me donne les informations suivantes :

    ==14704== Invalid read of size 4
    ==14704== at 0x456C17B: QString::QString(QString const&) (in /usr/local/kde3.5.2/lib/libqt-mt.so.3.3.6)
    ==14704== by 0x804C579: yyparse() (in /home/david/Temp/kdelibs-3.5.2/dcop/dcopidl/dcopidl)
    ==14704== by 0x8049BBF: main (in /home/david/Temp/kdelibs-3.5.2/dcop/dcopidl/dcopidl)
    ==14704== Address 0x0 is not stack'd, malloc'd or (recently) free'd
    ==14704==
    ==14704== Process terminating with default action of signal 11 (SIGSEGV)
    ==14704== Access not within mapped region at address 0x0
    ==14704== at 0x456C17B: QString::QString(QString const&) (in /usr/local/kde3.5.2/lib/libqt-mt.so.3.3.6)
    ==14704== by 0x804C579: yyparse() (in /home/david/Temp/kdelibs-3.5.2/dcop/dcopidl/dcopidl)
    ==14704== by 0x8049BBF: main (in /home/david/Temp/kdelibs-3.5.2/dcop/dcopidl/dcopidl)
    ==14704==
    ==14704== Invalid free() / delete / delete[]
    ==14704== at 0x401BFE9: free (vg_replace_malloc.c:235)
    ==14704== by 0x4BD0A6B: free_mem (dl-libc.c:228)
    ==14704== by 0x4BD0551: __libc_freeres (set-freeres.c:47)
    ==14704== by 0x401735D: _vgw_freeres (vg_preloaded.c:62)
    ==14704== by 0xBEF3A5A7: ???
    ==14704== by 0x804C579: yyparse() (in /home/david/Temp/kdelibs-3.5.2/dcop/dcopidl/dcopidl)
    ==14704== by 0x8049BBF: main (in /home/david/Temp/kdelibs-3.5.2/dcop/dcopidl/dcopidl)
    ==14704== Address 0x49CDCF0 is not stack'd, malloc'd or (recently) free'd
    ==14704==
    ==14704== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 61 from 1)
    ==14704== malloc/free: in use at exit: 26,737 bytes in 1,105 blocks.
    ==14704== malloc/free: 5,274 allocs, 4,170 frees, 145,054 bytes allocated.
    ==14704== For counts of detected errors, rerun with: -v
    ==14704== searching for pointers to 1,105 not-freed blocks.
    ==14704== checked 693,232 bytes.
    ==14704==
    ==14704== LEAK SUMMARY:
    ==14704== definitely lost: 7,594 bytes in 491 blocks.
    ==14704== possibly lost: 0 bytes in 0 blocks.
    ==14704== still reachable: 19,143 bytes in 614 blocks.
    ==14704== suppressed: 0 bytes in 0 blocks.
    ==14704== Use --leak-check=full to see details of leaked memory.
    Erreur de segmentation


    Est-ce que quelqu'un voit d'où viens l'erreur, et surtout comment la corriger ?
    Visiblement, si je comprends bien, c'est qt qui foire, lors de l'appel à la fonction yyparse. Ce doit être lié à bison/yacc, mais je ne vois pas comment corriger ce problème.
    Merci pour votre aide.