thp / pyotherside

Python Bindings for Qt 5 and Qt 6. Allows you to access a CPython 3 interpreter directly from your Qt QML user interface code.
https://thp.io/2011/pyotherside/
Other
364 stars 49 forks source link

numpy.polyfit hangs weirdly #45

Closed dasimmet closed 9 years ago

dasimmet commented 9 years ago

I'm not quite sure whether im right here, maybe this is numpy's issue (or my build of it). when I run numpy's "polyfit" function on my jolla in a pyotherside app, it always hangs exactly at the same place without returning or throwing any error. It works fine when running the same thing in the Interpreter on the phone, or in pyotherside on the desktop. To investigate further, running the debugger on polyfit(a,b,1,w=c) showed me the last few lines before freezing:

(Pdb) 
--Return--
> /usr/lib/python3.4/site-packages/numpy/core/_methods.py(38)_any()->False
-> return umr_any(a, axis, dtype, out, keepdims)

(Pdb) 
--Return--
> /usr/lib/python3.4/site-packages/numpy/core/fromnumeric.py(1848)any()->False
-> return arr.any(axis=axis, out=out, keepdims=keepdims)
(Pdb) 
> /usr/lib/python3.4/site-packages/numpy/core/machar.py(233)_do_init()
-> i = i + 1
(Pdb) 
> /usr/lib/python3.4/site-packages/numpy/core/machar.py(234)_do_init()
-> k = k + k
(Pdb) 
> /usr/lib/python3.4/site-packages/numpy/core/machar.py(223)_do_init()
-> for _ in range(max_iterN):
(Pdb) 
> /usr/lib/python3.4/site-packages/numpy/core/machar.py(224)_do_init()
-> y = z
(Pdb) 
> /usr/lib/python3.4/site-packages/numpy/core/machar.py(225)_do_init()
-> z = y*y
(Pdb) 

Has anyone an idea what could be causing this? I havent seen any bug like this yet. To reproduce, I created a quick demo: numpy bug showcase run the app with sailfish-numpy in terminal on the jolla and press the button, it sould bring up the python debugger.

the version of numpy i use is build by installing dependencies and running "pip wheel numpy" on the jolla phone, then extracted into the app dir. Any other numpy function I tried seemed to work flawlessly. Thanks for any kind of help

lainwir3d commented 9 years ago

Hi,

what version of pyotherside do you have ? I encountered issues when running numpy with pyotherside 1.3 (hanging)

Cheers.

On Mon, Apr 27, 2015 at 10:31 PM, dasimmet notifications@github.com wrote:

I'm not quite sure wether im right here, maybe this is numpy's issue (or my build of it). when I run numpy's "polyfit" function on my jolla in a pyotherside app, it always hangs exactly at the same place without returning or throwing any error. It works fine when running the same thing in the Interpreter on the phone, or in pyotherside on the desktop. To investigate further, running the debugger on polyfit showed me the last few lines before freezing:

(Pdb) --Return--

/usr/lib/python3.4/site-packages/numpy/core/_methods.py(38)_any()->False -> return umr_any(a, axis, dtype, out, keepdims)

(Pdb) --Return--

/usr/lib/python3.4/site-packages/numpy/core/fromnumeric.py(1848)any()->False -> return arr.any(axis=axis, out=out, keepdims=keepdims) (Pdb) /usr/lib/python3.4/site-packages/numpy/core/machar.py(233)_do_init() -> i = i + 1 (Pdb) /usr/lib/python3.4/site-packages/numpy/core/machar.py(234)_do_init() -> k = k + k (Pdb) /usr/lib/python3.4/site-packages/numpy/core/machar.py(223)_doinit() -> for in range(max_iterN): (Pdb) /usr/lib/python3.4/site-packages/numpy/core/machar.py(224)_do_init() -> y = z (Pdb) /usr/lib/python3.4/site-packages/numpy/core/machar.py(225)_do_init() -> z = y*y (Pdb)

have anyone an idea what could be causing this? I havent seen any but like this. to reproduce, i created a quick demo: numpy bug showcase https://github.com/dasimmet/numpy-polyfit-bug-on-jolla-

the version of numpy i use is build by installing dependencies and running "pip wheel numpy" on the jolla phone, then extracted into the app dir. Thanks for any kind of help

— Reply to this email directly or view it on GitHub https://github.com/thp/pyotherside/issues/45.

Richard Rondu

Responsable de projet

EIREL

33, av. Claude Debussy

92588 Clichy Cedex

Tél: 0141401263

Fax: 0141400238

dasimmet commented 9 years ago

okay, this seems possible... on the jolla, i run 1.3.0 (from the latest pyotherside-qml-plugin-python3-qt5 package), on my laptop, i import the same 1.3, but the installed module is 1.4, and it works fine over there. Now i wish jolla would update their packages...

lainwir3d commented 9 years ago

1.4 has been released not so long ago I think that may be why it's not available yet.

Anyway I think if you're feeling courageous you could propose an updated package to the mer / nemo project (the project Sailfish is based on).

Or you can provide an updated pyotherside plugin inside your project (in /usr/share//plugins/ or something like that). See FAQ : https://harbour.jolla.com/faq

Cheers

On Tue, Apr 28, 2015 at 11:13 AM, dasimmet notifications@github.com wrote:

okay, this seems possible... on the jolla, i run 1.3.0 (from the latest pyotherside-qml-plugin-python3-qt5 package), on my laptop, i import the same 1.3, but the installed module is 1.4, and it works fine over there. Now i wish jolla would update their packages...

— Reply to this email directly or view it on GitHub https://github.com/thp/pyotherside/issues/45#issuecomment-96984499.

Richard Rondu

Responsable de projet

EIREL

33, av. Claude Debussy

92588 Clichy Cedex

Tél: 0141401263

Fax: 0141400238

dasimmet commented 9 years ago

okay I noticed 1.4 is included in the current pre-release, so i am gonna limit the concerning features to systems where it is available. with 1.4 numpy.polyfit works like a charm on the phone Thanks a Lot for your efforts!

dasimmet commented 9 years ago

The Issue was indeed caused by pyotherside, and it has already been fixed with version 1.4, which has not been up to date. Thanks for your efforts!

lainwir3d commented 9 years ago

Glad it's worked out !

Cheers

On Tue, Apr 28, 2015 at 5:22 PM, dasimmet notifications@github.com wrote:

The Issue was indeed caused by pyotherside, and it has already been fixed with version 1.4, which has not been up to date. Thanks for your efforts!

— Reply to this email directly or view it on GitHub https://github.com/thp/pyotherside/issues/45#issuecomment-97103975.

Richard Rondu

Responsable de projet

EIREL

33, av. Claude Debussy

92588 Clichy Cedex

Tél: 0141401263

Fax: 0141400238

thp commented 9 years ago

Considering this fixed now.