lua-users home
lua-l archive

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


On 25 Feb 2006, at 22:30, Mike Pall wrote:

Several similar errors are reported in luaK_posfix() (line 653 of lcode) and other lines of the same module; in luaV_execute(), lines 496 and others of lvm, BoundsChecker also reports some pointer arithmetic range errors.

None of these are errors. This is just copying uninitialized
memory. Either without using it or by overwriting it later with
valid data.

Good to know, Mike, thanks.

Modern memory checkers do validity bit propagation. They should
only report _uses_ of uninitialized data, not the mere act of
accessing or copying it. E.g. valgrind does this (but it's not
available for Windows). Maybe you need to turn on some option in
BoundsChecker?

I'll look for a similar option but at first glance hadn't found it.

Now, most of these problems might just be BoundsChecker's own fault, but there are other, potentially more worrisome reports: a few dangling pointer errors ("Pointer 0x..., allocated by realloc, has already been freed")
which might actually be real problems.

These should be investigated. But I guess you have to reduce the
number of false alarms first. Maybe you need a different tool or
just a newer version.

I'll try to reduce the number of reports first, but after a quick try with the latest version (8.0 on another machine as opposed to the 7.2 I have installed on my machine) I couldn't test my code at all... The reason being that my "app" is actually an ActiveX control packed in a regular .dll, and DevPartner 8.x refuses to start Explorer/ ActiveX Test/etc. as the target application. Perhaps I've missed something but certainly I couldn't get it to work.

Thank you,
Dario