Hi,
I am using sun's CC (c++ compiler) to compile the follow code:
#define __REENTRANT
#include <stdio.h>
#include <pthread.h>
void *one(void *dummy);
void two(void);
void output(void);
int main (int argc, char **argv)
{
pthread_t tid;
pthread_create( &tid, NULL, one, NULL );
pthread_join(ti d,NULL);
}
void *one(void *dummy)
{
output();
two();
return NULL;
}
void two(void)
{
output();
}
void output(void)
{
//char string[16468]; //This one purify likes
//char string[16469]={0}; //This and greater makes purify spit
BSW's
char string[16469]; //This and greater makes purify spit a
IPW/R's
string[0]='\0';
}
This is purify's output:
IPW: Invalid pointer write
This is occurring while in thread 7:
void output() [testmain3.o]
void two() [testmain3.o]
void*one(void*) [testmain3.o]
_thread_start [libthread.so.1]
Writing 1 byte to 0x7e5fbbef on the stack of thread 7.
Address 0x7e5fbbef is 16473 bytes below frame pointer in
function void output().
Thread Summary : 7 threads in existence
Thread 0 [main thread]
Stack Limit : (0xff3f0000 0xffbf0000), size = 0x800000
Thread 1
Stack Limit : (0x7ef10000 0x7f010000), size = 0x100000
Stack Use : (0x7f00fa30 0x7f00fd54), size = 0x324
Thread 2
Stack Limit : (0x7e652000 0x7e656000), size = 0x4000
Stack Use : (0x7e655978 0x7e655d54), size = 0x3dc
Thread 3
Stack Limit : (0x7f902b64 0x7f91e3f8), size = 0x1b894
Stack Use : (0x7f9076d0 0x7f9078f4), size = 0x224
Thread 4
Stack Limit : (0x7ee0e000 0x7ef0e000), size = 0x100000
Stack Use : (0x7ef0db30 0x7ef0dd54), size = 0x224
Thread 6
Stack Limit : (0x7e612000 0x7e616000), size = 0x4000
Stack Use : (0x7e615b28 0x7e615d54), size = 0x22c
Thread 8
Stack Limit : (0x7e632000 0x7e634000), size = 0x2000
Stack Use : (0x7e633b28 0x7e633d54), size = 0x22c
This is with CC. With gcc or g++ it does not have this problem. cc has
the problem too but with a larger number in the array.
Is it the compiler/linker bug or it purify making things up?
If it is the compiler I assume I am screwing up memory badly.
Matt 6 2666
Matthew wrote: Hi,
I am using sun's CC (c++ compiler) to compile the follow code:
#define __REENTRANT #include <stdio.h> #include <pthread.h>
void *one(void *dummy);
void two(void); void output(void);
int main (int argc, char **argv) { pthread_t tid; pthread_create( &tid, NULL, one, NULL ); pthread_join(ti d,NULL); }
void *one(void *dummy) { output(); two(); return NULL; }
void two(void) { output(); }
void output(void) { //char string[16468]; //This one purify likes //char string[16469]={0}; //This and greater makes purify spit BSW's char string[16469]; //This and greater makes purify spit a IPW/R's string[0]='\0'; }
This is purify's output:
IPW: Invalid pointer write This is occurring while in thread 7: void output() [testmain3.o] void two() [testmain3.o] void*one(void*) [testmain3.o] _thread_start [libthread.so.1] Writing 1 byte to 0x7e5fbbef on the stack of thread 7. Address 0x7e5fbbef is 16473 bytes below frame pointer in function void output().
Thread Summary : 7 threads in existence Thread 0 [main thread] Stack Limit : (0xff3f0000 0xffbf0000), size = 0x800000 Thread 1 Stack Limit : (0x7ef10000 0x7f010000), size = 0x100000 Stack Use : (0x7f00fa30 0x7f00fd54), size = 0x324 Thread 2 Stack Limit : (0x7e652000 0x7e656000), size = 0x4000 Stack Use : (0x7e655978 0x7e655d54), size = 0x3dc Thread 3 Stack Limit : (0x7f902b64 0x7f91e3f8), size = 0x1b894 Stack Use : (0x7f9076d0 0x7f9078f4), size = 0x224 Thread 4 Stack Limit : (0x7ee0e000 0x7ef0e000), size = 0x100000 Stack Use : (0x7ef0db30 0x7ef0dd54), size = 0x224 Thread 6 Stack Limit : (0x7e612000 0x7e616000), size = 0x4000 Stack Use : (0x7e615b28 0x7e615d54), size = 0x22c Thread 8 Stack Limit : (0x7e632000 0x7e634000), size = 0x2000 Stack Use : (0x7e633b28 0x7e633d54), size = 0x22c
This is with CC. With gcc or g++ it does not have this problem. cc has the problem too but with a larger number in the array.
Is it the compiler/linker bug or it purify making things up?
If it is the compiler I assume I am screwing up memory badly.
Matt
man pthread_attr_se tstackaddr
/J
Johan Lindh wrote: Matthew wrote:
Hi,
I am using sun's CC (c++ compiler) to compile the follow code:
#define __REENTRANT #include <stdio.h> #include <pthread.h>
void *one(void *dummy);
void two(void); void output(void);
int main (int argc, char **argv) { pthread_t tid; pthread_create( &tid, NULL, one, NULL ); pthread_join(ti d,NULL); }
void *one(void *dummy) { output(); two(); return NULL; }
void two(void) { output(); }
void output(void) { //char string[16468]; //This one purify likes //char string[16469]={0}; //This and greater makes purify spit BSW's char string[16469]; //This and greater makes purify spit a IPW/R's string[0]='\0'; }
This is purify's output:
IPW: Invalid pointer write This is occurring while in thread 7: void output() [testmain3.o] void two() [testmain3.o] void*one(void*) [testmain3.o] _thread_start [libthread.so.1] Writing 1 byte to 0x7e5fbbef on the stack of thread 7. Address 0x7e5fbbef is 16473 bytes below frame pointer in function void output(). Thread Summary : 7 threads in existence Thread 0 [main thread] Stack Limit : (0xff3f0000 0xffbf0000), size = 0x800000 Thread 1 Stack Limit : (0x7ef10000 0x7f010000), size = 0x100000 Stack Use : (0x7f00fa30 0x7f00fd54), size = 0x324 Thread 2 Stack Limit : (0x7e652000 0x7e656000), size = 0x4000 Stack Use : (0x7e655978 0x7e655d54), size = 0x3dc Thread 3 Stack Limit : (0x7f902b64 0x7f91e3f8), size = 0x1b894 Stack Use : (0x7f9076d0 0x7f9078f4), size = 0x224 Thread 4 Stack Limit : (0x7ee0e000 0x7ef0e000), size = 0x100000 Stack Use : (0x7ef0db30 0x7ef0dd54), size = 0x224 Thread 6 Stack Limit : (0x7e612000 0x7e616000), size = 0x4000 Stack Use : (0x7e615b28 0x7e615d54), size = 0x22c Thread 8 Stack Limit : (0x7e632000 0x7e634000), size = 0x2000 Stack Use : (0x7e633b28 0x7e633d54), size = 0x22c
This is with CC. With gcc or g++ it does not have this problem. cc has the problem too but with a larger number in the array.
Is it the compiler/linker bug or it purify making things up?
If it is the compiler I assume I am screwing up memory badly.
Matt man pthread_attr_se tstackaddr
/J
Uh, I meant
man pthread_attr_se tstacksize
...(of course :P)
Johan Lindh wrote: Johan Lindh wrote: man pthread_attr_se tstackaddr
/J
Uh, I meant
man pthread_attr_se tstacksize
Do you know any newsgroups where threads are on topic ?
--
pete
pete wrote: Johan Lindh wrote:
Johan Lindh wrote:
man pthread_attr_se tstackaddr
/J
Uh, I meant
man pthread_attr_se tstacksize
Do you know any newsgroups where threads are on topic ?
Sure!
alt.sex.spam
Johan Lindh wrote: pete wrote:
Johan Lindh wrote:
Johan Lindh wrote:
man pthread_attr_se tstackaddr
/J
Uh, I meant
man pthread_attr_se tstacksize
Do you know any newsgroups where threads are on topic ?
Sure! alt.sex.spam
Then take your discussion to there.
--
pete 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: Matthew |
last post by:
Hi,
I am using sun's CC (c++ compiler) to compile the follow code:
#define __REENTRANT
#include <stdio.h>
#include <pthread.h>
void *one(void *dummy);
|
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: hcc |
last post by:
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:
|
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: saby |
last post by:
Can anybody knowing Rational Purify help me?
I am instrumenting an exe on solaris using Rational Purify.
While building the exe, known as "DPSRun", it does not give any problem.
But while I use Rational Purify, it gives a link error as given below.
Linking
Undefined first referenced
|
by: Teddy |
last post by:
Hey guyes I am getting problem with purify. I am using g++ compiler on
Solaris 5.10 and linking it with purify.
Whenever I compiled program with purify option I get CORE DUMP error
with message that terminate() was called recursively by
getprotobyname() function.
Without purify program compiles without error. Please help me to solve
problem.
|
by: Achint Mehta |
last post by:
Hi,
I am running purify on my program (on linux with gcc ver. 3.4.6)
I have installed a signal handler (for timer) using sigaction.
I am passing a pointer (data) into the sival_ptr which I intend to
access later in the signal handler.
timer_event.sigev_notify = SIGEV_SIGNAL;
timer_event.sigev_signo = SIGRTMIN;
timer_event.sigev_value.sival_ptr = data;
|
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: 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: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
|
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: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules.
He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms.
Adolph will...
| |
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
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
| |