[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [valgrind] [Bug 382515] valgrind: "Assertion 'di->have_dinfo' failed." on wine's dlls/mscoree/tests/
From:       Philippe Waroquiers <bugzilla_noreply () kde ! org>
Date:       2017-07-25 20:24:20
Message-ID: bug-382515-17878-2QhWmQoT2R () http ! bugs ! kde ! org/
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=382515

--- Comment #6 from Philippe Waroquiers <philippe.waroquiers@skynet.be> ---
mscorelib.pdb starts with:
0000000    5342    424a    0001    0001    0000    0000    000c    0000
          B   S   J   B 001  \0 001  \0  \0  \0  \0  \0  \f  \0  \0  \0
0000020    4450    2042    3156    302e    0000    0000    0000    0005
          P   D   B       V   1   .   0  \0  \0  \0  \0  \0  \0 005  \0
0000040    0070    0000    2154    000a    7e23    0000    21c4    000a
          p  \0  \0  \0   T   !  \n  \0   #   ~  \0  \0 304   !  \n  \0
0000060    8c14    0000    5323    7274    6e69    7367    0000    0000
        024 214  \0  \0   #   S   t   r   i   n   g   s  \0  \0  \0  \0
0000100    add8    000a    0040    0000    4723    4955    0044    0000
        330 255  \n  \0   @  \0  \0  \0   #   G   U   I   D  \0  \0  \0

while another wine pdb starts with:
od -xc wine_gecko-2.36-x86-dbg/gfx/angle/src/libEGL/libEGL.pdb | head -10
0000000    694d    7263    736f    666f    2074    2f43    2b43    202b
          M   i   c   r   o   s   o   f   t       C   /   C   +   +    
0000020    534d    2046    2e37    3030    0a0d    441a    0053    0000
          M   S   F       7   .   0   0  \r  \n 032   D   S  \0  \0  \0
0000040    1000    0000    0002    0000    0255    0000    09f4    0000
         \0 020  \0  \0 002  \0  \0  \0   U 002  \0  \0 364  \t  \0  \0
0000060    0000    0000    0253    0000    0000    0000    0000    0000
         \0  \0  \0  \0   S 002  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
0000100    0000    0000    0000    0000    0000    0000    0000    0000
         \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0

The valgrind code expects something very precise as a header.
See function static void* find_pdb_header( void* pdbimage,
                              unsigned* signature )
followed by one of 2 struct (either an old pdb or a new pdb struct).
It looks like the code is not ready at all to read the above. 
If only the header (slightly) differs, it might be easy to enhance the valgrind
pdb header.
But if the mscorelib.pdb is very different, then that will be a significant
work.
Note that the readpdb.c seems to be a forked copy of some wine code, as I
understand

-- 
You are receiving this mail because:
You are watching all bug changes.=
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic