On Wed, 10 Jan 2024 11:49:05 GMT, Joachim Kern wrote:
>> On AIX, repeated calls to dlopen referring to the same shared library may
>> result in different, unique dl handles to be returned from libc. In that it
>> differs from typical libc implementations that cache dl handles.
>>
>> This cause
> On AIX, repeated calls to dlopen referring to the same shared library may
> result in different, unique dl handles to be returned from libc. In that it
> differs from typical libc implementations that cache dl handles.
>
> This causes problems in the JVM with code that assumes equality of hand
On Fri, 22 Dec 2023 15:57:05 GMT, Joachim Kern wrote:
>> On AIX, repeated calls to dlopen referring to the same shared library may
>> result in different, unique dl handles to be returned from libc. In that it
>> differs from typical libc implementations that cache dl handles.
>>
>> This cause
> On AIX, repeated calls to dlopen referring to the same shared library may
> result in different, unique dl handles to be returned from libc. In that it
> differs from typical libc implementations that cache dl handles.
>
> This causes problems in the JVM with code that assumes equality of hand
On Fri, 22 Dec 2023 14:50:16 GMT, Joachim Kern wrote:
>> On AIX, repeated calls to dlopen referring to the same shared library may
>> result in different, unique dl handles to be returned from libc. In that it
>> differs from typical libc implementations that cache dl handles.
>>
>> This cause
> On AIX, repeated calls to dlopen referring to the same shared library may
> result in different, unique dl handles to be returned from libc. In that it
> differs from typical libc implementations that cache dl handles.
>
> This causes problems in the JVM with code that assumes equality of hand
On Thu, 21 Dec 2023 11:54:17 GMT, Martin Doerr wrote:
>> Dynamic allocation also opens us up to potential initialization issues,
>> unless we explicitly use raw ::malloc. It should work, but I think its
>> better avoided unless we really need it.
>
> Well we're fixing an academic issue by intro
On Thu, 21 Dec 2023 11:45:36 GMT, Thomas Stuefe wrote:
>> In principle you are right, but in my opinion 1024 is an academical limit. I
>> never saw processes with more than a few dozen loaded libraries.
>
> Dynamic allocation also opens us up to potential initialization issues,
> unless we expl
On Thu, 21 Dec 2023 11:23:46 GMT, Joachim Kern wrote:
>> I don't like introducing unnecessary limitations. Are we sure nobody will
>> ever need more than 1024 handles?
>> Can't we at least use a GrowableArray or something like that?
>
> In principle you are right, but in my opinion 1024 is an ac
On Thu, 21 Dec 2023 10:17:18 GMT, Martin Doerr wrote:
>> Let's keep it simple. A linear array of only a few items is easily scanned,
>> probably faster than pointer hopping hash table entries. Not that it matters
>> in any way for the few calls to dlopen.
>>
>> Also, avoiding hotspot structure
On Thu, 21 Dec 2023 09:57:08 GMT, Thomas Stuefe wrote:
>> There will be only few libraries in the list. With this assumption Thomas
>> suggested to use just a simple array.
>
> Let's keep it simple. A linear array of only a few items is easily scanned,
> probably faster than pointer hopping has
On Thu, 21 Dec 2023 09:37:57 GMT, Joachim Kern wrote:
>> src/hotspot/os/aix/porting_aix.cpp line 916:
>>
>>> 914: constexpr int max_handletable = 1024;
>>> 915: static int g_handletable_used = 0;
>>> 916: static struct handletableentry g_handletable[max_handletable] = {{0,
>>> 0, 0, 0}};
>>
>>
> On AIX, repeated calls to dlopen referring to the same shared library may
> result in different, unique dl handles to be returned from libc. In that it
> differs from typical libc implementations that cache dl handles.
>
> This causes problems in the JVM with code that assumes equality of hand
On Wed, 20 Dec 2023 23:45:16 GMT, Martin Doerr wrote:
>> Joachim Kern has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> improve error handling
>
> src/hotspot/os/aix/porting_aix.cpp line 916:
>
>> 914: constexpr int max_handletable = 1024
On Wed, 20 Dec 2023 23:10:29 GMT, Martin Doerr wrote:
>> Joachim Kern has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> improve error handling
>
> src/hotspot/os/aix/porting_aix.cpp line 25:
>
>> 23: */
>> 24: // needs to be defined firs
On Wed, 20 Dec 2023 14:53:06 GMT, Joachim Kern wrote:
>> On AIX, repeated calls to dlopen referring to the same shared library may
>> result in different, unique dl handles to be returned from libc. In that it
>> differs from typical libc implementations that cache dl handles.
>>
>> This cause
On Wed, 20 Dec 2023 14:53:06 GMT, Joachim Kern wrote:
>> On AIX, repeated calls to dlopen referring to the same shared library may
>> result in different, unique dl handles to be returned from libc. In that it
>> differs from typical libc implementations that cache dl handles.
>>
>> This cause
> On AIX, repeated calls to dlopen referring to the same shared library may
> result in different, unique dl handles to be returned from libc. In that it
> differs from typical libc implementations that cache dl handles.
>
> This causes problems in the JVM with code that assumes equality of hand
On Tue, 19 Dec 2023 12:52:23 GMT, Thomas Stuefe wrote:
>> Hi @JoKern65 Is this good to integrate now ?
>
> @suchismith1993
>
>> Once this code goes in I can push in my changes. We are targeting the fix
>> for January.
>
> If you talk about https://github.com/openjdk/jdk/pull/16604, no, you c
On Tue, 19 Dec 2023 12:37:33 GMT, Suchismith Roy wrote:
>> The libpath parsing code is from me, so no license problems.
>
> Hi @JoKern65 Is this good to integrate now ?
> @suchismith1993
>
> > Once this code goes in I can push in my changes. We are targeting the fix
> > for January.
>
> If y
On Tue, 19 Dec 2023 12:37:33 GMT, Suchismith Roy wrote:
>> The libpath parsing code is from me, so no license problems.
>
> Hi @JoKern65 Is this good to integrate now ?
@suchismith1993
> Once this code goes in I can push in my changes. We are targeting the fix for
> January.
If you talk abo
On Mon, 18 Dec 2023 13:33:46 GMT, Thomas Stuefe wrote:
>> Joachim Kern has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Followed Thomas proposals
>
> Well done.
>
> Releasing the mutex before asserting is not necessary; we don't pull the
On Tue, 19 Dec 2023 12:37:33 GMT, Suchismith Roy wrote:
>> The libpath parsing code is from me, so no license problems.
>
> Hi @JoKern65 Is this good to integrate now ?
Hi @suchismith1993, I'm waiting for a second review. Complex hotspot changes
should be reviewed twice.
-
PR Com
On Fri, 15 Dec 2023 11:51:43 GMT, Joachim Kern wrote:
>> Joachim Kern has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> followed the proposals
>
> The libpath parsing code is from me, so no license problems.
Hi @JoKern65 Is this good to
On Mon, 18 Dec 2023 11:12:23 GMT, Joachim Kern wrote:
>> src/hotspot/os/aix/porting_aix.cpp line 1097:
>>
>>> 1095: }
>>> 1096:
>>> 1097: pthread_mutex_lock(&g_handletable_mutex);
>>
>> You can make your life a lot easier by defining an RAII object at the start
>> of the file:
>>
>> stru
On Mon, 18 Dec 2023 10:25:57 GMT, Thomas Stuefe wrote:
>> Joachim Kern has updated the pull request incrementally with two additional
>> commits since the last revision:
>>
>> - trailing whitespace
>> - Following most of Thomas proposals
>
> src/hotspot/os/aix/os_aix.cpp line 1113:
>
>>
On Mon, 18 Dec 2023 10:35:48 GMT, Joachim Kern wrote:
>> src/hotspot/os/aix/porting_aix.cpp line 990:
>>
>>> 988: if (env == nullptr) {
>>> 989: // no LIBPATH, try with LD_LIBRARY_PATH
>>> 990: env = getenv("LD_LIBRARY_PATH");
>>
>> Is LD_LIBRARY_PATH a thing on AIX? I thought it is o
On Mon, 18 Dec 2023 10:19:24 GMT, Thomas Stuefe wrote:
>> Joachim Kern has updated the pull request incrementally with two additional
>> commits since the last revision:
>>
>> - trailing whitespace
>> - Following most of Thomas proposals
>
> src/hotspot/os/aix/porting_aix.cpp line 1101:
>
>>
On Mon, 18 Dec 2023 10:25:50 GMT, Thomas Stuefe wrote:
>> Joachim Kern has updated the pull request incrementally with two additional
>> commits since the last revision:
>>
>> - trailing whitespace
>> - Following most of Thomas proposals
>
> src/hotspot/os/aix/os_aix.cpp line 30:
>
>> 28: #p
On Mon, 18 Dec 2023 10:16:07 GMT, Thomas Stuefe wrote:
>> Joachim Kern has updated the pull request incrementally with two additional
>> commits since the last revision:
>>
>> - trailing whitespace
>> - Following most of Thomas proposals
>
> src/hotspot/os/aix/porting_aix.cpp line 1005:
>
>>
On Mon, 18 Dec 2023 11:30:59 GMT, Joachim Kern wrote:
>> On AIX, repeated calls to dlopen referring to the same shared library may
>> result in different, unique dl handles to be returned from libc. In that it
>> differs from typical libc implementations that cache dl handles.
>>
>> This cause
On Mon, 18 Dec 2023 10:54:31 GMT, Thomas Stuefe wrote:
>> Yes it is, It's the fallback if LIBPATH is not defined
>
> In that case there may be errors in other places, since so far we assumed its
> either one or the other, but not both. Example:
>
> https://github.com/openjdk/jdk/blob/a247d0c74b
> On AIX, repeated calls to dlopen referring to the same shared library may
> result in different, unique dl handles to be returned from libc. In that it
> differs from typical libc implementations that cache dl handles.
>
> This causes problems in the JVM with code that assumes equality of hand
> On AIX, repeated calls to dlopen referring to the same shared library may
> result in different, unique dl handles to be returned from libc. In that it
> differs from typical libc implementations that cache dl handles.
>
> This causes problems in the JVM with code that assumes equality of hand
On Mon, 18 Dec 2023 11:30:59 GMT, Joachim Kern wrote:
>> On AIX, repeated calls to dlopen referring to the same shared library may
>> result in different, unique dl handles to be returned from libc. In that it
>> differs from typical libc implementations that cache dl handles.
>>
>> This cause
On Mon, 18 Dec 2023 10:14:42 GMT, Thomas Stuefe wrote:
>> Joachim Kern has updated the pull request incrementally with two additional
>> commits since the last revision:
>>
>> - trailing whitespace
>> - Following most of Thomas proposals
>
> src/hotspot/os/aix/porting_aix.cpp line 990:
>
>>
On Mon, 18 Dec 2023 10:06:34 GMT, Thomas Stuefe wrote:
>> Joachim Kern has updated the pull request incrementally with two additional
>> commits since the last revision:
>>
>> - trailing whitespace
>> - Following most of Thomas proposals
>
> src/hotspot/os/aix/porting_aix.cpp line 934:
>
>>
On Fri, 15 Dec 2023 11:57:51 GMT, Joachim Kern wrote:
>> On AIX, repeated calls to dlopen referring to the same shared library may
>> result in different, unique dl handles to be returned from libc. In that it
>> differs from typical libc implementations that cache dl handles.
>>
>> This cause
On Tue, 12 Dec 2023 14:05:48 GMT, Joachim Kern wrote:
>> On AIX, repeated calls to dlopen referring to the same shared library may
>> result in different, unique dl handles to be returned from libc. In that it
>> differs from typical libc implementations that cache dl handles.
>>
>> This cause
> On AIX, repeated calls to dlopen referring to the same shared library may
> result in different, unique dl handles to be returned from libc. In that it
> differs from typical libc implementations that cache dl handles.
>
> This causes problems in the JVM with code that assumes equality of hand
On Fri, 15 Dec 2023 07:27:14 GMT, Thomas Stuefe wrote:
>> Joachim Kern has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> followed the proposals
>
> src/hotspot/os/aix/os_aix.cpp line 1234:
>
>> 1232:
>> 1233: stringStream Libpath;
>> 1
On Fri, 15 Dec 2023 07:20:47 GMT, Thomas Stuefe wrote:
>> Joachim Kern has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> followed the proposals
>
> src/hotspot/os/aix/os_aix.cpp line 1187:
>
>> 1185: fread(buffer, 1, LDHDRSZ_64, f);
>
On Fri, 15 Dec 2023 07:01:06 GMT, Thomas Stuefe wrote:
>> Joachim Kern has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> followed the proposals
>
> src/hotspot/os/aix/os_aix.cpp line 1174:
>
>> 1172: struct _S_(ldhdr) ldr64;
>> 1173:
On Fri, 15 Dec 2023 06:15:56 GMT, Thomas Stuefe wrote:
>> Joachim Kern has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> followed the proposals
>
> src/hotspot/os/aix/os_aix.cpp line 1135:
>
>> 1133:
>> 1134: if (libpath)
>> 1135:
On Fri, 15 Dec 2023 10:18:53 GMT, Joachim Kern wrote:
>> src/hotspot/os/aix/os_aix.cpp line 206:
>>
>>> 204: constexpr int max_handletable = 1024;
>>> 205: static int g_handletable_used = 0;
>>> 206: static struct handletableentry g_handletable[max_handletable] = {{0,
>>> 0, 0, 0}};
>>
>> I wo
On Fri, 15 Dec 2023 09:57:19 GMT, Joachim Kern wrote:
> If we omit the xcoff32 we have to ensure that no xcoff32 executable file
> comes into play.
xcoff32 is for 32-bit binaries. The AIX port only exists for 64-bit, and there
will never be a 32-bit AIX port, so there is no reason for handlin
On Fri, 15 Dec 2023 06:15:15 GMT, Thomas Stuefe wrote:
>> Joachim Kern has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> followed the proposals
>
> src/hotspot/os/aix/os_aix.cpp line 206:
>
>> 204: constexpr int max_handletable = 1024;
>>
On Fri, 15 Dec 2023 06:44:03 GMT, Thomas Stuefe wrote:
>> src/hotspot/os/aix/os_aix.cpp line 1129:
>>
>>> 1127:
>>> 1128: // get the library search path burned in to the executable file
>>> during linking
>>> 1129: // If the libpath cannot be retrieved return an empty path
>>
>> This is new.
On Fri, 15 Dec 2023 06:22:39 GMT, Thomas Stuefe wrote:
>> Joachim Kern has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> followed the proposals
>
> src/hotspot/os/aix/os_aix.cpp line 1129:
>
>> 1127:
>> 1128: // get the library search pa
On Tue, 12 Dec 2023 14:05:48 GMT, Joachim Kern wrote:
>> On AIX, repeated calls to dlopen referring to the same shared library may
>> result in different, unique dl handles to be returned from libc. In that it
>> differs from typical libc implementations that cache dl handles.
>>
>> This cause
On Tue, 5 Dec 2023 13:48:11 GMT, Thomas Stuefe wrote:
>> Joachim Kern has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> encapsulate everything in os::Aix::dlopen
>
> Excellent, this is how I have pictured a good solution. Very nice.
>
> A
> On AIX, repeated calls to dlopen referring to the same shared library may
> result in different, unique dl handles to be returned from libc. In that it
> differs from typical libc implementations that cache dl handles.
>
> This causes problems in the JVM with code that assumes equality of hand
On Tue, 5 Dec 2023 13:21:35 GMT, Thomas Stuefe wrote:
>> Joachim Kern has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> encapsulate everything in os::Aix::dlopen
>
> src/hotspot/os/aix/os_aix.cpp line 3133:
>
>> 3131: return nullp
On Mon, 4 Dec 2023 12:33:26 GMT, Joachim Kern wrote:
>> On AIX, repeated calls to dlopen referring to the same shared library may
>> result in different, unique dl handles to be returned from libc. In that it
>> differs from typical libc implementations that cache dl handles.
>>
>> This causes
On Tue, 5 Dec 2023 12:11:46 GMT, Joachim Kern wrote:
>> On AIX, repeated calls to dlopen referring to the same shared library may
>> result in different, unique dl handles to be returned from libc. In that it
>> differs from typical libc implementations that cache dl handles.
>>
>> This causes
> On AIX, repeated calls to dlopen referring to the same shared library may
> result in different, unique dl handles to be returned from libc. In that it
> differs from typical libc implementations that cache dl handles.
>
> This causes problems in the JVM with code that assumes equality of hand
> On AIX, repeated calls to dlopen referring to the same shared library may
> result in different, unique dl handles to be returned from libc. In that it
> differs from typical libc implementations that cache dl handles.
>
> This causes problems in the JVM with code that assumes equality of hand
On AIX, repeated calls to dlopen referring to the same shared library may
result in different, unique dl handles to be returned from libc. In that it
differs from typical libc implementations that cache dl handles.
This causes problems in the JVM with code that assumes equality of handles. One
58 matches
Mail list logo