flux-framework / flux-core-v0.11

flux-core v0.11 stable branch
Other
2 stars 6 forks source link

backport python3 topic_glob fix from flux-core #31

Open SteVwonder opened 5 years ago

SteVwonder commented 5 years ago

When building versions 0.11.1:0.11.3 with Spack and --test=root (which runs make check), I ran into the same issue as documented in https://github.com/flux-framework/flux-core/issues/1958.

Since we are quite far into our TOSS4 milestones and encouraging our users to use 0.13+, it probably isn't worth it to pre-emptively backport. If this ends up being a problem for our users, we can always backport https://github.com/SteVwonder/flux-core/commit/a948d61d4ca4876de15a2ffcf711c245e8e8156b

SteVwonder commented 5 years ago

For searchability, the stacktrace was:

raceback (most recent call last):                                                                                                                                                                                                                                                        │···········
  File "/tmp/herbein1/spack-stage/spack-stage-flux-core-0.11.1-vgzt6zso7diddyh5b3ilgztnadftns3v/spack-src/src/bindings/python/flux/core/trampoline.py", line 28, in mod_main_trampoline                                                                                                   │···········
    user_mod.mod_main(flux_instance, *args)                                                                                                                                                                                                                                               │···········
  File "/tmp/herbein1/spack-stage/spack-stage-flux-core-0.11.1-vgzt6zso7diddyh5b3ilgztnadftns3v/spack-src/t/../src/modules/pymod/echo.py", line 12, in mod_main                                                                                                                           │···········
    with h.msg_watcher_create(echo_cb, topic_glob="echo.*") as mw:                                                                                                                                                                                                                        │···········
  File "/tmp/herbein1/spack-stage/spack-stage-flux-core-0.11.1-vgzt6zso7diddyh5b3ilgztnadftns3v/spack-src/src/bindings/python/flux/core/handle.py", line 134, in msg_watcher_create                                                                                                       │···········
    return MessageWatcher(self, type_mask, callback, topic_glob, match_tag, args)                                                                                                                                                                                                         │···········
  File "/tmp/herbein1/spack-stage/spack-stage-flux-core-0.11.1-vgzt6zso7diddyh5b3ilgztnadftns3v/spack-src/src/bindings/python/flux/message.py", line 148, in __init__                                                                                                                     │···········
    c_topic_glob = ffi.new("char[]", topic_glob)                                                                                                                                                                                                                                          │···········
TypeError: initializer for ctype 'char[]' must be a bytes or list or tuple, not str                                                                                                                                                                                                       │···········
Exception ignored in: <function Watcher.__del__ at 0x7f5d4007c200>                                                                                                                                                                                                                        │···········
Traceback (most recent call last):                                                                                                                                                                                                                                                        │···········
  File "/tmp/herbein1/spack-stage/spack-stage-flux-core-0.11.1-vgzt6zso7diddyh5b3ilgztnadftns3v/spack-src/src/bindings/python/flux/core/watchers.py", line 34, in __del__                                                                                                                 │···········
AttributeError: 'MessageWatcher' object has no attribute 'handle'                                                                                                                                                                                                                         │···········
lt-flux-broker: /tmp/herbein1/spack-stage/spack-stage-flux-core-0.11.1-vgzt6zso7diddyh5b3ilgztnadftns3v/spack-src/src/connectors/shmem/shmem.c:66: op_send: Assertion `ctx->magic == MODHANDLE_MAGIC' failed.                                                                             │···········
flux-start: 0 (pid 6366) Aborted                                                                                                                                                                                                                                                          │···········
not ok 1 - load pymod with echo.py                                                                                                                                                                                                                                                        │···········
FAIL: t9001-pymod.t 1 - load pymod with echo.py