- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- Re: Is the operator new() thread-safe?
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Forums
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-27-2005 12:44 PM
01-27-2005 12:44 PM
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-27-2005 09:25 PM
01-27-2005 09:25 PM
Re: Is the operator new() thread-safe?
http://h71000.www7.hp.com/commercial/cplus/docs/6026pro_intr.html#index_x_3
http://h71000.www7.hp.com/commercial/cplus/docs/6026pro_iostr.html#index_x_103
http://h71000.www7.hp.com/commercial/cplus/docs/6026pro_vect.html#index_x_515
Purely Personal Opinion
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-30-2005 12:51 PM
01-30-2005 12:51 PM
Re: Is the operator new() thread-safe?
What is the error that the process crashes on? ACCVIO? Quota limit? etc...
Do you know if your process is splitting into multiple kernel threads?
Does the problem go away if you reduce MULTITHREAD to 1? What about if you put a jacket around new() and use a mutex to prevent it from being executed by two threads simultaneously?
Have you tried looking at a process dump to try and determine the state of any other threads?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-08-2005 02:41 PM
02-08-2005 02:41 PM
Re: Is the operator new() thread-safe?
John,
It crashed on:
CXXL-F-EXCEPTION, Exception thrown at PC =
. . . traceback . . .
CMA-F-EXIT_THREAD, current thread has been requested to exit
I just looked back and found that this particular crash, with new at the top of the stack, probably happened only before they set MULTITHREAD to 1. I don't see where it happened since then. (A bunch of other things have gone wrong now.) We didn't use a mutex to protect calls to new, pending the answers to this thread, because we were hoping someone would say it is thread-safe.
I have looked at what I have, tracebacks. I don't have any dumps. Is there a way to see something about the pthreads in a process? From ANAL/SYS, I can only see the kernel threads. The only place I've been able to see anything about the pthreads is from inside the debugger.
For now, I'm rebuilding our system with some changed defines for Rogue Wave, because I'm not sure it was built multi-threaded enough. That brings up some different questions that I'll put in a separate thread if I have time.
--Travis
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-08-2005 09:47 PM
02-08-2005 09:47 PM
SolutionCan you setup that process for process dump with one of this commands:
$ SET PROCESS/DUMP/ID=pid
or if you start the process with the run command:
$ RUN/DUMP ...
or if the process is created with SYS$CREPRC setting the PRC$M_IMGDMP flag in the stsflg parameter.
This will produce an SYS$LOGIN:
Bojan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-07-2005 02:59 AM
03-07-2005 02:59 AM