<?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: coredump in $$dyncall_external_20+0() in Operating System - HP-UX</title>
    <link>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580305#M679527</link>
    <description>&amp;gt; p /x $r22&lt;BR /&gt;&lt;BR /&gt;I've checked the value you requested:&lt;BR /&gt;&lt;BR /&gt;(gdb) p /x $r22&lt;BR /&gt;$1 = 0x0</description>
    <pubDate>Thu, 25 Feb 2010 15:33:42 GMT</pubDate>
    <dc:creator>H.H.</dc:creator>
    <dc:date>2010-02-25T15:33:42Z</dc:date>
    <item>
      <title>coredump in $$dyncall_external_20+0()</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580301#M679523</link>
      <description>I have a C++ program which is dynamically linked with shared libraries. It has been working fine for a months, but few days ago it failed and core dump with the following stack trace was generated:&lt;BR /&gt;&lt;BR /&gt;Core was generated by `serv'.&lt;BR /&gt;Program terminated with signal 10, Bus error.&lt;BR /&gt;#0  0xc49c08c4 in $$dyncall_external_20+0 () from /home/hh/lib/libservMain.16&lt;BR /&gt;(gdb) where&lt;BR /&gt;#0  0xc49c08c4 in $$dyncall_external_20+0 () from /home/hh/lib/libservMain.16&lt;BR /&gt;#1  0xc4a2b5ac in sm_tmr_process () at smgn_timers.C:387&lt;BR /&gt;#2  0xc4acb3d8 in sm_nm_process_timeouts (seconds_ptr=0x77b67190, micro_seconds_ptr=0x77b67194) at smnm_timeout.C:107&lt;BR /&gt;#3  0xc4a0ef44 in SM_ProcMgmt::msgQueueThread (arg=0x405d7570) at SM_ProcMgmt.C:1639&lt;BR /&gt;#4  0xc005b1c8 in __pthread_body+0x44 () from /lib/libpthread.1&lt;BR /&gt;#5  0xc006549c in __pthread_start+0x14 () from /lib/libpthread.1&lt;BR /&gt;&lt;BR /&gt;The calls #1-#3 are from libservMAIN.16 library. In the stack at position #1 (smgn_timers.C:387) the line below is called:&lt;BR /&gt;if (timeoutList.empty())&lt;BR /&gt;&lt;BR /&gt;Object timeoutList is located in a global scope of libservMain.16 library, but implementation of its class is located in another - libservUtil.16 library.&lt;BR /&gt;&lt;BR /&gt;All libraries are linked dynamically, we don't use dlopen() of shl_*() functions. What can be wrong with application or with libraries? What are the possible causes of fail of $$dyncall_external_20+0 ()?&lt;BR /&gt;&lt;BR /&gt;It happened on HP-UX 11.11 PA-RISC machine</description>
      <pubDate>Mon, 08 Feb 2010 23:04:52 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580301#M679523</guid>
      <dc:creator>H.H.</dc:creator>
      <dc:date>2010-02-08T23:04:52Z</dc:date>
    </item>
    <item>
      <title>Re: coredump in $$dyncall_external_20+0()</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580302#M679524</link>
      <description>&amp;gt;but few days ago it failed &lt;BR /&gt;&lt;BR /&gt;What changed?&lt;BR /&gt;&lt;BR /&gt;What is the value of $r22 in $$dyncall_external_20?  That's your plabel.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;if (timeoutList.empty())&lt;BR /&gt;&lt;BR /&gt;This means your virtual table hasn't been set up?  Or the object timeoutList hasn't been constructed yet.  Where are you creating threads?  After main is called?&lt;BR /&gt;&lt;BR /&gt;&amp;gt;Object timeoutList is located in a global scope of libservMain.16 library, but implementation of its class is located in another libservUtil.16 library.&lt;BR /&gt;&lt;BR /&gt;If you are creating threads during static construction, timeoutList may not be constructed yet?&lt;BR /&gt;&lt;BR /&gt;Or perhaps you overwrite that memory?  A hardware watch point would catch it.</description>
      <pubDate>Tue, 09 Feb 2010 03:01:43 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580302#M679524</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2010-02-09T03:01:43Z</dc:date>
    </item>
    <item>
      <title>Re: coredump in $$dyncall_external_20+0()</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580303#M679525</link>
      <description>&amp;gt;&amp;gt;but few days ago it failed &lt;BR /&gt;&lt;BR /&gt;&amp;gt;What changed? &lt;BR /&gt;&lt;BR /&gt;it seems that nothing has been changed. Also this application is running fine on other customers' installations&lt;BR /&gt;&lt;BR /&gt;&amp;gt; What is the value of $r22 in $$dyncall_external_20? That's your plabel. &lt;BR /&gt;&lt;BR /&gt;how to check it in gdb?&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;if (timeoutList.empty()) &lt;BR /&gt;&lt;BR /&gt;&amp;gt;This means your virtual table hasn't been set up? Or the object timeoutList hasn't been constructed yet. Where are you creating threads? After main is called? &lt;BR /&gt;&lt;BR /&gt;yes, the threads are created after calling main(). So, the timeoutList object should be already created.&lt;BR /&gt;&lt;BR /&gt;But there is another interesting thing in the core file. I see that another (1st) thread interrupted initializing some shared librariy (__shlInit) and called termination of that shared library (__shlTerm). Here is an information about the 1st thread:&lt;BR /&gt;&lt;BR /&gt;(gdb) info threads&lt;BR /&gt;*   5 system thread 166153   0xc49c08c4 in $$dyncall_external_20+0 () from /home/hh/lib/libservMain.16&lt;BR /&gt;    4 system thread 166154   0xc0210940 in __sigwait_sys+0x10 () from /lib/libc.2&lt;BR /&gt;    3 system thread 166147   0xc0210940 in __sigwait_sys+0x10 () from /lib/libc.2&lt;BR /&gt;    2 system thread 166100   0xc0210940 in __sigwait_sys+0x10 () from /lib/libc.2&lt;BR /&gt;    1 system thread 165829   0xc4598ca8 in SM_nmDebug::blockExit (this=0x77bc97a0) at smnm_debug.C:1521&lt;BR /&gt;(gdb) thread 1&lt;BR /&gt;[Switching to thread 1 (system thread 165829)]&lt;BR /&gt;#0  0xc4598ca8 in SM_nmDebug::blockExit (this=0x77bc97a0) at smnm_debug.C:1521&lt;BR /&gt;1521    smnm_debug.C: No such file or directory.&lt;BR /&gt;        in smnm_debug.C&lt;BR /&gt;(gdb) where&lt;BR /&gt;#0  0xc4598ca8 in SM_nmDebug::blockExit (this=0x77bc97a0) at smnm_debug.C:1521&lt;BR /&gt;#1  0xc458f5d0 in SM_nmDebug::~SM_nmDebug (this=0x77bc97a0, #free=2) at smnm_debug.C:490&lt;BR /&gt;#2  0xc35f6160 in __shlTerm+0x29c () from /lib/libCsup_v2.2&lt;BR /&gt;#3  0xc35f6238 in __shlInit+0x44 () from /lib/libCsup_v2.2&lt;BR /&gt;#4  0xc49c0918 in _shlInit+0x20 () from /home/hh/lib/libservMain.16&lt;BR /&gt;#5  0xc35f5ba8 in __shlinit+0xac () from /lib/libCsup_v2.2&lt;BR /&gt;#6  0xc35f5eac in __callInitFuncFromHandle+0xf0 () from /lib/libCsup_v2.2&lt;BR /&gt;#7  0xc35f7fac in _niam_body+0xc0 () from /lib/libCsup_v2.2&lt;BR /&gt;#8  0xc35f8080 in _niam+0x1c () from /lib/libCsup_v2.2&lt;BR /&gt;&lt;BR /&gt;Could you please comment this stack trace? Does it contain anything suspect?&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;Object timeoutList is located in a global scope of libservMain.16 library, but implementation of its class is located in another libservUtil.16 library. &lt;BR /&gt;&lt;BR /&gt;&amp;gt;If you are creating threads during static construction, timeoutList may not be constructed yet? &lt;BR /&gt;&lt;BR /&gt;Threads should be created after starting main().&lt;BR /&gt;&lt;BR /&gt;&amp;gt;Or perhaps you overwrite that memory? A hardware watch point would catch it.&lt;BR /&gt;&lt;BR /&gt;Unfortunately it happened on product environment and it will be impossible to debug the application there.</description>
      <pubDate>Tue, 09 Feb 2010 12:51:41 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580303#M679525</guid>
      <dc:creator>H.H.</dc:creator>
      <dc:date>2010-02-09T12:51:41Z</dc:date>
    </item>
    <item>
      <title>Re: coredump in $$dyncall_external_20+0()</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580304#M679526</link>
      <description>&amp;gt;&amp;gt; What is the value of $r22 in $$dyncall_external_20?&lt;BR /&gt;&lt;BR /&gt;&amp;gt;how to check it in gdb?&lt;BR /&gt;&lt;BR /&gt;p /x $r22&lt;BR /&gt;&lt;BR /&gt;&amp;gt;the timeoutList object should be already created.&lt;BR /&gt;&amp;gt;called termination of that shared library (__shlTerm). &lt;BR /&gt;&amp;gt;#8 0xc35f8080 in _niam+0x1c /lib/libCsup_v2.2&lt;BR /&gt;&lt;BR /&gt;Except this is during termination.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;Could you please comment this stack trace? Does it contain anything suspect?&lt;BR /&gt;&lt;BR /&gt;Everything seems normal, you are exiting.  But nobody told thread #5 that it should stop/wait or be killed by the main thread.&lt;BR /&gt;&lt;BR /&gt;You will need to see what #5 is doing and seem if it is reasonable when the main thread is exiting.</description>
      <pubDate>Tue, 09 Feb 2010 22:49:01 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580304#M679526</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2010-02-09T22:49:01Z</dc:date>
    </item>
    <item>
      <title>Re: coredump in $$dyncall_external_20+0()</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580305#M679527</link>
      <description>&amp;gt; p /x $r22&lt;BR /&gt;&lt;BR /&gt;I've checked the value you requested:&lt;BR /&gt;&lt;BR /&gt;(gdb) p /x $r22&lt;BR /&gt;$1 = 0x0</description>
      <pubDate>Thu, 25 Feb 2010 15:33:42 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580305#M679527</guid>
      <dc:creator>H.H.</dc:creator>
      <dc:date>2010-02-25T15:33:42Z</dc:date>
    </item>
    <item>
      <title>Re: coredump in $$dyncall_external_20+0()</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580306#M679528</link>
      <description>&amp;gt;(gdb) p /x $r22 -&amp;gt; $1 = 0x0&lt;BR /&gt;&lt;BR /&gt;This shows you have an uninitialized plabel and if it was initialized, you need to synchronize your process shutdown.</description>
      <pubDate>Thu, 25 Feb 2010 16:58:59 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580306#M679528</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2010-02-25T16:58:59Z</dc:date>
    </item>
    <item>
      <title>Re: coredump in $$dyncall_external_20+0()</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580307#M679529</link>
      <description>&amp;gt; This shows you have an uninitialized plabel and if it was initialized, you need to synchronize your process shutdown.&lt;BR /&gt;&lt;BR /&gt;could you please give me a tip what plabel is? I'm not so common with low-level development.</description>
      <pubDate>Fri, 26 Feb 2010 01:44:54 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580307#M679529</guid>
      <dc:creator>H.H.</dc:creator>
      <dc:date>2010-02-26T01:44:54Z</dc:date>
    </item>
    <item>
      <title>Re: coredump in $$dyncall_external_20+0()</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580308#M679530</link>
      <description>&amp;gt;could you please give me a tip what plabel is?&lt;BR /&gt;&lt;BR /&gt;A pointer to a function.  It could also be from the virtual table.  Or the virtual table pointer in a already destructed object, is bad.&lt;BR /&gt;&lt;BR /&gt;You are terminating and you have another thread that is still trying to use something that has already been destroyed.&lt;BR /&gt;&lt;BR /&gt;I.e. you need to look at stack traces from each thread and see if it is reasonable for that state to be valid.</description>
      <pubDate>Fri, 26 Feb 2010 04:45:14 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580308#M679530</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2010-02-26T04:45:14Z</dc:date>
    </item>
    <item>
      <title>Re: coredump in $$dyncall_external_20+0()</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580309#M679531</link>
      <description>thank you for the explanation. AS far as I understand, at the line smgn_timers.C:387 I call a code from the library which is already unloaded from the process by another (main) thread. I'll check my threads interaction scheme.</description>
      <pubDate>Fri, 26 Feb 2010 09:29:08 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580309#M679531</guid>
      <dc:creator>H.H.</dc:creator>
      <dc:date>2010-02-26T09:29:08Z</dc:date>
    </item>
    <item>
      <title>Re: coredump in $$dyncall_external_20+0()</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580310#M679532</link>
      <description>&amp;gt;is already unloaded from the process&lt;BR /&gt;&lt;BR /&gt;That or an object that has be destructed.</description>
      <pubDate>Fri, 26 Feb 2010 20:33:56 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/coredump-in-dyncall-external-20-0/m-p/4580310#M679532</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2010-02-26T20:33:56Z</dc:date>
    </item>
  </channel>
</rss>

