secondlife / jira-archive

2 stars 0 forks source link

[BUG-40725] [ Bento ] Viewer crash when checking preview box for joint positions #12359

Open sl-service-account opened 8 years ago

sl-service-account commented 8 years ago

I was uploading a mesh object which makes use of Bento wing bones. Once I clicked 'Skin Weights' in the uploader, the viewer crashed. Have been able to reproduce this upon every attempt.

Attachments

Original Jira Fields | Field | Value | | ------------- | ------------- | | Issue | BUG-40725 | | Summary | [ Bento ] Viewer crash when checking preview box for joint positions | | Type | Bug | | Priority | Unset | | Status | Accepted | | Resolution | Accepted | | Created at | 2016-10-18T21:43:39Z | | Updated at | 2016-10-22T21:33:31Z | ``` { 'Business Unit': ['Platform'], 'Date of First Response': '2016-10-19T20:00:48.224-0500', 'ReOpened Count': 0.0, 'Severity': 'Unset', 'System': 'SL Viewer', 'Target Viewer Version': 'viewer-development', 'What just happened?': "I was uploading a mesh object which makes use of Bento wing bones. Once I clicked 'Skin Weights' in the uploader, the viewer crashed. ", 'What were you doing when it happened?': '.', 'What were you expecting to happen instead?': '.', 'Where': 'http://maps.secondlife.com/secondlife/Organica/214/163/26', } ```
sl-service-account commented 8 years ago

Whirly Fizzle commented at 2016-10-20T01:00:48Z, updated at 2016-10-20T01:03:49Z

Crash reproduces when uploading simplebot.dae (attached) as soon as "skin weights" is ticked in the upload preview. This is not a Bento mesh.

Callstack


Operating system: Windows NT
                  6.1.7601 Service Pack 1
CPU: x86
     GenuineIntel family 6 model 60 stepping 3
     8 CPUs

Crash reason:  EXCEPTION_ACCESS_VIOLATION_READ
Crash address: 0x0
Assertion: Unknown assertion type 0x00000000
Process uptime: 106 seconds

Thread 0 (crashed)
 0  SecondLifeViewer.exe!LLSkinningUtil::initSkinningMatrixPalette(LLMatrix4 *,int,LLMeshSkinInfo const *,LLVOAvatar *) [llskinningutil.cpp : 249 + 0x0]
    eip = 0x01b07d98   esp = 0x0022daec   ebp = 0x0022dc00   ebx = 0x0022dc10
    esi = 0x00000000   edi = 0x3d02dca4   eax = 0x00000000   ecx = 0x47053330
    edx = 0x00000000   efl = 0x00210246
    Found by: given as instruction pointer in context
 1  SecondLifeViewer.exe!_open + 0x152640
    eip = 0x02849398   esp = 0x0022db64   ebp = 0x0022dc00
    Found by: stack scanning
 2  SecondLifeViewer.exe!LLModelPreview::render() [llfloatermodelpreview.cpp : 4083 + 0x1f]
    eip = 0x016c7e22   esp = 0x0022dc08   ebp = 0x0022f9a0
    Found by: previous frame's frame pointer
 3  SecondLifeViewer.exe!LLModelPreview::render() [llfloatermodelpreview.cpp : 4083 + 0x1f]
    eip = 0x016c7e22   esp = 0x0022dc18   ebp = 0x0022f9a0
    Found by: stack scanning
 4  SecondLifeViewer.exe!LLViewerDynamicTexture::updateAllInstances() [lldynamictexture.cpp : 245 + 0x9]
    eip = 0x01565633   esp = 0x0022f9a8   ebp = 0x0022f9d8
    Found by: previous frame's frame pointer
 5  SecondLifeViewer.exe!display(int,float,int,int) [llviewerdisplay.cpp : 594 + 0x5]
    eip = 0x01bedf81   esp = 0x0022f9e0   ebp = 0x0022fc38
    Found by: call frame info
 6  SecondLifeViewer.exe!LLAppViewer::mainLoop() [llappviewer.cpp : 1452 + 0x1d]
    eip = 0x014768c6   esp = 0x0022fc40   ebp = 0x0022fdd0
    Found by: call frame info
 7  SecondLifeViewer.exe!WinMain [llappviewerwin32.cpp : 322 + 0x7]
    eip = 0x01e20f87   esp = 0x0022fdd8   ebp = 0x0022fe00
    Found by: call frame info
 8  SecondLifeViewer.exe!__tmainCRTStartup [crtexe.c : 618 + 0xe]
    eip = 0x026f4fbf   esp = 0x0022fe08   ebp = 0x0022fe4c
    Found by: call frame info
 9  kernel32.dll + 0x1336a
    eip = 0x7770336a   esp = 0x0022fe54   ebp = 0x0022fe58
    Found by: call frame info
10  ntdll.dll + 0x39902
    eip = 0x77cf9902   esp = 0x0022fe60   ebp = 0x0022fe98
    Found by: previous frame's frame pointer
11  ntdll.dll + 0x398d5
    eip = 0x77cf98d5   esp = 0x0022fea0   ebp = 0x0022feb0
    Found by: previous frame's frame pointer

Logs attached.


Second Life 5.0.0.320160 (Second Life Release)
Release Notes

You are at 81.2, 124.4, 21.9 in Testylvania Sandbox located at sim10761.agni.lindenlab.com (216.82.56.51:13009)
SLURL: http://maps.secondlife.com/secondlife/Testylvania%20Sandbox/81/124/22
(global coordinates 332,625.0, 306,300.0, 21.9)
Second Life RC BlueSteel 16.10.14.320687
Retrieving...

CPU: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz (3491.95 MHz)
Memory: 16268 MB
OS Version: Microsoft Windows 7 64-bit Service Pack 1 (Build 7601)
Graphics Card Vendor: NVIDIA Corporation
Graphics Card: GeForce GTX 750/PCIe/SSE2

Windows Graphics Driver Version: 21.21.0013.7306
OpenGL Version: 4.5.0 NVIDIA 373.06

J2C Decoder Version: KDU v7.2
Audio Driver Version: FMOD Ex 4.44.31
LLCEFLib/CEF Version: 1.5.3-(CEF-WIN-3.2526.1347-32)
Voice Server Version: Vivox 4.6.0017.22050

Packets Lost: 68/4,319 (1.6%)
October 19 2016 17:55:23
sl-service-account commented 8 years ago

Whirly Fizzle commented at 2016-10-20T01:10:45Z

I can't reproduce the crash on default release: Second Life 4.1.1.320331 (Second Life Release) But I notice on default release the skin weights tick box is greyed out until the preview model has loaded, this doesn't seem to be the case on Bento.

Is this maybe the fix in Neko? https://bitbucket.org/lindenlab/viewer-neko/commits/0b2194c27a373eec8cb36502ab162dd6d0470dd3 MAINT-6817 crash when uploading a mesh if Include skin weights checkbox is clicked before preview appears.

sl-service-account commented 8 years ago

polysail commented at 2016-10-20T01:58:31Z, updated at 2016-10-20T03:15:27Z

It looks like the skin modifier is empty. Like completely empty, no bones in the stack at all. So that explains why it's erroring?? Bento specifies "any partial number of joints included in the skin modifier is okay" ~ perhaps no one made a catch for the special case of "nothing"?

sl-service-account commented 8 years ago

polysail commented at 2016-10-20T04:24:40Z, updated at 2016-10-20T12:30:07Z

Hmmm ~ so a basic object with an empty skin gets rejected by the uploader. I'm going to have to peek at the XML to figure out what's going on with the simplebot file.

Edit: No matter what software I try and import simplebot DAE into the skinning data gets rejected as having joints referenced in the file that don't exist. Looking at the DAE XML info I can see the joints array but I don't understand why it's doing what it's doing.

I can re-skin it and make it work.

Also reading this file, it seems to have been exported in 2010 using a blender exporter. Is it possible it's just so old and out of spec that things aren't being handled right?

sl-service-account commented 8 years ago

aki.shichiroji commented at 2016-10-20T12:37:42Z

@Polysail: It's worth noting the file Whirly attached is just there for testing purposes. The experience I describe in the opening post involves some recent Bento content that is independent of simplebot.DAE and has been exported with the most recent build of Avastar. I can reproduce the crash with any of my older (pre-Bento) rigged avatars as well.

sl-service-account commented 8 years ago

polysail commented at 2016-10-20T13:40:55Z

Huhh... okay, well things are getting even weirder then.

Because, despite my inability to import simplebot.dae into my 3d software, I CAN import it into SL~ without any problems at all. https://i.gyazo.com/085a3155e7afcf0eb5225d15f19dbfdf.gif

Second Life 5.0.0.320160 (Second Life Release) Release Notes

You are at 87.2, 209.5, 3,400.8 in YIFF located at sim10362.agni.lindenlab.com (216.82.51.12:12035)
SLURL: http://maps.secondlife.com/secondlife/YIFF/87/210/3401  <-- don't judge me, I'm making sure all of our fuzzy furry friends don't have horrid bento render glitches.
(global coordinates 256,087.0, 344,273.0, 3,400.8)
Second Life RC BlueSteel 16.10.14.320687
Retrieving...

CPU: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz (3499.99 MHz)
Memory: 32641 MB
OS Version: Microsoft Windows 8 64-bit  (Build 9200) compatibility mode. real ver: 10.0 (Build 10011)  <-- not actually Windows 8.1   currently on W10 (1511) Build 10586.589
Graphics Card Vendor: NVIDIA Corporation
Graphics Card: GeForce GTX 660 Ti/PCIe/SSE2

Windows Graphics Driver Version: 21.21.0013.7290
OpenGL Version: 4.5.0 NVIDIA 372.90

J2C Decoder Version: KDU v7.2
Audio Driver Version: FMOD Ex 4.44.31
LLCEFLib/CEF Version: 1.5.3-(CEF-WIN-3.2526.1347-32)
Voice Server Version: Not Connected
Packets Lost: 0/2,674 (0.0%)
October 20 2016 06:37:35
sl-service-account commented 8 years ago

aki.shichiroji commented at 2016-10-20T13:45:09Z, updated at 2016-10-20T13:47:16Z

Okay, but the process shown in your GIF is not what I'm discussing here; I can upload mesh just fine too. It is only when I click on the 'Skin Weights' preview box that this crash occurs. https://i.gyazo.com/8fc7d442bd4ba3adf57596af9586f16f.png https://i.gyazo.com/3f97d2d73905c67b4d1842b24043fdbe.gif

sl-service-account commented 8 years ago

polysail commented at 2016-10-20T13:48:07Z, updated at 2016-10-20T13:54:18Z

Ohhhhhhhh......... DERP. That I get a repro on instantly~ I completely got the "Skin Weights" previewer and "Include skin weights" on upload preview mixed up~ It made sense!![ sort of]( sort of)

sl-service-account commented 8 years ago

Whirly Fizzle commented at 2016-10-22T21:33:31Z

Is this maybe the fix in Neko? https://bitbucket.org/lindenlab/viewer-neko/commits/0b2194c27a373eec8cb36502ab162dd6d0470dd3 MAINT-6817 crash when uploading a mesh if Include skin weights checkbox is clicked before preview appears.

Nope. Still crashes with that fixed merged into Bento.