Viewer Bug Reports

• Use concise, precise descriptions
• Do not include sensitive information.
• Create a support ticket at https://support.secondlife.com for individual account issues or sensitive information.
Random root object assignment upon upload of multi-object DAE file
I have not tried this on the SL viewer, and if asked to I will certainly do so, but with the current release of Firestorm I have found that the root object assignment upon uploading a DAE file with multiple objects the resulting linkset inworld will be random, where I would expect it to be either the last or the first object listed in the DAE file, preferably the first one since in Blender that's the "Active" object. My testing as follows: Select to upload a DAE file that contains multiple objects, in my case where the object "Cube.nnnn" is the first listed one. Set LOD settings and pick one of the LODs to serve as Physics too. Complete the upload, and rez the object. Find out the root of the linkset. Repeat the steps a bunch of times with the same DAE file. Whenever the cube is not the root, the object that becomes the root gets the name of the cube, losing its actual object name. The cube itself keeps its name, resulting in two objects in the linkset with the same name. Attached is an image showing three of my attempts (out of maybe ten uploads of the same DAE). So, why is this important? Well, my case is that I am building a full region terrain with my wife, which requires splitting the mesh up into 64x64x64 chunks (or less). It also requires fitting them together exactly inworld. We found that the way to do this properly, we'd enclose the component meshes in 64x64x64 cubes, which can easily be aligned to each other, and in relation to the region of 256x256, a total of 32 cubes for one layer covering the whole region, it's easy to place them on the grid by way of calculated offsets. We can also automate the placement of the cubes using scripts, by having the script look at the name of the root object and then move the cube to a predetermined position based on that name. None of this works however, if the cube isn't the root object. It's easy to change it to be the root object, if one has one or two linksets, but dealing with a multitude of them it's quite a lot of extra work, especially during testing (on the beta grid). If it's needed for testing, I'd gladly send the DAE file, and I can send the already uploaded cubes (displayed in the attached screenshot), they are on the beta grid not on the main grid. Thank you!
4
·

tracked

Sound encoding on upload is nondeterministic, preventing asset reuse
Now, I'm making a presumption here that sounds, like other assets, should be checking for existing duplicates based on some kind of hashing and not create copies, much like it works for textures. The encoding used in sound upload is nondeterministic and prevents this: it uses a random value for the Vorbis stream serial number, which results in binary differences as the metadata is different even if the audio data itself may not be. Steps to reproduce: Prepare any SL-acceptable .wav file for upload. Upload the same file to Second Life twice. Copy and write down the asset UUID for the first file, then the second. Confirm they do not match. Browse to temp files directory and guesstimate which files are the .ogg files based on size and date. Rename the .tmp to .ogg to test audio playback. Perform a binary file compare: there will be a couple mismatches, often the same byte patterns, suggesting the metadata is the only thing that has changed. Curtailed results from Windows FC: fc /b 3b53c3a9-c301-b9d3-9318-47383d0b2488.ogg 79705d70-6488-60bc-5c6c-03e5882598f0.ogg Comparing files 3b53c3a9-c301-b9d3-9318-47383d0b2488.ogg and 79705D70-6488-60BC-5C6C-03E5882598F0.OGG 0000000E: E3 97 0000000F: 4F 6D ... 00000DDC: E3 97 00000DDD: 4F 6D ... 00002F38: E3 97 00002F39: 4F 6D ... The code in question is in llaudio\llvorbisencode.cpp, encode_vorbis_file() function: ogg_stream_init(&os, ll_rand());. Maybe it should be computing a hash of the .wav file to use as a serial instead, if asset duplication is not intentional for sounds.
2
·

tracked