<?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: dlopen(0,0) loops in Operating System - HP-UX</title>
    <link>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117107#M717686</link>
    <description>You could skip dlopen and use&lt;BR /&gt;dlsym(RTLD_DEFAULT,name);&lt;BR /&gt;&lt;BR /&gt;That picks up shared library symbols.&lt;BR /&gt;&lt;BR /&gt;Or you could try calling dlopen with "libjmv.sl".  It should be good natured about returning a handle for an already loaded shared library.</description>
    <pubDate>Thu, 13 Nov 2003 16:05:03 GMT</pubDate>
    <dc:creator>Mike Stroyan</dc:creator>
    <dc:date>2003-11-13T16:05:03Z</dc:date>
    <item>
      <title>dlopen(0,0) loops</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117104#M717683</link>
      <description>I am trying to pre-load the 1.4.1 java virtual machine using LD_PRELOAD_ONCE=libjvm.sl. This seems to work, however, in order to access the symbols we need a handle returned from dlopen(). The man page on dlopen indicates that the symbols of pre-loaded libraries are loaded into the global symbol space and that passing 0 for the file name parameter of dlopen will return a handle to the global symbol space. Unfortunately, this causes dlopen to loop.</description>
      <pubDate>Wed, 12 Nov 2003 10:01:42 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117104#M717683</guid>
      <dc:creator>Paul Goslin Rae McCarth</dc:creator>
      <dc:date>2003-11-12T10:01:42Z</dc:date>
    </item>
    <item>
      <title>Re: dlopen(0,0) loops</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117105#M717684</link>
      <description>Have you tried invoking dlopen with the mode set to RTLD_NOW?&lt;BR /&gt;&lt;BR /&gt;mark</description>
      <pubDate>Wed, 12 Nov 2003 10:52:43 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117105#M717684</guid>
      <dc:creator>Mark Greene_1</dc:creator>
      <dc:date>2003-11-12T10:52:43Z</dc:date>
    </item>
    <item>
      <title>Re: dlopen(0,0) loops</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117106#M717685</link>
      <description>I just tried it and it loops too.</description>
      <pubDate>Wed, 12 Nov 2003 11:40:00 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117106#M717685</guid>
      <dc:creator>Paul Goslin Rae McCarth</dc:creator>
      <dc:date>2003-11-12T11:40:00Z</dc:date>
    </item>
    <item>
      <title>Re: dlopen(0,0) loops</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117107#M717686</link>
      <description>You could skip dlopen and use&lt;BR /&gt;dlsym(RTLD_DEFAULT,name);&lt;BR /&gt;&lt;BR /&gt;That picks up shared library symbols.&lt;BR /&gt;&lt;BR /&gt;Or you could try calling dlopen with "libjmv.sl".  It should be good natured about returning a handle for an already loaded shared library.</description>
      <pubDate>Thu, 13 Nov 2003 16:05:03 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117107#M717686</guid>
      <dc:creator>Mike Stroyan</dc:creator>
      <dc:date>2003-11-13T16:05:03Z</dc:date>
    </item>
    <item>
      <title>Re: dlopen(0,0) loops</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117108#M717687</link>
      <description>OK, I tried calling dlopen with libjvm.sl again and verified that it returns a file handle of 0, which causes dlsym(handle, ...) to return NULL. &lt;BR /&gt;&lt;BR /&gt;I also tried skipping the dlopen and using RTLD_DEFAULT as the handle parameter in dlsym. This returned NULL for the symbol address also. &lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 13 Nov 2003 16:57:54 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117108#M717687</guid>
      <dc:creator>Paul Goslin Rae McCarth</dc:creator>
      <dc:date>2003-11-13T16:57:54Z</dc:date>
    </item>
    <item>
      <title>Re: dlopen(0,0) loops</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117109#M717688</link>
      <description>Well...&lt;BR /&gt;  It is time to verify that you have the latest&lt;BR /&gt;"ld(1) and linker tools cumulative patch".  That patch includes the dld.sl shared library that implements dlopen and dlsym.  The most recent patches are-&lt;BR /&gt;11.00 PHSS_28869&lt;BR /&gt;11.11 PHSS_28871&lt;BR /&gt;</description>
      <pubDate>Fri, 14 Nov 2003 19:21:19 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117109#M717688</guid>
      <dc:creator>Mike Stroyan</dc:creator>
      <dc:date>2003-11-14T19:21:19Z</dc:date>
    </item>
    <item>
      <title>Re: dlopen(0,0) loops</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117110#M717689</link>
      <description>Yes, PHSS_28869 is applied.</description>
      <pubDate>Mon, 17 Nov 2003 10:06:31 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117110#M717689</guid>
      <dc:creator>Paul Goslin Rae McCarth</dc:creator>
      <dc:date>2003-11-17T10:06:31Z</dc:date>
    </item>
    <item>
      <title>Re: dlopen(0,0) loops</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117111#M717690</link>
      <description>hi,&lt;BR /&gt;&lt;BR /&gt;im in the PA linker/loader team. i didnt see this problem with a simple test case attached. let me know if it passes in your enviroment.&lt;BR /&gt;&lt;BR /&gt;the 64-bit version ran into a problem that the jvm dumped core while trying to parse the arguments to JNI_CreateJavaVM. i'll talk to the jvm folks about this.&lt;BR /&gt;&lt;BR /&gt;ranga&lt;BR /&gt;</description>
      <pubDate>Tue, 18 Nov 2003 08:38:55 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117111#M717690</guid>
      <dc:creator>ranganath ramachandra</dc:creator>
      <dc:date>2003-11-18T08:38:55Z</dc:date>
    </item>
    <item>
      <title>Re: dlopen(0,0) loops</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117112#M717691</link>
      <description>Well... The test program works fine. I can duplicate the hang problem by linking certain shared libraries with the test program, even though the test program doesn't call into the library. Not all libraries cause the problem. I am currently trying to figure out what is unique about the libraries that cause the problem. If you have any ideas please let me know. The libraries are hard to tear apart because they are all inter-connected. I tried a simple hello world program in a library and it worked fine. When I have something new I'll post it. Thanks for your help so far.</description>
      <pubDate>Wed, 19 Nov 2003 11:18:40 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117112#M717691</guid>
      <dc:creator>Paul Goslin Rae McCarth</dc:creator>
      <dc:date>2003-11-19T11:18:40Z</dc:date>
    </item>
    <item>
      <title>Re: dlopen(0,0) loops</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117113#M717692</link>
      <description>I've just discovered the problem. We have a library that contains a module that uses shl_load and contains hand coded dlopen, dlclose and dlsym entry points. dlopen() is coded as follows:&lt;BR /&gt;&lt;BR /&gt;# include &lt;DL.H&gt;&lt;BR /&gt;void *dlopen (const char *filename, int flag) {                     &lt;BR /&gt;     void *handle; &lt;BR /&gt;     handle=shl_load(filename, &lt;BR /&gt;                     BIND_NONFATAL |&lt;BR /&gt;                     BIND_DEFERRED | &lt;BR /&gt;                     DYNAMIC_PATH,&lt;BR /&gt;                     0L);&lt;BR /&gt;     return handle&lt;BR /&gt;} &lt;BR /&gt;&lt;BR /&gt;I will reconfigure the shared library to use dlfcn.h and dlopen() etc.&lt;BR /&gt;&lt;BR /&gt;Thanks for your help.&lt;/DL.H&gt;</description>
      <pubDate>Wed, 19 Nov 2003 16:25:27 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/dlopen-0-0-loops/m-p/3117113#M717692</guid>
      <dc:creator>Paul Goslin Rae McCarth</dc:creator>
      <dc:date>2003-11-19T16:25:27Z</dc:date>
    </item>
  </channel>
</rss>

