# Nninteractive (slicer client) is stuck

**URL:** <https://discourse.slicer.org/t/nninteractive-slicer-client-is-stuck/47550>\
**Category:** Support\
**Created:** [July 6, 2026, 2:11pm UTC](https://discourse.slicer.org/t/nninteractive-slicer-client-is-stuck/47550 "2026-07-06T14:11:50Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [July 6, 2026, 2:11pm UTC](https://discourse.slicer.org/t/nninteractive-slicer-client-is-stuck/47550/1 "2026-07-06T14:11:50Z")

</div>

It doesn’t pass this stage during the module initialization. This is on ubuntu 24.04

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/0/e/0e4efe878577b8e294e58879f2982f8a55592cb6.jpeg)

Switch to module: “SlicerNNInteractive”  
QObject::setParent: Cannot set parent, new parent is in a different thread  
QObject::setParent: Cannot set parent, new parent is in a different thread  
QObject::setParent: Cannot set parent, new parent is in a different thread  
QObject::setParent: Cannot set parent, new parent is in a different thread  
QObject::setParent: Cannot set parent, new parent is in a different thread  
QObject::setParent: Cannot set parent, new parent is in a different thread  
QObject::setParent: Cannot set parent, new parent is in a different thread  
QObject: Cannot create children for a parent that is in a different thread.  
(Parent is qSlicerModuleManager(0x3d3c9760), parent’s thread is QThread(0x3b1f83f0), current thread is QThread(0x40e44840)  
QObject::startTimer: Timers can only be used with threads started with QThread  
QObject::setParent: Cannot set parent, new parent is in a different thread  
QObject::setParent: Cannot set parent, new parent is in a different thread  
QObject::setParent: Cannot set parent, new parent is in a different thread  
QObject::setParent: Cannot set parent, new parent is in a different thread

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [July 6, 2026, 2:17pm UTC](https://discourse.slicer.org/t/nninteractive-slicer-client-is-stuck/47550/2 "2026-07-06T14:17:35Z")

</div>

Seems to happen on windows too.

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [July 6, 2026, 5:47pm UTC](https://discourse.slicer.org/t/nninteractive-slicer-client-is-stuck/47550/3 "2026-07-06T17:47:09Z")

</div>

Thanks for reporting @muratmaga. Yes, I noticed this too and it’s been investigated. Probably there will be a fix in 5.12.1. @ebrahim do you think that’s possible?

> <https://github.com/Slicer/Slicer/issues/9256>
>
> \## Summary
> 
> Pip install dialog crashes during module setup.
> 
> \## Steps to reprodu…ce
> 
> \* Install nnInteractive extension
> \* restart slicer
> \* enter module 
> \* dialog flashes and then crash
> 
> 
> \## Environment
> \- Slicer version: Slicer-5.11.0-2026-06-15
> \- Operating system: Mac + 26.5.1 (25F80)

---

<div class="post-metadata">

**Author:** ![ebrahim](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/ebrahim/32/13403_2.png) [@ebrahim](https://discourse.slicer.org/u/ebrahim)\
**Post date:** [July 6, 2026, 6:41pm UTC](https://discourse.slicer.org/t/nninteractive-slicer-client-is-stuck/47550/4 "2026-07-06T18:41:50Z")

</div>

The fix would be in NNInteractive and not in Slicer, right? I’m looking at where the discussion ended in [the issue](https://github.com/Slicer/Slicer/issues/9256)

---

<div class="post-metadata">

**Author:** ![ebrahim](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/ebrahim/32/13403_2.png) [@ebrahim](https://discourse.slicer.org/u/ebrahim)\
**Post date:** [July 6, 2026, 7:14pm UTC](https://discourse.slicer.org/t/nninteractive-slicer-client-is-stuck/47550/5 "2026-07-06T19:14:33Z")

</div>

Will be addressed here: [BUG: Avoid threaded pip install with Slicer 5.12 by ebrahimebrahim · Pull Request #100 · coendevente/SlicerNNInteractive · GitHub](https://github.com/coendevente/SlicerNNInteractive/pull/100)

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [July 6, 2026, 7:37pm UTC](https://discourse.slicer.org/t/nninteractive-slicer-client-is-stuck/47550/6 "2026-07-06T19:37:03Z")

</div>

This is nice, but given that the author of the extension hasn’t interacted with any of the PRs from the last 3-4 months (including the one @lassoan introduced for self-contained installation), that’s probably not going to get merged anytime soon.

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [July 6, 2026, 11:28pm UTC](https://discourse.slicer.org/t/nninteractive-slicer-client-is-stuck/47550/7 "2026-07-06T23:28:47Z")

</div>

@ebrahim, since the extension worked in 5.10, and then crashes 5.12 I think this is a Slicer regression and we should somehow make it failsafe. We don’t know who else might have depended on this older behavior.

@muratmaga FYI, the DKFZ team behind nnInteractive contacted me and @lassoan that that will be making an updated SlicerNNInteractive extension available but it’s not ready yet. This will support a new version with improved features. So things are in flux for a while.

---

<div class="post-metadata">

**Author:** ![ebrahim](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/ebrahim/32/13403_2.png) [@ebrahim](https://discourse.slicer.org/u/ebrahim)\
**Post date:** [July 7, 2026, 1:39pm UTC](https://discourse.slicer.org/t/nninteractive-slicer-client-is-stuck/47550/8 "2026-07-07T13:39:07Z")

</div>

It’s more of an API change than a regression.

5.10 to 5.12 API change is acceptable, the extension has to be updated to adapt. If the extension is abandoned by the original author and we still want it in 5.12, then we can fork it. But I feel it’s too early to call it abandoned.

When we were putting together `slicer.packaging` we had to make a choice as to whether the progress bar is given to everyone using `pip_install` by default or whether it’s opt-in. In one case many extensions get automatic benefit while a few extensions need to be updated, and in the other case only extensions that update to explicitly invoke the new functionality get the benefit. Andras and I thought about this and opted for the first one.

---

<div class="post-metadata">

**Author:** ![ebrahim](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/ebrahim/32/13403_2.png) [@ebrahim](https://discourse.slicer.org/u/ebrahim)\
**Post date:** [July 7, 2026, 2:00pm UTC](https://discourse.slicer.org/t/nninteractive-slicer-client-is-stuck/47550/9 "2026-07-07T14:00:41Z")

</div>

Hmm… on more thought I suppose a failsafe within Slicer is easy

But this would not be us fixing a regression. This would be us being nice, which I guess we should be 😐

I think I can get a failsafe out soon

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [July 7, 2026, 4:37pm UTC](https://discourse.slicer.org/t/nninteractive-slicer-client-is-stuck/47550/10 "2026-07-07T16:37:59Z")

</div>

We discussed this at the developer meeting and @ebrahim will try to get a fix in Slicer-5.12.1 (only add progress bar if `pip_install` is called from the main thread).
