singularity-do-not-run-directly: /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llcommon/llmemory.h:219: void ll_memcpy_nonaliased_aligned_16(char*, const char*, size_t): Assertion `src != __null' failed.

 Program received signal SIGABRT, Aborted.
 [Switching to Thread 0x7fff3342f700 (LWP 18001)]
 0x00007ffff0f951d5 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
 56      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
 (gdb) bt
 #0  0x00007ffff0f951d5 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
 #1  0x00007ffff0f98388 in __GI_abort () at abort.c:90
 #2  0x00007ffff0f8e252 in __assert_fail_base (fmt=0x7ffff10cc080 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x2c7ca97 "src != __null",
     file=file@entry=0x2c7ca40 "/opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llcommon/llmemory.h", line=line@entry=219,
     function=function@entry=0x2c7dc60 "void ll_memcpy_nonaliased_aligned_16(char*, const char*, size_t)") at assert.c:92
 #3  0x00007ffff0f8e302 in __GI___assert_fail (assertion=0x2c7ca97 "src != __null", file=0x2c7ca40 "/opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llcommon/llmemory.h",
     line=219, function=0x2c7dc60 "void ll_memcpy_nonaliased_aligned_16(char*, const char*, size_t)") at assert.c:101
 #4  0x0000000001b3ebd9 in ll_memcpy_nonaliased_aligned_16 (dst=0x7fff2c39f440 "\001", src=0x0, bytes=0)
     at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llcommon/llmemory.h:219
 #5  0x0000000001e09d93 in LLVector4a::memcpyNonAliased16 (dst=0x7fff2c39f440, src=0x0, bytes=0)
     at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llmath/llvector4a.cpp:44
 #6  0x0000000001e2a13c in LLVolumeFace::pushVertex (this=0x7fff3342daf0, pos=..., norm=..., tc=...)
     at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llmath/llvolume.cpp:6106
 #7  0x0000000001e2a03f in LLVolumeFace::pushVertex (this=0x7fff3342daf0, cv=...) at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llmath/llvolume.cpp:6080
 #8  0x0000000001e20498 in LLVolumeFace::optimize (this=0x7fff2c39ee20, angle_cutoff=2) at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llmath/llvolume.cpp:4841
 #9  0x0000000001aa61d4 in LLModel::optimizeVolumeFaces (this=0x7fff2c39e100) at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llprimitive/llmodel.cpp:866
 #10 0x0000000001aa5f28 in LLModel::createVolumeFacesFromDomMesh (this=0x7fff2c39e100, mesh=0x7fff2c36cc90)
     at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llprimitive/llmodel.cpp:829
 #11 0x0000000001aa8324 in LLModel::loadModelFromDomMesh (mesh=0x7fff2c36cc90) at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llprimitive/llmodel.cpp:1402
 #12 0x0000000000a9bc11 in LLModelLoader::doLoadModel (this=0x7fff4f74d480) at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/newview/llfloatermodelpreview.cpp:1535
 #13 0x0000000000a9b100 in LLModelLoader::run (this=0x7fff4f74d480) at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/newview/llfloatermodelpreview.cpp:1395
 #14 0x00007ffff5e52e9a in LLThread::staticRun (apr_threadp=0x7ffff7e572e0, datap=0x7fff4f74d480)
     at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llcommon/llthread.cpp:93
 #15 0x00007ffff7bc6e0e in start_thread (arg=0x7fff3342f700) at pthread_create.c:311
 #16 0x00007ffff10490fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

This happened while loading some .dae.
This commit is contained in:
Aleric Inglewood
2013-12-28 20:46:10 +01:00
parent a4b2ecc4f7
commit 2062431f23

View File

@@ -6102,19 +6102,30 @@ void LLVolumeFace::pushVertex(const LLVector4a& pos, const LLVector4a& norm, con
mNormals = mPositions+new_verts;
mTexCoords = (LLVector2*) (mNormals+new_verts);
//positions
LLVector4a::memcpyNonAliased16((F32*) mPositions, (F32*) old_buf, old_vsize);
//normals
LLVector4a::memcpyNonAliased16((F32*) mNormals, (F32*) (old_buf+mNumVertices), old_vsize);
//<singu>
llassert(mNumVertices || (old_buf == NULL && mTangents == NULL));
if (mNumVertices) // It turns out this can be zero, in which case old_buf (and mTangents) is NULL.
{
//</singu>
//tex coords
LLVector4a::memcpyNonAliased16((F32*) mTexCoords, (F32*) (old_buf+mNumVertices*2), old_tc_size);
//positions
LLVector4a::memcpyNonAliased16((F32*) mPositions, (F32*) old_buf, old_vsize);
//just clear tangents
ll_aligned_free_16(mTangents);
mTangents = NULL;
ll_aligned_free(old_buf);
//normals
LLVector4a::memcpyNonAliased16((F32*) mNormals, (F32*) (old_buf+mNumVertices), old_vsize);
//tex coords
LLVector4a::memcpyNonAliased16((F32*) mTexCoords, (F32*) (old_buf+mNumVertices*2), old_tc_size);
ll_aligned_free(old_buf);
//<singu>
}
//</singu>
//just clear tangents
ll_aligned_free_16(mTangents);
mTangents = NULL;
mNumAllocatedVertices = new_verts;