<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Is the operator new() thread-safe? in Operating System - OpenVMS</title>
    <link>https://community.hpe.com/t5/operating-system-openvms/is-the-operator-new-thread-safe/m-p/4882623#M31893</link>
    <description>Craig,&lt;BR /&gt;&lt;BR /&gt;  What is the error that the process crashes on? ACCVIO? Quota limit? etc...&lt;BR /&gt;&lt;BR /&gt;  Do you know if your process is splitting into multiple kernel threads? &lt;BR /&gt;&lt;BR /&gt;  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?&lt;BR /&gt;&lt;BR /&gt;  Have you tried looking at a process dump to try and determine the state of any other threads?</description>
    <pubDate>Sun, 30 Jan 2005 20:51:04 GMT</pubDate>
    <dc:creator>John Gillings</dc:creator>
    <dc:date>2005-01-30T20:51:04Z</dc:date>
    <item>
      <title>Is the operator new() thread-safe?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/is-the-operator-new-thread-safe/m-p/4882621#M31891</link>
      <description>We are seeing some strange process crashes that have only occurred on multi-processor machines, so far, with new[] and new at the top of the readable portion of the traceback.  The process has a number of pthreads and is linked multithreaded, with upcalls turned on.  The sysgen parameter MULTIPROCESSING is 3 and MULTITHREAD is 2.  I feel sure that the C++ new operator would be thread-safe, but does anybody know for sure.  The system has VMS V7.3-1 with patches through October 2004 and probably C++ V6.5.  I can find out more precisely if it would make a difference.</description>
      <pubDate>Thu, 27 Jan 2005 20:44:30 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/is-the-operator-new-thread-safe/m-p/4882621#M31891</guid>
      <dc:creator>Travis Craig</dc:creator>
      <dc:date>2005-01-27T20:44:30Z</dc:date>
    </item>
    <item>
      <title>Re: Is the operator new() thread-safe?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/is-the-operator-new-thread-safe/m-p/4882622#M31892</link>
      <description>have you seen the comments here&lt;BR /&gt;&lt;A href="http://h71000.www7.hp.com/commercial/cplus/docs/6026pro_intr.html#index_x_3" target="_blank"&gt;http://h71000.www7.hp.com/commercial/cplus/docs/6026pro_intr.html#index_x_3&lt;/A&gt;&lt;BR /&gt;&lt;A href="http://h71000.www7.hp.com/commercial/cplus/docs/6026pro_iostr.html#index_x_103" target="_blank"&gt;http://h71000.www7.hp.com/commercial/cplus/docs/6026pro_iostr.html#index_x_103&lt;/A&gt;&lt;BR /&gt;&lt;A href="http://h71000.www7.hp.com/commercial/cplus/docs/6026pro_vect.html#index_x_515" target="_blank"&gt;http://h71000.www7.hp.com/commercial/cplus/docs/6026pro_vect.html#index_x_515&lt;/A&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 28 Jan 2005 05:25:53 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/is-the-operator-new-thread-safe/m-p/4882622#M31892</guid>
      <dc:creator>Ian Miller.</dc:creator>
      <dc:date>2005-01-28T05:25:53Z</dc:date>
    </item>
    <item>
      <title>Re: Is the operator new() thread-safe?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/is-the-operator-new-thread-safe/m-p/4882623#M31893</link>
      <description>Craig,&lt;BR /&gt;&lt;BR /&gt;  What is the error that the process crashes on? ACCVIO? Quota limit? etc...&lt;BR /&gt;&lt;BR /&gt;  Do you know if your process is splitting into multiple kernel threads? &lt;BR /&gt;&lt;BR /&gt;  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?&lt;BR /&gt;&lt;BR /&gt;  Have you tried looking at a process dump to try and determine the state of any other threads?</description>
      <pubDate>Sun, 30 Jan 2005 20:51:04 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/is-the-operator-new-thread-safe/m-p/4882623#M31893</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2005-01-30T20:51:04Z</dc:date>
    </item>
    <item>
      <title>Re: Is the operator new() thread-safe?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/is-the-operator-new-thread-safe/m-p/4882624#M31894</link>
      <description>Thanks, Ian.  Those references say the standard library is thread-safe, which I feel strongly implies that new is thread-safe, although I haven't seen it written anywhere.&lt;BR /&gt;&lt;BR /&gt;John,&lt;BR /&gt;&lt;BR /&gt;It crashed on:&lt;BR /&gt;&lt;BR /&gt;CXXL-F-EXCEPTION, Exception thrown at PC = &lt;BR /&gt;. . . traceback . . .&lt;BR /&gt;CMA-F-EXIT_THREAD, current thread has been requested to exit&lt;BR /&gt;&lt;BR /&gt;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.&lt;BR /&gt;&lt;BR /&gt;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.&lt;BR /&gt;&lt;BR /&gt;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.&lt;BR /&gt;&lt;BR /&gt;--Travis&lt;BR /&gt;</description>
      <pubDate>Tue, 08 Feb 2005 22:41:48 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/is-the-operator-new-thread-safe/m-p/4882624#M31894</guid>
      <dc:creator>Travis Craig</dc:creator>
      <dc:date>2005-02-08T22:41:48Z</dc:date>
    </item>
    <item>
      <title>Re: Is the operator new() thread-safe?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/is-the-operator-new-thread-safe/m-p/4882625#M31895</link>
      <description>Travis,&lt;BR /&gt;&lt;BR /&gt;Can you setup that process for process dump with one of this commands:&lt;BR /&gt;$ SET PROCESS/DUMP/ID=pid&lt;BR /&gt;&lt;BR /&gt;or if you start the process with the run command:&lt;BR /&gt;&lt;BR /&gt;$ RUN/DUMP ...&lt;BR /&gt;&lt;BR /&gt;or if the process is created with SYS$CREPRC setting the PRC$M_IMGDMP flag in the stsflg parameter.&lt;BR /&gt;&lt;BR /&gt;This will produce an SYS$LOGIN:&lt;IMAGENAME&gt;.DMP file, when the image exits with an unhandled error. When you get this file, you can examine it with the ANALIZE/IMAGE SYS$LOGIN:&lt;IMAGENAME&gt;.DMP command, which brings you in an debugger like environment.&lt;BR /&gt;&lt;BR /&gt;Bojan&lt;/IMAGENAME&gt;&lt;/IMAGENAME&gt;</description>
      <pubDate>Wed, 09 Feb 2005 05:47:38 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/is-the-operator-new-thread-safe/m-p/4882625#M31895</guid>
      <dc:creator>Bojan Nemec</dc:creator>
      <dc:date>2005-02-09T05:47:38Z</dc:date>
    </item>
    <item>
      <title>Re: Is the operator new() thread-safe?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/is-the-operator-new-thread-safe/m-p/4882626#M31896</link>
      <description>Thanks, Bojan.  This problem was solved, we hope, by going to one kernel thread per process or compiling for greater thread safety.  I used the /DUMP qualifier for a different problem, though, and it was definitely a 10-pointer.  It eventually led me to find a bug in time.h.</description>
      <pubDate>Mon, 07 Mar 2005 10:59:56 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/is-the-operator-new-thread-safe/m-p/4882626#M31896</guid>
      <dc:creator>Travis Craig</dc:creator>
      <dc:date>2005-03-07T10:59:56Z</dc:date>
    </item>
  </channel>
</rss>

