#pyqt | Logs for 2019-03-22

Back
[00:31:47] -!- altendky has quit [Ping timeout: 240 seconds]
[00:32:51] -!- TechSmurf has quit [Ping timeout: 250 seconds]
[00:34:41] -!- TechSmurf has joined #pyqt
[00:40:13] -!- altendky has joined #pyqt
[03:43:57] -!- flowgunso has joined #pyqt
[05:05:42] -!- BPL has joined #pyqt
[07:01:04] -!- TechSmurf has quit [Ping timeout: 252 seconds]
[07:02:22] -!- TechSmurf has joined #pyqt
[08:09:30] -!- nsizemor has joined #pyqt
[09:36:47] <Avaris> everyday i hate macos more and more: https://dpaste.de . if you click main thread, you get a nice recursion error. if you click qthread python crashes with bus error.
[09:37:57] -!- mandeep has quit [Ping timeout: 245 seconds]
[09:39:10] <Avaris> windows and ubuntu seem to behave normally
[09:39:52] <Avaris> need my last couple hours back trying to debug wth can cause a bus error in python :(
[09:40:09] <The-Compiler> probably the same thing which can cause a segfault
[09:40:39] <The-Compiler> maybe Python's faulthandler can tell you more, or the macOS report dialog has a C++ stack
[09:40:57] <Avaris> The-Compiler: checked the paste?
[09:41:11] <Avaris> it's a recursion error on a qthread
[09:41:36] <The-Compiler> yes I did, but error handling with two languages involved can be funny ;)
[09:42:04] <Avaris> might be same behavior for python thread
[09:42:08] <Avaris> let me check
[09:42:33] * Avaris tries to remember how python threads are used
[09:43:19] -!- mandeep has joined #pyqt
[09:46:54] <Avaris> python thread is fine. just raises recursionerror
[09:48:00] <altendky> Avaris: did you share output? there is the python script for gdb so you can get a mixed c/python-aware trace
[09:48:31] <Avaris> output? of crash?
[09:48:49] <altendky> Avaris: yes
[09:48:51] <Avaris> "Bus error: 10" <-- that's all of it :)
[09:48:56] <altendky> :] thanks
[09:51:39] <altendky> https://discussions.apple.com so, segfault i guess effectively? makes me think a pyqt object isn't being held onto to keep the qt object alive. (now i'll read the paste...)
[09:53:37] <altendky> layout isn't stored on self, but sure, i'm guessing that isn't the issue.
[09:58:06] <Avaris> layout = ...(self) does that, but yeah, only issue is a recursion error on qthread
[09:59:14] <Avaris> real gist of the story is: don't write a recursive graph traversal method and then give it a huge graph :)
[10:00:52] <Avaris> related: https://bugs.python.org
[10:02:38] -!- nsizemor has quit [Quit: nsizemor]
[10:03:22] <altendky> Avaris: i thought you said it was a bus error
[10:03:28] -!- nsizemor has joined #pyqt
[10:03:41] <Avaris> it is
[10:06:13] <altendky> so not a 'recursion error'. rather a stack overflow because the python recursion limit is 'too high' for non-main threads which are given small stacks thus resulting in either some stack protection caused bus error or true data corruption causing the bus error 10. yes?
[10:07:02] <Avaris> well, yes
[10:08:12] <altendky> anyways, good to know about that hazard. are python stack frames fairly consistent size? they just have a 'python stack frame' object in the c stack frame which tosses all the variability on the heap?
[10:09:43] <Avaris> probably depends on the recursion context (variables etc)
[10:14:44] <Avaris> self.thread.setStackSize(1*1024*1024) seems to fix it
[13:37:38] -!- Siecje has joined #pyqt
[15:05:44] -!- LoneElf has quit [Read error: Connection reset by peer]
[15:38:51] -!- renatosilva has joined #pyqt
[15:39:13] -!- renatosilva has quit [Quit: http://renatosilva.net]
[16:44:36] -!- Siecje has parted #pyqt
[16:52:25] -!- mintograde has joined #pyqt
[17:52:35] -!- nsizemor has quit [Quit: nsizemor]
[20:42:33] -!- BPL has quit [Quit: Leaving]
[21:46:12] -!- kallesbar has joined #pyqt
[23:07:32] -!- mintograde has quit [Ping timeout: 250 seconds]