Skip to content

Errors shown under wrong cell using magics #893

Closed
@piotrszajer

Description

@piotrszajer

Hi, I'm facing an issue where Traceback is shown under first cell, where IPyParallel is defined, not under the actual cell in which error was raised.

Steps to reproduce:

  1. Terminal 1
pip install jupyter ipyparallel
ipcluster nbextension enable
jupyter server extension enable ipyparallel
ipcluster start --n=1
  1. Terminal 2
jupyter notebook
  1. Create new notebook
  2. Cell 1: import this -> works fine
  3. Cell 2:
import ipyparallel as ipp
rc = ipp.Client()
dview = rc[:]

-> works fine
6. Cell 3:

%%px
import os
print(f"Hello from engine {os.getpid()}")

-> works fine
7. Cell 4:

1/0

-> Traceback is printed under cell 2

What's more, further execution of cell 4 results in adding Traceback under cell 2, when cell 2 is re-run then Traceback stopped to show.

Screenshot from 2024-09-10 21-17-48
Screenshot from 2024-09-10 21-18-00
Screenshot from 2024-09-10 21-18-11

BugReproduce.zip

Additional: %pxresult shows Traceback in cell were it was executed

Any idea how to overcome it?

Activity

changed the title [-]Errors shown under wrong cell using magics[/-] [+][BUG] Errors shown under wrong cell using magics[/+] on Sep 12, 2024
changed the title [-][BUG] Errors shown under wrong cell using magics[/-] [+]Errors shown under wrong cell using magics[/+] on Sep 12, 2024
minrk

minrk commented on Oct 30, 2024

@minrk
Member

Thanks for reporting! This is fixed by #905

If you need a workaround today, you can do the same thing with some private API calls:

import sys
from threading import current_thread


def _detach_thread_output(rc):
    thread_ident = current_thread().ident
    for stream in [sys.stdout, sys.stderr]:
        for name in ("_thread_to_parent", "_thread_to_parent_header"):
            mapping = getattr(stream, name, None)
            if mapping:
                mapping.pop(thread_ident, None)

rc._io_loop.add_callback(_detach_thread_output, rc)
piotrszajer

piotrszajer commented on Nov 4, 2024

@piotrszajer
Author

@minrk Thank you very much :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @minrk@piotrszajer

      Issue actions

        Errors shown under wrong cell using magics · Issue #893 · ipython/ipyparallel