Hi,
Does anyone have experience with using Purify with db2 CLI
application? We're using Purify to diagnose some problem in our
multi-thread CLI application, and we're getting lots of the
"UMR: Uninitialized memory read" error reported by Purify. I wrote
a very short test CLI program that simply calls SQLAllocHandle,
SQLConnect, SQLDisconnect and SQLDisconnect; and Purify still
reports the same error. The following is one of them:
**** Purify instrumented hcctest (pid 4467) ****
UMR: Uninitialized memory read:
* This is occurring while in:
void CLI_scnGetChar( unsigned char*,unsigned char**,unsigned
char*,unsigned char*,unsigned char*,unsigned char*,short*)
[libdb2.so.1]
void CLI_utlStripTra ilingBlanks(uns igned char*,unsigned char*,long*)
[libdb2.so.1]
short SQLConnect1(CLI _CONNECTINFO*,u nsigned char*,short,uns igned
char*,short,uns igned char*,short) [libdb2.so.1]
SQLConnect [libdb2.so.1]
main [hcctest.o]
_start [crt1.o]
* Reading 1 byte from 0xee1ae in the heap.
* Address 0xee1ae is 170870 bytes into a malloc'd block at 0xc4638 of
262144 bytes.
* This block was allocated from:
malloc [rtlib.o]
int getPrivateChunk sFromOs(SqloChu nk,void**) [sqlomset.C]
int SMemSet::alloca teChunkGroup(Sq loChunk,SqloChu nk,unsigned long)
[libdb2.so.1]
int SMemSet::getCon tiguousChunks(S qloChunk,unsign ed
long,SChunkGrp* *,SqloChunk*) [libdb2.so.1]
int SMemPool::getNe wChunkSubgroup( unsigned,unsign ed long)
[libdb2.so.1]
int SMemPool::alloc ateMemoryBlock( unsigned,unsign ed,unsigned
long,void**,Sql oChunkSubgroup* *) [libdb2.so.1]
Does this mean there are bugs in db2 library? I use g++ and
gcc to compile/link the test program. I'd appreciate any help very
much.
--hcc 4 2029
On Sun, 13 Mar 2005 07:30:50 UTC "hcc" <hc****@yahoo.c om> wrote: Hi, Does anyone have experience with using Purify with db2 CLI application? We're using Purify to diagnose some problem in our multi-thread CLI application, and we're getting lots of the "UMR: Uninitialized memory read" error reported by Purify. I wrote a very short test CLI program that simply calls SQLAllocHandle, SQLConnect, SQLDisconnect and SQLDisconnect; and Purify still reports the same error. The following is one of them:
**** Purify instrumented hcctest (pid 4467) **** UMR: Uninitialized memory read: * This is occurring while in: void CLI_scnGetChar( unsigned char*,unsigned char**,unsigned char*,unsigned char*,unsigned char*,unsigned char*,short*) [libdb2.so.1] void CLI_utlStripTra ilingBlanks(uns igned char*,unsigned char*,long*) [libdb2.so.1] short SQLConnect1(CLI _CONNECTINFO*,u nsigned char*,short,uns igned char*,short,uns igned char*,short) [libdb2.so.1] SQLConnect [libdb2.so.1] main [hcctest.o] _start [crt1.o] * Reading 1 byte from 0xee1ae in the heap. * Address 0xee1ae is 170870 bytes into a malloc'd block at 0xc4638 of 262144 bytes. * This block was allocated from: malloc [rtlib.o] int getPrivateChunk sFromOs(SqloChu nk,void**) [sqlomset.C] int SMemSet::alloca teChunkGroup(Sq loChunk,SqloChu nk,unsigned long) [libdb2.so.1] int SMemSet::getCon tiguousChunks(S qloChunk,unsign ed long,SChunkGrp* *,SqloChunk*) [libdb2.so.1] int SMemPool::getNe wChunkSubgroup( unsigned,unsign ed long) [libdb2.so.1] int SMemPool::alloc ateMemoryBlock( unsigned,unsign ed,unsigned long,void**,Sql oChunkSubgroup* *) [libdb2.so.1] Does this mean there are bugs in db2 library? I use g++ and gcc to compile/link the test program. I'd appreciate any help very much.
Not sure if it's your problem or not, but I was getting the same
warnings a few years back when the app passed a pointer to an
unititialized blob of memeory when it created a retrieve thread. The
top app then waited for a message set by the thread and launched a
second thread to process/forward the data. That gave me
serialization without any time overhead, but the second thread, the
read process, would complain that the passed data area was never
initialized since the initialization occured outside it's scope (or
existance). This was using 5.2 on OS/2 and finally cured with a
library update. Never caused a problem, obviously, but Purify
understandably thought the second thread was using uninitialized data.
--
Will Honea
Hi,
Thanks a lot for your reply. My small test program is actually
single thread, and all it
does is to connect to the database and then disconnect right away. We
have version 7
or 8 of db2 library, and we are using Solaris. You mention that the
warning was cured
with a library upgrade, but I think the library we are using is
up-to-date. Is it possible that
the old "bug" is introduced again in the newer version? I'd like to
find out whether now the
UMR error might have caused a problem in applications eventually.
Again I'd appreciate
any help very much.
--hcc
On Sun, 13 Mar 2005 20:57:13 UTC "hcc" <hc****@yahoo.c om> wrote: Hi, Thanks a lot for your reply. My small test program is actually single thread, and all it does is to connect to the database and then disconnect right away. We have version 7 or 8 of db2 library, and we are using Solaris. You mention that the warning was cured with a library upgrade, but I think the library we are using is up-to-date. Is it possible that the old "bug" is introduced again in the newer version? I'd like to find out whether now the UMR error might have caused a problem in applications eventually. Again I'd appreciate any help very much.
I'm afraid I won't be any help to you. That was, what, 6-7 years or
so back, right in the middle of the Y2K panic where we were upgrading
something about every week so I can't even say if it was the DB2
libraries, the compiler, or the in-house transport layer we were using
at the time. That whole circus is one big blur now.
Thinking about it, malloc allocates but not initialize memory so it
may well be a library bug. I'll see if I can repeat it with another
compiler version for W2K or Linux here if I can break out of the
current rat race in the next day or so. It could also be a 'so what'
warning - does the app run?
--
Will Honea
Hi,
My small test program does run ok; our real multi-thread db2 app.
also runs but
starts to have problem after a while. You may be right that the UMR
could just be a 'so
what' warning and might not cause any problem. I don't want to take
too much of your
time; you've already helped a lot.
--hcc This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Tomer Ben-David |
last post by:
Hi
I downloaded purify.
Im running a simple hello world through purify on windows2000 machine.
However whenever the purify runs it i get in the console window:
Error occurred during initialization of VM
Unable to load native library: Access is denied
|
by: tomekj |
last post by:
Hello Everyone -
I posted this question in Fortran section few days ago, but got no
replies so far - so I post it again here:
I would appreciate if someone could suggest some momory debugging tools
for fortran 90 - analogous to Purify. Actually, Purify works to some
extent with fortran 90 executables, but apparently signals as errors all
memory allocations (as UMR - uninitialized memory read) and
deallocations (as ABR - array bounds...
|
by: Ahmed Ossman |
last post by:
Hi all,
Does any one know a free tool like Purify(memory check tool) can be run on
unix??
Best regards,
Ahmed Ossman
|
by: grahamo |
last post by:
Hey,
maybe a little off topic but I'm running round in circles here...
I am aware of a couple of other memory tracking products out there but
I would like to know of ALL of them. So far I have;
1) BoundsChecker
2) Insure++
|
by: Eric |
last post by:
I am sending a structure over a socket, and so the structure is copied
into a message buffer first. The structure has some spare fields in
order to align the fields properly. Since those spare fields are
never set, I expect Purify to report an Uninitialized Memory Read when
the structure is copied into the message buffer, but Purify actually
waits until the message buffer is read before reporting the error. So
Purify doesn't report an...
| |
by: sangeetha_b |
last post by:
Hello,
I've writen one simple program to automate some manual process. I've
written that in c program. It works fine so far no problem reported on
this. Last week, i get chance to run my program on purify tool. I'm
very new to purify tool use.
Q1. Purify reports Uninitialized memory read in the following line A
and Line B
|
by: eyh5 |
last post by:
Hi,
My C code (running on Soalris Unix) has some "segmentation fault"
that I wish to use purify to do it. I poked around the web, and found
some information about adding some lines in a Makefile file to use
purify. However, my code is a rather simple single-source C program,
and I didn't write a Makefile for it.
I'm wondering if anybody can tell me which commands are to be
entered at the Unix prompt to use purify. And, I don't know if...
|
by: sudheer786 |
last post by:
A purify error while doing build is setup
--------------------------------------------------------------------------------
Hi all,
I was facing a strange error while trying to run my labeled build once after the make depend and make all was sucessful in solaris.
When I tried to attach dbx and run the build on solaris 5.4 release , it shows a wrong a menory address which is cascaded. Neither of the memory is freed.
dbx: cannot...
|
by: sudheer786 |
last post by:
Hi all,
I was facing a strange error while trying to run my labeled build once after the make depend and make all was sucessful in solaris.
When I tried to attach dbx and run the build on solaris 5.4 release , it shows a wrong a menory address which is cascaded. Neither of the memory is freed.
dbx: cannot access address 0xffffffffffffffd4
When I tried to run with purify it shows
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look !
Part I. Meaning of...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
| |
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |