473,756 Members | 9,576 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Using Purify with db2 CLI application

hcc
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

Nov 12 '05 #1
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
Nov 12 '05 #2
hcc
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

Nov 12 '05 #3
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
Nov 12 '05 #4
hcc
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

Nov 12 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
3810
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
2
2710
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...
3
2733
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
3
2231
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++
1
2435
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...
6
2554
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
10
14053
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...
4
2995
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...
1
5549
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
0
9482
marktang
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...
0
10062
Oralloy
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...
0
9901
jinu1996
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...
1
9878
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,...
0
9728
tracyyun
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...
0
8733
agi2029
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...
0
6551
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();...
1
3827
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
3
2694
bsmnconsultancy
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...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.