Archived
This forum has been archived. Please start a new discussion on GitHub.
Error detected by Purify
We are evaluating ICE for use in Talk Project for a possible migration from OAA.
In the "Printer Demo", one client(with one proxy) with one server in the same machine(using 127.0.0.1 as IP); Purify reports the following (one ABW error, two UMC warnings):
This is the error:
[E] BSW: Beyond stack write in IceInternal::Buffer::Container::swap(Container::Buffer::IceInternal&) {1 occurrence}
Writing 26 bytes to 0x0013ee90 (top of stack is at 0x033fe62c))
Address 0x0013ee90 points into a thread's stack
Address 0x0013ee90 is 1347515577 bytes above the frame pointer in IceInternal::Buffer::Container::swap(Container::Buffer::IceInternal&)
Thread ID: 0x1300
Error location
[C:\Ice-3.1.0\bin\ice31.dll ip=0x100179B4]
??? [ip=0x00010001]
callthreadstartex [f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c:348]
threadstartex [f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c:326]
Complete report is attached.
Is this a real error? Has similiar been reported?
We get the same error in our ice demo application with has 4 proxies in a client with 4 different servers.
We are running a Windows 2003 Server SP1 Standard Edition.
Microsoft Visual Studio 2005 Versión 8.0.50727.42
Purify is version 7.0.0.0 build 6311
In the "Printer Demo", one client(with one proxy) with one server in the same machine(using 127.0.0.1 as IP); Purify reports the following (one ABW error, two UMC warnings):
This is the error:
[E] BSW: Beyond stack write in IceInternal::Buffer::Container::swap(Container::Buffer::IceInternal&) {1 occurrence}
Writing 26 bytes to 0x0013ee90 (top of stack is at 0x033fe62c))
Address 0x0013ee90 points into a thread's stack
Address 0x0013ee90 is 1347515577 bytes above the frame pointer in IceInternal::Buffer::Container::swap(Container::Buffer::IceInternal&)
Thread ID: 0x1300
Error location
[C:\Ice-3.1.0\bin\ice31.dll ip=0x100179B4]
??? [ip=0x00010001]
callthreadstartex [f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c:348]
threadstartex [f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c:326]
Complete report is attached.
Is this a real error? Has similiar been reported?
We get the same error in our ice demo application with has 4 proxies in a client with 4 different servers.
We are running a Windows 2003 Server SP1 Standard Edition.
Microsoft Visual Studio 2005 Versión 8.0.50727.42
Purify is version 7.0.0.0 build 6311
0
Comments
-
Hi,
Did you try to Purify a debug version of this demo (and your application)? Do you get the same Purify error/warnings?
Cheers,
Bernard0 -
Thanks for your quick reply.
We used a release build with debug information and the following options:
/INCREMENTAL:NO
/FIXED:NO
Basic Runtime Checks = "Default"
/Zi
Regards,
Jesús.0 -
Hi Jesus,
By debug build, I meant with objects compiled with /MDd and linked with the *D.lib Ice libraries.
You can only get meaningful Purify results when the *.pdb files are present, and we include the .pdb files only for the debug (/MDd, *D.dll/lib) files in our binary distributions.
When Purifying, I recommend to first use the debug build (/MDd, *D.lib libraries). Then, if you later suspect a release-only memory problem, you should make your own special Ice release build (/MD) with debug info stored in PDB files.
Cheers,
Bernard0 -
Thanks again for your quick reply.
We rebuilt the client with all debug libraries and getting *.pdb files and the error has gone! So we have the Ice source and we will look into rebuilding a release version with debug information. If it works we will try with our demo.
Thank you very much.
Jesús.0