Bug 408241 - Python2/3 backends hung on "Calculating…" after the code change from 1 June
Summary: Python2/3 backends hung on "Calculating…" after the code change from 1 June
Status: RESOLVED DUPLICATE of bug 408240
Alias: None
Product: cantor
Classification: Applications
Component: python2-backend (other bugs)
Version First Reported In: 19.04
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Nikita Sirgienko
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-06-03 09:00 UTC by vialav
Modified: 2019-06-03 09:24 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description vialav 2019-06-03 09:00:21 UTC
General information:
KDE frameworks 5.58.0 backported to Qt 5.9.5


This bug is a separate issue born out of bug #408179, please see it
https://bugs.kde.org/show_bug.cgi?id=408179

Bug #408240 relates to this too, please see it 
https://bugs.kde.org/show_bug.cgi?id=408240

$ gdb --args cantor -b python2

─── Output/messages ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Invalid Context= "stock" line for icon theme:  "/usr/share/icons/ubuntu-mono-dark/stock/16/"
Invalid Context= "stock" line for icon theme:  "/usr/share/icons/ubuntu-mono-dark/stock/22/"
Invalid Context= "stock" line for icon theme:  "/usr/share/icons/ubuntu-mono-dark/stock/24/"
Invalid Context= "stock" line for icon theme:  "/usr/share/icons/ubuntu-mono-dark/stock/32/"
Invalid Context= "stock" line for icon theme:  "/usr/share/icons/ubuntu-mono-dark/stock/48/"
Invalid Context= "stock" line for icon theme:  "/usr/share/icons/ubuntu-mono-dark/stock/64/"
Invalid Context= "stock" line for icon theme:  "/usr/share/icons/ubuntu-mono-dark/stock/128/"
dir:  "/usr/lib/x86_64-linux-gnu/qt5/plugins/cantor/backends"
Creating MaximaBackend
Creating NullBackend
Creating PythonBackend
Creating PythonBackend
Creating RBackend
Creating SageBackend
Creating ScilabBackend
dir:  "/usr/bin/cantor/backends"
Backend  "Python 2"  offers extensions:  ("LinearAlgebraExtension", "PackagingExtension", "PlotExtension", "ScriptExtension", "VariableManagementExtension")
PythonSession(0xbe5880) Cantor::VariableManagementExtension(0x9b5c60, name = "VariableManagementExtension")
PythonHighlighter constructor
PythonKeywords constructor
new worksheetaccess interface
loading assistants...
dir:  "/usr/lib/x86_64-linux-gnu/qt5/plugins/cantor/assistants"
plugin  "AdvancedPlot"  is not supported by  "Python 2"
plugin  "Create Matrix"  is supported by  "Python 2" , requires extensions  ("LinearAlgebraExtension")
QObject::connect: signal not found in QAction
plugin  "Differentiate"  is not supported by  "Python 2"
plugin  "Eigenvalues"  is not supported by  "Python 2"
plugin  "Eigenvectors"  is not supported by  "Python 2"
plugin  "Import Package"  is supported by  "Python 2" , requires extensions  ("PackagingExtension")
QObject::connect: signal not found in QAction
plugin  "Integrate"  is not supported by  "Python 2"
plugin  "Invert Matrix"  is not supported by  "Python 2"
plugin  "Plot2d"  is supported by  "Python 2" , requires extensions  ("PlotExtension")
QObject::connect: signal not found in QAction
plugin  "Plot3d"  is supported by  "Python 2" , requires extensions  ("PlotExtension")
QObject::connect: signal not found in QAction
plugin  "QalculatePlot"  is not supported by  "Python 2"
plugin  "RunScript"  is supported by  "Python 2" , requires extensions  ("ScriptExtension")
QObject::connect: signal not found in QAction
plugin  "Solve"  is not supported by  "Python 2"
dir:  "/usr/bin/cantor/assistants"
loading panel plugins for session of type  "Python 2"
Requesting capabilities of Python3Session
dir:  "/usr/lib/x86_64-linux-gnu/qt5/plugins/cantor/panels"
plugin  "Help"  is supported, requires extensions  ("")
plugin  "Variable Manager"  is supported, requires extensions  ("VariableManagementExtension")
dir:  "/usr/bin/cantor/panels"
Requesting capabilities of Python3Session
Entry Appended
adding panel for  "Help"
adding panel for  "Variable Manager"
[Detaching after fork from child process 14358]

[Cantor] >>> import sys; print (sys.version_info)

ShortcutOverride 16777220 QFlags<Qt::KeyboardModifiers>(ShiftModifier)
login
[Detaching after fork from child process 14547]
QObject::connect: signal not found in QTimer
send command:  "login" ()
send command:  "setFilePath" ("")
wsStatusChange 1
evaluating:  "import sys; print (sys.version_info)"
wsStatusChange 0
wsStatusChange 0
run first expression "import sys; print (sys.version_info)\n"
send command:  "code" ("import sys; print (sys.version_info)\n")

[Cantor] (hungs on "Calculating…")
[File -> Exit]

ShortcutOverride 16777220 QFlags<Qt::KeyboardModifiers>(ShiftModifier)
login
[Detaching after fork from child process 14547]
QObject::connect: signal not found in QTimer
send command:  "login" ()
send command:  "setFilePath" ("")
wsStatusChange 1
evaluating:  "import sys; print (sys.version_info)"
wsStatusChange 0
wsStatusChange 0
run first expression "import sys; print (sys.version_info)\n"
send command:  "code" ("import sys; print (sys.version_info)\n")
send command:  "exit" ()
logout
wsStatusChange 2
[Thread 0x7fffeb1b4700 (LWP 14349) exited]
[Thread 0x7fffd90af700 (LWP 14354) exited]
[Thread 0x7fffdbde3700 (LWP 14352) exited]
[Thread 0x7fffe217f700 (LWP 14350) exited]
[Thread 0x7fffee32e800 (LWP 14345) exited]
[Inferior 1 (process 14345) exited normally]
>>> quit


$ python -c 'import sys; print (sys.version_info)'
sys.version_info(major=2, minor=7, micro=15, releaselevel='final', serial=0)

$ python3 -c 'import sys; print (sys.version_info)'
sys.version_info(major=3, minor=6, micro=8, releaselevel='final', serial=0)


<there is no difference from Python 2 under the Python 3 session:>

ShortcutOverride 16777220 QFlags<Qt::KeyboardModifiers>(ShiftModifier)
login
[Detaching after fork from child process 14646]
QObject::connect: signal not found in QTimer
send command:  "login" ()
send command:  "setFilePath" ("")
wsStatusChange 1
evaluating:  "print(\"Hello, world!\")"
wsStatusChange 0
wsStatusChange 0
run first expression "print(\"Hello, world!\")\n"
send command:  "code" ("print(\"Hello, world!\")\n")
Comment 1 Nikita Sirgienko 2019-06-03 09:24:29 UTC
The problem is clear for me. From June 1 Python server starts use QTimer (read input data by timeout).
But according your log
> QObject::connect: signal not found in QTimer
Connect to timeout failed, so server never read its input.
If server never read input, Cantor never get output from the server.
So computing never finished.

So, this problem is a part of Bug 408240

*** This bug has been marked as a duplicate of bug 408240 ***