FS#45316 - [zeromq] upgrade to version 4.0.6-1 breaks ipython support in Spyder IDE

Attached to Project: Community Packages
Opened by Narunas K. (narunas) - Saturday, 13 June 2015, 16:24 GMT
Last edited by Kyle Keen (keenerd) - Monday, 15 June 2015, 20:04 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Kyle Keen (keenerd)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
Recent upgrade of zeromq to version 4.0.6-1 x86_64 breaks ipython support in Spyder IDE.

Additional info:
- Name : spyder
- Version : 2.3.4-1
- Architecture : any

Steps to reproduce:
- Upgrade zeromq to version 4.0.6-1 x86_64 (or above?)
- Launch Spyder IDE.
- Open Ipython console.
- Within ~5 sec you will be welcomed by:
"It seems the kernel died unexpectedly. Use 'Restart kernel' to continue using this console."

View original bug report:
https://github.com/spyder-ide/spyder/issues/2485
This task depends upon

Closed by  Kyle Keen (keenerd)
Monday, 15 June 2015, 20:04 GMT
Reason for closing:  Fixed
Additional comments about closing:  zeromq-4.1.2-1
Comment by Kyle Keen (keenerd) - Saturday, 13 June 2015, 18:47 GMT
It seems that 4.0.6 broke things for other people too. These issues were fixed in 4.1.1. Update to zeromq-4.1.1 and python-pyzmq-14.6.0-2
Comment by Narunas K. (narunas) - Saturday, 13 June 2015, 18:57 GMT
Nope, just tried upgrading zeromq to version 4.1.1-1. Same behaviour in Spyder IDE - broken ipython support.
Downgrading to 4.0.5-1 does the magic.
Comment by Moritz Bunkus (mbunkus) - Saturday, 13 June 2015, 20:42 GMT
I have the same issue with salt-zmq; see https://github.com/saltstack/salt/issues/24477

For me downgrading zeromq to 4.0.5 and python2-pyzmq to 14.6.0-1 makes salt-zmq work again (python2-pyzmq 14.6.0-2 with zeromq 4.0.5 does not work due to certain symbols not being available in Python in that constellation).
Comment by Kyle Keen (keenerd) - Saturday, 13 June 2015, 21:33 GMT
I'm sorry, you are both doing something wrong. Ipython starts up without any issues. Salt can spin up a master, a minion and ping between them successfully. These work. To repeat myself: use zeromq-4.1.1-1 and python(2)-pyzmq-14.6.0-2
Comment by Narunas K. (narunas) - Saturday, 13 June 2015, 22:39 GMT
Ipython [qtconsole] and Ipython2 [qtconsole] work well - correct. But you are missing the point - in my case Ipython2 crashes, or to be more precise Ipython2 qtconsole crashes inside Spyder IDE..

Just to double check, I have run full system upgrade, which currently for me suggests just two packages:
# pacman -Syu
:: Synchronising package databases...
core is up to date
extra is up to date
community is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Packages (2) python2-pyzmq-14.6.0-2 zeromq-4.1.1-1

Total Installed Size: 3.15 MiB
Net Upgrade Size: -0.53 MiB
<...>

# pacman -Q spyder
spyder 2.3.4-1


Now just follow the "Steps to reproduce" and I get this image (attached).

I'm not trying to be difficult, but your patch simply doesn't work for Spyder IDE, it perhaps work for other apps.

Thanks
Comment by Moritz Bunkus (mbunkus) - Sunday, 14 June 2015, 07:34 GMT
With all due respect I don't see what I could have done wrong.

Yesterday I ran a full system upgrade (pacman -Syu). Then I checked for new configuration files with »pacdiff«; nothing related to zeromq or salt. This was followed by a reboot.

Starting immediately after the reboot my salt-minion went into a restart loop with the aforementioned error message »invalid argument«; see my entries in salt's bug report that I've linked to above.

During that upgrade the following packages were upgraded according to /var/log/pacman.log:

[2015-06-13 22:01] [ALPM] upgraded zeromq (4.0.5-1 -> 4.1.1-1)
[2015-06-13 22:01] [ALPM] upgraded python2-pyzmq (14.6.0-1 -> 14.6.0-2)
[2015-06-13 22:02] [ALPM] upgraded salt-zmq (2015.5.1-1 -> 2015.5.2-2)

First I thought this was due to salt-zmq. I downgraded salt-zmq back o 2015.5.1-1, but no dice, same restart loop in the minion.

Next I downgraded zeromq to 4.0.5-1. No dice either, this time due to missing symbols in Python.

Last I downgraded python2-pyzmq to 14.6.0-1. Right after doing this salt-minion was running normally again.

Next I upgraded salt-zmq to 2015.5.2-2 again. salt-minion is still running normally.

In summary: salt-zmq (both 2015.5.1-1 and 2015.5.2-2) works well with zeromq 4.0.5-1/pythong2-pyzmq 14.6.0-1. Neither version of salt-zmq works with zeromq 4.1.1-1/python2-pyzmq 14.6.0-2.

So please tell me what I've done wrong here…

Maybe this is an issue that only happens with certain configurations. I'm running salt solely via IPv6, if that matters.
Comment by Kyle Keen (keenerd) - Sunday, 14 June 2015, 13:08 GMT
My apologies. You are familiar with the idea of a minimal test case to reproduce a bug? With Spyder, the exact same kernel failure was seen in the ipython notebook. This was fixed, but I forgot to check Spyder. I don't know anything about Spyder and am at a loss as to how Notebook can work but Spyder can't. Oddly enough, Spyder will also fail to connect to an existing ipython kernel. The kernel does not seem to produce any errors while this happens, very odd.

Similar for Salt. I looked at issue 24477, saw that ping didn't work, and fixed it so ping worked. If something still doesn't work, I need you to provide a self-contained minimal test case. (Or a patch to fix it.)
Comment by Narunas K. (narunas) - Sunday, 14 June 2015, 18:02 GMT
Please post it on the software maintainer's issue tracker (github url is provided in my bug report). Chances are they will fix it as they seem like a people who are open for dialogue. Meanwhile they reckon it's solely because of the buggy zeromq, and we here on the mainstream Archlinux have zeromq version, which breaks at least 2 other packages.
Comment by Narunas K. (narunas) - Sunday, 14 June 2015, 20:43 GMT
Also have a look at this:
https://groups.google.com/forum/#!topic/jupyter/UM-ShiI_Mrs

Quote:
Patches have been accepted to various zeromq branches, so this problem should not affect libzmq-4.0.7 or libzmq-4.1.2, once they are released. I would still recommend kernel authors make the changes proposed above, even though they will not be necessary after the next patch release of libzmq.

It seems that zeromq v4.1.1 has this exact same bug, which will be resolved in the upcoming releases.
Comment by Kyle Keen (keenerd) - Monday, 15 June 2015, 16:29 GMT
zeromq-4.1.2-1 and python(2)-pyzmq-14.6.0-3 appear to be good. Ipython works here, Spyder works here.
Comment by Narunas K. (narunas) - Monday, 15 June 2015, 20:01 GMT
I can confirm, that with zeromq-4.1.2-1 Spyder IDE work as expected. Thank you for update.

Loading...