Interface 3801-3807,3816 crashes after 2-minutes


#1

Interface 379x-3801 now crash after 2-minutes. It happens anywhere, even in domains with none but one avatar and a few small entities. I dropped it into the debugger and it dies here:
c:\jenkins\workspace\release-win64\libraries\entities-renderer\src\renderablewebentityitem.cpp

@Jenkins, please fix your bug.

renderablewebentityitem.cpp
calling to null pointer
RAX 0000000000000000 <======
RCX 000001A21A625C70

>	interface.exe!<lambda_8a61fa4325ab5a86b364fef906c8bd7e>::operator()(const EntityItemID & entityItemID, const MouseEvent & event) Line 163	C++
interface.exe!QtPrivate::QFunctorSlotObject<<lambda_8a61fa4325ab5a86b364fef906c8bd7e>,2,QtPrivate::List<EntityItemID const & __ptr64,MouseEvent const & __ptr64>,void>::impl(int which, QtPrivate::QSlotObjectBase * this_, QObject * r, void * * a, bool * ret) Line 199	C++
Qt5Core.dll!0000000068e7b287()	Unknown
interface.exe!EntityTreeRenderer::hoverLeaveEntity(const EntityItemID & _t1, const MouseEvent & _t2) Line 537	C++
interface.exe!EntityTreeRenderer::mouseMoveEvent(QMouseEvent * event, unsigned int deviceID) Line 620	C++
interface.exe!Application::mouseMoveEvent(QMouseEvent * event, unsigned int deviceID) Line 2103	C++
interface.exe!Application::event(QEvent * event) Line 1640	C++
Qt5Widgets.dll!0000000069215b96()	Unknown
Qt5Widgets.dll!0000000069214595()	Unknown
Qt5Core.dll!0000000068e5c4e8()	Unknown
interface.exe!GLWidget::event(QEvent * event) Line 82	C++
Qt5Widgets.dll!0000000069215b96()	Unknown
Qt5Widgets.dll!0000000069213b3e()	Unknown
Qt5Core.dll!0000000068e5c4e8()	Unknown
Qt5Widgets.dll!0000000069216fc4()	Unknown
Qt5Widgets.dll!00000000692646ca()	Unknown
Qt5Widgets.dll!0000000069262cea()	Unknown
Qt5Widgets.dll!0000000069215b96()	Unknown
Qt5Widgets.dll!0000000069214595()	Unknown
Qt5Core.dll!0000000068e5c4e8()	Unknown
Qt5Gui.dll!00007ffce24be796()	Unknown
Qt5Gui.dll!00007ffce24c0930()	Unknown
Qt5Gui.dll!00007ffce24a681e()	Unknown
Qt5Core.dll!0000000068ea1ccc()	Unknown
user32.dll!UserCallWinProcCheckWow()	Unknown
user32.dll!DispatchMessageWorker()	Unknown
Qt5Core.dll!0000000068ea1389()	Unknown
qwindows.dll!00007ffce238089e()	Unknown
Qt5Core.dll!0000000068e59191()	Unknown
Qt5Core.dll!0000000068e5b667()	Unknown
interface.exe!main(int argc, const char * * argv) Line 110	C++
interface.exe!WinMain()	C++
interface.exe!__tmainCRTStartup() Line 618	C
kernel32.dll!BaseThreadInitThunk()	Unknown
ntdll.dll!RtlUserThreadStart()	Unknown

code snippet:

--- c:\jenkins\workspace\release-win64\libraries\entities-renderer\src\renderablewebentityitem.cpp 

00007FF60FC708C0 push rdi
00007FF60FC708C2 sub rsp,0C0h
00007FF60FC708C9 mov qword ptr [rsp+40h],0FFFFFFFFFFFFFFFEh
00007FF60FC708D2 mov qword ptr [this],rbx
00007FF60FC708DA mov rdi,rdx
00007FF60FC708DD mov rbx,rcx
00007FF60FC708E0 mov rcx,qword ptr [rcx]
00007FF60FC708E3 cmp byte ptr [rcx+284h],0
00007FF60FC708EA je <lambda_8a61fa4325ab5a86b364fef906c8bd7e>::operator()+0D7h (07FF60FC70997h)
00007FF60FC708F0 mov rax,qword ptr [rcx]
00007FF60FC708F3 call qword ptr [rax+8] <===
00007FF60FC708F6 mov rcx,rax
00007FF60FC708F9 mov rdx,rdi
00007FF60FC708FC call qword ptr [__imp_QUuid::operator== (07FF60FDE75D0h)]
00007FF60FC70902 test al,al
00007FF60FC70904 je <lambda_8a61fa4325ab5a86b364fef906c8bd7e>::operator()+0D7h (07FF60FC70997h)
00007FF60FC7090A mov rax,qword ptr [rbx]
00007FF60FC7090D mov ecx,dword ptr [rax+28Ch]
00007FF60FC70913 movd xmm0,dword ptr [rax+288h]
00007FF60FC7091B cvtdq2pd xmm0,xmm0

enter preformatted text here

#2

I’m seeing same crash last few builds, tho less often than you. Don’t blame Jenkins – he’s a good guy who tirelessly auto-builds things. :wink: Jenkins is very good with concept of garbage in = garbage out though.


#3

Well. whomever tossed in the pile of garbage bits, please fix your bug. A null pointer call should be fairly easy to reproduce. This is just too icky for even alpha.


#4

I believe this got fixed in 3802 https://github.com/highfidelity/hifi/pull/6716


#5

2nd verse, same as the first.

In sandbox

3807 crases after 2-minutes with:
Unhandled exception at 0x00007FF6DCE92733 in interface.exe: 0xC0000005: Access violation reading location 0xFFFFFFFFFFFFFFFF.

interface.exe!<lambda_8a61fa4325ab5a86b364fef906c8bd7e>::operator()(const EntityItemID & entityItemID, const MouseEvent & event) Line 163 C++
interface.exe!QtPrivate::QFunctorSlotObject<<lambda_8a61fa4325ab5a86b364fef906c8bd7e>,2,QtPrivate::List<EntityItemID const & __ptr64,MouseEvent const & _ptr64>,void>::impl(int which, QtPrivate::QSlotObjectBase * this, QObject * r, void * * a, bool * ret) Line 199 C++
Qt5Core.dll!0000000068e7b287() Unknown
interface.exe!EntityTreeRenderer::hoverLeaveEntity(const EntityItemID & _t1, const MouseEvent & _t2) Line 537 C++
interface.exe!EntityTreeRenderer::mouseMoveEvent(QMouseEvent * event, unsigned int deviceID) Line 625 C++
interface.exe!Application::mouseMoveEvent(QMouseEvent * event, unsigned int deviceID) Line 2103 C++
interface.exe!Application::event(QEvent * event) Line 1640 C++
Qt5Widgets.dll!0000000069215b96() Unknown
Qt5Widgets.dll!0000000069214595() Unknown
Qt5Core.dll!0000000068e5c4e8() Unknown
interface.exe!GLWidget::event(QEvent * event) Line 82 C++
Qt5Widgets.dll!0000000069215b96() Unknown
Qt5Widgets.dll!0000000069213b3e() Unknown
Qt5Core.dll!0000000068e5c4e8() Unknown
Qt5Widgets.dll!0000000069216fc4() Unknown
Qt5Widgets.dll!00000000692646ca() Unknown
Qt5Widgets.dll!0000000069262cea() Unknown
Qt5Widgets.dll!0000000069215b96() Unknown
Qt5Widgets.dll!0000000069214595() Unknown
Qt5Core.dll!0000000068e5c4e8() Unknown
Qt5Gui.dll!00007ffce1b2e796() Unknown
Qt5Gui.dll!00007ffce1b30930() Unknown
Qt5Gui.dll!00007ffce1b1681e() Unknown
Qt5Core.dll!0000000068ea1ccc() Unknown
user32.dll!UserCallWinProcCheckWow() Unknown
user32.dll!DispatchMessageWorker() Unknown
Qt5Core.dll!0000000068ea1389() Unknown
qwindows.dll!00007ffce3b6089e() Unknown
Qt5Core.dll!0000000068e59191() Unknown
Qt5Core.dll!0000000068e5b667() Unknown
interface.exe!main(int argc, const char * * argv) Line 110 C++
interface.exe!WinMain() C++
interface.exe!__tmainCRTStartup() Line 618 C
kernel32.dll!BaseThreadInitThunk() Unknown
ntdll.dll!RtlUserThreadStart() Unknown

	RAX	0002000200010000	
	RCX	000001FB80440D10	
  •   this	Qt5Core.dll!0x00000000691cc350 (load symbols for additional information) {__this=0x0000000000000000 {...} }	const RenderableWebEntityItem::render::__l57::<lambda_8a61fa4325ab5a86b364fef906c8bd7e> *
    
  •   entityItemID	{...}	const EntityItemID &
    
  •   QUuid	{data1=0 data2=0 data3=0 ...}	QUuid
    
  •   event	{x=??? y=??? deviceID=??? ...}	const MouseEvent &
      x	<Unable to read memory>	
      y	<Unable to read memory>	
      deviceID	<Unable to read memory>	
    
  •   button	{d=??? }	QString
      isLeftButton	<Unable to read memory>	
      isRightButton	<Unable to read memory>	
      isMiddleButton	<Unable to read memory>	
      isShifted	<Unable to read memory>	
      isControl	<Unable to read memory>	
      isMeta	<Unable to read memory>	
      isAlt	<Unable to read memory>	
    
  •   mappedEvent	{l={xp=1.077359781445e-311#DEN yp=-1.#QNAN00000000000 } w={xp=0.00000000000000000 yp=4.455149663768e-312#DEN } ...}	QMouseEvent
    

00007FF6DCE92723 cmp byte ptr [rcx+284h],0
00007FF6DCE9272A je <lambda_8a61fa4325ab5a86b364fef906c8bd7e>::operator()+0D7h (07FF6DCE927D7h)
00007FF6DCE92730 mov rax,qword ptr [rcx]
00007FF6DCE92733 call qword ptr [rax+8]
00007FF6DCE92736 mov rcx,rax
00007FF6DCE92739 mov rdx,rdi


#6

@Balpien_Hammere, I will report the continued issue.


#7

This is a nasty basic bug… Again in the sandbox, running 3816, I touched one of the virtual Mac computers there. BLAM

Unhandled exception at 0x00007FF6B3BF1D1C in interface.exe: 0xC0000005: Access violation reading location 0xFFFFFFFFFFFFFFFF.


#8

That’s just interface.exe shouting an expletive.

Translation to human English is: “Oh, F****!”