Skip to content

Update to track changes in Standard#3635

Merged
rhc54 merged 2 commits intoopenpmix:masterfrom
rhc54:topic/std
Jun 25, 2025
Merged

Update to track changes in Standard#3635
rhc54 merged 2 commits intoopenpmix:masterfrom
rhc54:topic/std

Conversation

@rhc54
Copy link
Contributor

@rhc54 rhc54 commented Jun 25, 2025

Fix a few typos, but mostly complete the change from macros to functions, as per latest changes to Standard

Fix a few typos, but mostly complete the change from
macros to functions, as per latest changes to Standard

Signed-off-by: Ralph Castain <rhc@pmix.org>
@rhc54
Copy link
Contributor Author

rhc54 commented Jun 25, 2025

@naughtont3 Could you please take a quick look at this? I'm getting flooded with strange Cython errors:

pmix.pyx:3072:37: Converting to Python object not allowed without gil

Error compiling Cython file:
------------------------------------------------------------
...

        # Call the library
        with nogil:
             pmix_rc = PMIx_IOF_pull(procs, nprocs, directives, ndirs, channel,
                                     pyiofhandler,
                                     NULL, NULL)
                                           ^
------------------------------------------------------------
...
pmix.pyx:3070:36: Constructing Python tuple not allowed without gil
Error compiling Cython file:
------------------------------------------------------------
...
        directives_ptr = &directives
        rc = pmix_alloc_info(directives_ptr, &ndirs, pydirs)

        # Call the library
        with nogil:
             pmix_rc = PMIx_IOF_pull(procs, nprocs, directives, ndirs, channel,
                                     ^
------------------------------------------------------------

Objecting to every call down into the library because of "...without gil". Any idea what is going on?

@naughtont3
Copy link
Contributor

Objecting to every call down into the library because of "...without gil". Any idea what is going on?

Looks like the thread shifting into/out Python interpreter context needs the "Global Interpreter Lock" (GIL). I can poke at it a bit.

const char *key,
const void *data,
pmix_data_type_t type);
PMIX_EXPORT void PMIx_Pdata_xfer(pmix_pdata_t *dest,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rhc54 - looks like a bad merge here. I think Cython issues are red herring as they occur for the PMIx_App_construct below?

const char *key,
const void *data,
pmix_data_type_t type);
PMIX_EXPORT void PMIx_Pdata_xfer(pmix_pdata_t *dest,
Copy link
Contributor

@naughtont3 naughtont3 Jun 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
PMIX_EXPORT void PMIx_Pdata_xfer(pmix_pdata_t *dest,
PMIX_EXPORT void PMIx_Pdata_xfer(pmix_pdata_t *dest,
pmix_pdata_t *src);

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmmm....thanks for spotting that! I think what I'm going to do is merge the deprecated file contents back into the primary files. Having two copies of these function declarations appears to be a recipe for problems. Because the bindings "harvest" these files, the duplicate entries are getting into the .pxi/.pxd files, and that is where the problem was hit - and why it builds everywhere else.

So I'll do that for this PR to fix the overall situation. Thanks again for chasing it down!

Signed-off-by: Ralph Castain <rhc@pmix.org>
@rhc54 rhc54 merged commit 66743da into openpmix:master Jun 25, 2025
25 checks passed
@rhc54 rhc54 deleted the topic/std branch June 25, 2025 19:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants