[Interest] QSGRenderThread crashed: libGPUSupportMercury.dylib`gpus_ReturnGuiltyForHardwareRestart:

Nuno Santos nunosantos at imaginando.pt
Tue Apr 5 08:26:43 CEST 2016


Hi,

I have just discovered something that might be an unpredicted bug in Qt iOS. I have an app which makes uses of inter app audio. Therefore, this app should be able to jump and forth from host to app and vice versa. It should be also able to make the jump with the lowest overhead as possible to avoid audio glitches. Right now, what is concerning me the most is that after a couple of jumps, which sometimes can be more or less, the app crashes. I was able to crash it while running the debugger and this is what appeared in the stack trace:

libGPUSupportMercury.dylib`gpus_ReturnGuiltyForHardwareRestart:
   0x18ef91f1c <+0>:  orr    w8, wzr, #0x1
   0x18ef91f20 <+4>:  movz   w9, #0xdead, lsl #16
   0x18ef91f24 <+8>:  movk   w9, #0xbeef
->  0x18ef91f28 <+12>: str    w9, [x8]
   0x18ef91f2c <+16>: ret  

The crashes thread was the QSGRenderThread. This seems to be a critical bug for apps that need to behave this way, which I consider that is any professional audio app nowadays. This happens on both Qt 5.5.1 and 5.6

Before filling a bug report I would like to share this info with the list and have some insights about it.

Also, when the app starts I have some UIKit related warning. Not sure if they related with the crash. Since I don’t write UI code for cocoa anymore since using Qt/Qml, I deduce that this warnings come from Qt UIKit layer.

2016-04-05 00:17:37.131 DRC[307:14615] Unable to simultaneously satisfy constraints.
	Probably at least one of the constraints in the following list is one you don't want. 
	Try this: 
		(1) look at each constraint and try to figure out which you don't expect; 
		(2) find the code that added the unwanted constraint or constraints and fix it. 
(
   "<NSLayoutConstraint:0x12d5cda80 V:|-(20)-[UIInputSetContainerView:0x12d5cd8e0]   (Names: '|':UITextEffectsWindow:0x12d6980d0 )>",
   "<NSLayoutConstraint:0x12d692ea0 'UIInputWindowController-top' V:|-(0)-[UIInputSetContainerView:0x12d5cd8e0]   (Names: '|':UITextEffectsWindow:0x12d6980d0 )>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x12d5cda80 V:|-(20)-[UIInputSetContainerView:0x12d5cd8e0]   (Names: '|':UITextEffectsWindow:0x12d6980d0 )>

Best regards,

Nuno


More information about the Interest mailing list