Environment
Second Life Release 26.2.0.25386466510 (64bit)
Release Notes
You are at 224.0, 96.0, 20.7 in By Design located at simhost-0bae131d174f83bb3.agni
SLURL: https://maps.secondlife.com/secondlife/By%20Design/224/96/21
(global coordinates 242144.0, 252256.0, 20.7)
Second Life RC Ferrari 2026-06-12.27437375581
Release Notes
CPU: Apple M1 Pro (2400 MHz)
Memory: 16384 MB
OS Version: macOS 26.5.1 Darwin 25.5.0 Darwin Kernel Version 25.5.0: Mon Apr 27 20:38:56 PDT 2026; root:xnu-12377.121.6~2/RELEASE_ARM64_T6000 arm64
Graphics Card Vendor: Apple
Graphics Card: Apple M1 Pro
OpenGL Version: 4.1 Metal - 90.5
Window size: 1458x829
Font Size Adjustment: 96pt
UI Scaling: 0.75
Draw distance: 72m
Bandwidth: 10000kbit/s
LOD factor: 1.125
Render quality: 1
Texture memory: 12124MB
Disk cache: Max size 2150.4 MB (74.5% used)
HiDPI display mode:
J2C Decoder Version: KDU v8.4.1
Audio Driver Version: OpenAL, version 1.1 ALSOFT 1.24.2 / OpenAL Community / OpenAL Soft: OpenAL Soft
Dullahan: 1.24.0.202510081737
CEF: 139.0.40+g465474a+chromium-139.0.7258.139
Chromium: 139.0.7258.139
LibVLC Version: 3.0.21
Voice Server Version: Secondlife WebRTC Gateway
Packets Lost: 0/677 (0.0%)
June 26 2026 11:41:12
Description
Sometimes, when a user imports a GLTF material asset and the viewer automatically opens the material editor, the viewer attempts to open the material asset from the CDN prematurely, which has the effect of:
- Getting a 404 from the CDN, triggering an "Alert: Unable to load material".
- Viewer opens a material editor floater of the new material, which shows all textures missing
If the user closes the material editor and reopens the material from inventory, the editor shows that the material was, in fact, imported correctly with the appropriate materials.
This bug appears to be a race condition in which the viewer tries to fetch the material from the CDN before it's ready.
Reproduction steps
- Obtain some GLTF materials - I used
Avocado.gltf and AntiqueCamera.gltf from https://github.com/KhronosGroup/glTF-Sample-Assets/
- Login with the viewer
- Open Upload -> Material, and import a material
- If multiple materials are referenced in the GLTF file, opt to import them all (this should increase the chance of hitting the bug)
- Note if any errors appear
Expected results:
Successful material import every time, with the viewer showing the newly-imported materials in the material editor, including populated texture thumbnails.
Actual results:
- Sometimes (not sure of the repro rate), the viewer shows
Alert: Unable to load material.\nPlease try again. error, triggered by a 403 when trying to GET a material asset from the CDN.
- When this error occurs, the viewer opens a material editor floater for the new material, with all textures missing - looking like a real failure
- If the user closed the floater and reopens the material from agent inventory, it appears correctly with all textures populated
Example case:
- I used the Avocado and AntiqueCamera gltf materials, after verifying that they use 2k textures for all materials.
- My first upload, of Avocado.gltf, was successful.
- My second upload about 30 seconds later, of AntiqueCamera.gltf (all materials) appeared to fail partially:
- 'AntiqueCamera (tripod)' material uploaded successfully. A material asset was created in my inventory for it, and has populated textures.
- 'AntiqueCamera (camera)' material hit this issue, with a "Alert: Unable to load material", apparently triggered by a 403 from the CDN of asset 2b2af3ba-e95b-d899-756a-03635eb9e25e
- The 3 textures from 'AntiqueCamera (camera)' were actually uploaded successfully
- When I closed and reopened the (seemingly empty) 'AntiqueCamera (camera)' material in the inventory browser, it appeared properly with all 3 of its associated maps.
- The successfully imported 'AntiqueCamera (camera)' material has asset_id b8891f4e-3d44-e17d-f73f-bdc247fc5ff9, which is distinct from the asset_id that triggered the Alert message. Was the viewer trying to load the wrong asset_id?
Here are the relevant viewer logs:
Viewer SecondLife.log 1st/successful upload of Avocado.gltf
2026-06-26T00:12:03Z INFO # llui/llfloater.cpp(664) openFloater : Opening floater material editor full path: /main_view/menu_stack/world_panel/Floater View/material editor
2026-06-26T00:12:03Z WARNING #Texture# newview/lltexturefetch.cpp(1288) doWork : Trying to fetch a texture of non-default type by UUID. This probably won't work!
2026-06-26T00:12:03Z WARNING #Texture# newview/lltexturefetch.cpp(1288) doWork : Trying to fetch a texture of non-default type by UUID. This probably won't work!
2026-06-26T00:12:03Z WARNING #Texture# newview/lltexturefetch.cpp(1288) doWork : Trying to fetch a texture of non-default type by UUID. This probably won't work!
2026-06-26T00:12:03Z WARNING #CoreHttp# llcorehttp/_httppolicy.cpp(403) stageAfterCompletion : HTTP request 0xc1644f498 failed after 0 retries. Reason: Forbidden (Http_403)
2026-06-26T00:12:03Z WARNING #CoreHttp# llcorehttp/_httppolicy.cpp(403) stageAfterCompletion : HTTP request 0xc146c8a98 failed after 0 retries. Reason: Forbidden (Http_403)
2026-06-26T00:12:03Z WARNING #CoreHttp# llcorehttp/_httppolicy.cpp(403) stageAfterCompletion : HTTP request 0xc14c4b2d8 failed after 0 retries. Reason: Forbidden (Http_403)
2026-06-26T00:12:03Z WARNING #Texture# newview/lltexturefetch.cpp(2017) onCompleted : CURL GET FAILED, status: Http_403 reason: Forbidden
2026-06-26T00:12:03Z WARNING #Texture# newview/lltexturefetch.cpp(2017) onCompleted : CURL GET FAILED, status: Http_403 reason: Forbidden
2026-06-26T00:12:03Z WARNING #Texture# newview/lltexturefetch.cpp(2017) onCompleted : CURL GET FAILED, status: Http_403 reason: Forbidden
2026-06-26T00:12:03Z INFO #Texture# newview/lltexturefetch.cpp(1577) doWork : HTTP GET failed for: http://asset-cdn.glb.agni.lindenlab.com/?texture_id=91c97474-927d-02d2-a96c-8fe7ab64b2c1 Status: Http_403 Reason: 'Forbidden'
2026-06-26T00:12:03Z WARNING #Texture# newview/lltexturefetch.cpp(1606) doWork : 91c97474-927d-02d2-a96c-8fe7ab64b2c1 abort: fail harder
2026-06-26T00:12:03Z INFO #Texture# newview/lltexturefetch.cpp(1577) doWork : HTTP GET failed for: http://asset-cdn.glb.agni.lindenlab.com/?texture_id=aab5cd01-f026-a10f-0865-c7711b53cd6b Status: Http_403 Reason: 'Forbidden'
2026-06-26T00:12:03Z WARNING #Texture# newview/lltexturefetch.cpp(1606) doWork : aab5cd01-f026-a10f-0865-c7711b53cd6b abort: fail harder
2026-06-26T00:12:03Z INFO #Texture# newview/lltexturefetch.cpp(1577) doWork : HTTP GET failed for: http://asset-cdn.glb.agni.lindenlab.com/?texture_id=c512c408-78e9-90c2-4958-d8efd16985cd Status: Http_403 Reason: 'Forbidden'
2026-06-26T00:12:03Z WARNING #Texture# newview/lltexturefetch.cpp(1606) doWork : c512c408-78e9-90c2-4958-d8efd16985cd abort: fail harder
2026-06-26T00:12:06Z WARNING #CoreHttp# llcorehttp/_httppolicy.cpp(403) stageAfterCompletion : HTTP request 0xc0fa5c718 failed after 0 retries. Reason: Timeout was reached (Easy_28)
2026-06-26T00:12:06Z INFO # llmessage/llcorehttputil.cpp(276) onCompleted : Possible failure [Easy_28] cannot POST url 'https://simhost-0033a40578e197f39.agni.secondlife.io:12043/cap/f0c3d77b-d69f-e3cc-d932-c1c0bf87b7d5' because Timeout was reached
2026-06-26T00:12:07Z INFO #CoProcMgr# llmessage/llcoproceduremanager.cpp(427) enqueueCoprocedure : Coprocedure(LLViewerAssetUpload::AssetInventoryUploadCoproc(texture)) enqueuing with id=d0ee5ddb-fb9f-d359-bbae-d0cf84c7f4e7 in pool "Upload" at 0
2026-06-26T00:12:07Z INFO #CoProcMgr# llmessage/llcoproceduremanager.cpp(427) enqueueCoprocedure : Coprocedure(LLViewerAssetUpload::AssetInventoryUploadCoproc(texture)) enqueuing with id=3bab659e-d712-9280-c547-26bba580d997 in pool "Upload" at 1
2026-06-26T00:12:07Z INFO #CoProcMgr# llmessage/llcoproceduremanager.cpp(427) enqueueCoprocedure : Coprocedure(LLViewerAssetUpload::AssetInventoryUploadCoproc(texture)) enqueuing with id=3df96c4c-6325-3dd1-2ef1-3e773ab6aee9 in pool "Upload" at 2
2026-06-26T00:12:07Z INFO # newview/llviewerassetupload.cpp(168) logPreparedUpload : *** Uploading: \nType: texture\nUUID: aab5cd01-f026-a10f-0865-c7711b53cd6b\nName: Avocado (2256_Avocado_d): Avocado_baseColor\nDesc: Avocado (2256_Avocado_d): Avocado_baseColor\nExpected Upload Cost: 50\nFolder: ae4290da-787f-47b4-8045-6f0746542c1f\nAsset Type: texture
2026-06-26T00:12:07Z INFO # newview/llviewerdisplay.cpp(247) display_stats : FPS: 93.00 SESSION JITTER: 0.2108 PERIOD JITTER: 0.6243
2026-06-26T00:12:07Z INFO #Messaging# newview/llviewermessage.cpp(4490) process_money_balance_reply : L$, credit, committed: 19485 16384 30
2026-06-26T00:12:08Z INFO # newview/llviewerassetupload.cpp(168) logPreparedUpload : *** Uploading: \nType: texture\nUUID: 91c97474-927d-02d2-a96c-8fe7ab64b2c1\nName: Avocado (2256_Avocado_d): Avocado_normal\nDesc: Avocado (2256_Avocado_d): Avocado_normal\nExpected Upload Cost: 50\nFolder: ae4290da-787f-47b4-8045-6f0746542c1f\nAsset Type: texture
2026-06-26T00:12:08Z INFO #Inventory# newview/llinventorymodelbackgroundfetch.cpp(524) setAllFoldersFetched : Inventory background fetch completed
2026-06-26T00:12:08Z INFO #Messaging# newview/llviewermessage.cpp(4490) process_money_balance_reply : L$, credit, committed: 19485 16384 30
2026-06-26T00:12:09Z INFO # newview/llviewerassetupload.cpp(168) logPreparedUpload : *** Uploading: \nType: texture\nUUID: c512c408-78e9-90c2-4958-d8efd16985cd\nName: Avocado (2256_Avocado_d): Avocado_roughnessMetallic (Metallic Roughness)\nDesc: Avocado (2256_Avocado_d): Avocado_roughnessMetallic (Metallic Roughness)\nExpected Upload Cost: 50\nFolder: ae4290da-787f-47b4-8045-6f0746542c1f\nAsset Type: texture
2026-06-26T00:12:09Z INFO #Messaging# newview/llviewermessage.cpp(4490) process_money_balance_reply : L$, credit, committed: 19435 16384 30
2026-06-26T00:12:09Z INFO #Messaging# newview/llviewermessage.cpp(4490) process_money_balance_reply : L$, credit, committed: 19435 16384 30
2026-06-26T00:12:09Z INFO # llui/llfloater.cpp(714) closeFloater : Closing floater material editor
2026-06-26T00:12:09Z INFO #Messaging# newview/llviewermessage.cpp(4490) process_money_balance_reply : L$, credit, committed: 19385 16384 30
2026-06-26T00:12:09Z INFO #Messaging# newview/llviewermessage.cpp(4490) process_money_balance_reply : L$, credit, committed: 19385 16384 30
2026-06-26T00:12:09Z INFO #CoProcMgr# llmessage/llcoproceduremanager.cpp(427) enqueueCoprocedure : Coprocedure(LLViewerAssetUpload::AssetInventoryUploadCoproc(material)) enqueuing with id=4a7849e6-35d2-73e4-2745-eb7dc0d85aff in pool "Upload" at 0
2026-06-26T00:12:09Z INFO # newview/llviewerassetupload.cpp(168) logPreparedUpload : *** Uploading: \nType: material\nUUID: dcda6229-b5f8-c66c-39d1-fa101e3c32c5\nName: \nDesc: \nExpected Upload Cost: 0\nFolder: 00000000-0000-0000-0000-000000000000\nAsset Type: material
2026-06-26T00:12:10Z INFO # newview/llviewerassetupload.cpp(787) finishUpload : Inventory item Avocado (2256_Avocado_d) saved into 8699e44e-1884-cce9-4e5d-2a70f95f1c46
2026-06-26T00:12:10Z INFO #Material# newview/llmaterialeditor.cpp(1561) operator() : inventory item uploaded. item: 9ff996ac-ddd9-3891-a50b-002cc0cc1c43 new_item_id: 9ff996ac-ddd9-3891-a50b-002cc0cc1c43 response: {'http_result':{'headers':{},'message':'','status':i0,'success':1,'type':i200,'url':'https://simhost-0bae131d174f83bb3.agni.secondlife.io:12043/cap/dc514f43-7b1e-fbd7-1558-838317bcc948'},'new_asset':u8699e44e-1884-cce9-4e5d-2a70f95f1c46,'state':'complete','success':1,'upload_price':!}
Viewer SecondLife.log 2nd/failed upload of AntiqueCamera.gltf
2026-06-26T00:12:29Z WARNING # llcommon/lluuid.cpp(231) set : Bad UUID string: camera_camera_BaseColor.png
2026-06-26T00:12:29Z WARNING # llcommon/lluuid.cpp(231) set : Bad UUID string: camera_camera_Normal.png
2026-06-26T00:12:29Z WARNING # llcommon/lluuid.cpp(231) set : Bad UUID string: camera_camera_Roughness.png
2026-06-26T00:12:29Z WARNING # llcommon/lluuid.cpp(231) set : Bad UUID string: camera_tripod_BaseColor.png
2026-06-26T00:12:29Z WARNING # llcommon/lluuid.cpp(231) set : Bad UUID string: camera_tripod_Normal.png
2026-06-26T00:12:29Z WARNING # llcommon/lluuid.cpp(231) set : Bad UUID string: camera_tripod_Roughness.png
2026-06-26T00:12:29Z INFO # llui/llfloater.cpp(664) openFloater : Opening floater bulk_upload full path: /main_view/menu_stack/world_panel/Floater View/bulk_upload
2026-06-26T00:12:29Z INFO # llui/llfloater.cpp(714) closeFloater : Closing floater floater_combo
2026-06-26T00:12:30Z INFO #Messaging# llmessage/llpacketring.cpp(362) dumpPacketRingStats : Packet ring stats: \nBuffered packets: 0\nBuffered bytes: 0\nDropped packets current: 0\nDropped packets total: 0\nDropped packets percentage: 0%\nActual in bytes: 0\nActual out bytes: 0
2026-06-26T00:12:33Z INFO #CoProcMgr# llmessage/llcoproceduremanager.cpp(427) enqueueCoprocedure : Coprocedure(LLViewerAssetUpload::AssetInventoryUploadCoproc(texture)) enqueuing with id=12aee347-f719-5359-149e-8f13c491e1b7 in pool "Upload" at 0
2026-06-26T00:12:33Z INFO #CoProcMgr# llmessage/llcoproceduremanager.cpp(427) enqueueCoprocedure : Coprocedure(LLViewerAssetUpload::AssetInventoryUploadCoproc(texture)) enqueuing with id=d2bc60c8-825a-f5a2-bece-6b17e1877293 in pool "Upload" at 1
2026-06-26T00:12:33Z INFO #CoProcMgr# llmessage/llcoproceduremanager.cpp(427) enqueueCoprocedure : Coprocedure(LLViewerAssetUpload::AssetInventoryUploadCoproc(texture)) enqueuing with id=ffca9426-c9c7-4953-a309-5de6b65c929c in pool "Upload" at 2
2026-06-26T00:12:34Z INFO #CoProcMgr# llmessage/llcoproceduremanager.cpp(427) enqueueCoprocedure : Coprocedure(LLViewerAssetUpload::AssetInventoryUploadCoproc(texture)) enqueuing with id=2648447d-3a65-323b-01e6-cb1d093d9c0c in pool "Upload" at 3
2026-06-26T00:12:34Z INFO #CoProcMgr# llmessage/llcoproceduremanager.cpp(427) enqueueCoprocedure : Coprocedure(LLViewerAssetUpload::AssetInventoryUploadCoproc(texture)) enqueuing with id=b635658a-2dba-de97-d6f7-daf4946f0adc in pool "Upload" at 4
2026-06-26T00:12:34Z INFO #CoProcMgr# llmessage/llcoproceduremanager.cpp(427) enqueueCoprocedure : Coprocedure(LLViewerAssetUpload::AssetInventoryUploadCoproc(texture)) enqueuing with id=6958bf40-d194-bbc5-302e-5c1b2b56b6c0 in pool "Upload" at 5
2026-06-26T00:12:34Z INFO # llui/llfloater.cpp(714) closeFloater : Closing floater bulk_upload
2026-06-26T00:12:34Z INFO # newview/llviewerassetupload.cpp(168) logPreparedUpload : *** Uploading: \nType: texture\nUUID: 4d60e50a-de15-0506-c496-d704e86af68e\nName: AntiqueCamera (camera): camera_camera_BaseColor\nDesc: AntiqueCamera (camera): camera_camera_BaseColor\nExpected Upload Cost: 50\nFolder: ae4290da-787f-47b4-8045-6f0746542c1f\nAsset Type: texture
2026-06-26T00:12:35Z INFO # newview/llviewerassetupload.cpp(168) logPreparedUpload : *** Uploading: \nType: texture\nUUID: 2caf73bd-2079-6b4e-3b7f-912bd77cec5b\nName: AntiqueCamera (camera): camera_camera_Normal\nDesc: AntiqueCamera (camera): camera_camera_Normal\nExpected Upload Cost: 50\nFolder: ae4290da-787f-47b4-8045-6f0746542c1f\nAsset Type: texture
2026-06-26T00:12:35Z INFO #Messaging# newview/llviewermessage.cpp(4490) process_money_balance_reply : L$, credit, committed: 19335 16384 30
2026-06-26T00:12:35Z INFO #Messaging# newview/llviewermessage.cpp(4490) process_money_balance_reply : L$, credit, committed: 19335 16384 30
2026-06-26T00:12:36Z WARNING #CoreHttp# llcorehttp/_httppolicy.cpp(403) stageAfterCompletion : HTTP request 0xc1641d198 failed after 0 retries. Reason: Timeout was reached (Easy_28)
2026-06-26T00:12:36Z INFO # llmessage/llcorehttputil.cpp(276) onCompleted : Possible failure [Easy_28] cannot POST url 'https://simhost-0033a40578e197f39.agni.secondlife.io:12043/cap/f0c3d77b-d69f-e3cc-d932-c1c0bf87b7d5' because Timeout was reached
2026-06-26T00:12:36Z INFO # newview/llviewerassetupload.cpp(168) logPreparedUpload : *** Uploading: \nType: texture\nUUID: d711760b-57dc-43c5-d70a-c78782ad4537\nName: AntiqueCamera (camera): camera_camera_Roughness (Metallic Roughness)\nDesc: AntiqueCamera (camera): camera_camera_Roughness (Metallic Roughness)\nExpected Upload Cost: 50\nFolder: ae4290da-787f-47b4-8045-6f0746542c1f\nAsset Type: texture
2026-06-26T00:12:36Z INFO #Messaging# newview/llviewermessage.cpp(4490) process_money_balance_reply : L$, credit, committed: 19285 16384 30
2026-06-26T00:12:36Z INFO #Messaging# newview/llviewermessage.cpp(4490) process_money_balance_reply : L$, credit, committed: 19285 16384 30
2026-06-26T00:12:37Z INFO # llui/llfloater.cpp(714) closeFloater : Closing floater material editor
2026-06-26T00:12:37Z INFO # newview/llviewerassetupload.cpp(168) logPreparedUpload : *** Uploading: \nType: texture\nUUID: 116529f1-8884-d151-6a5c-a4b82ecfcad4\nName: AntiqueCamera (tripod): camera_tripod_BaseColor\nDesc: AntiqueCamera (tripod): camera_tripod_BaseColor\nExpected Upload Cost: 50\nFolder: ae4290da-787f-47b4-8045-6f0746542c1f\nAsset Type: texture
2026-06-26T00:12:37Z INFO #Messaging# newview/llviewermessage.cpp(4490) process_money_balance_reply : L$, credit, committed: 19235 16384 30
2026-06-26T00:12:37Z INFO #CoProcMgr# llmessage/llcoproceduremanager.cpp(427) enqueueCoprocedure : Coprocedure(LLViewerAssetUpload::AssetInventoryUploadCoproc(material)) enqueuing with id=9e4b3e87-52c6-d308-7ee2-185caf1aa5a5 in pool "Upload" at 2
2026-06-26T00:12:37Z INFO #Messaging# newview/llviewermessage.cpp(4490) process_money_balance_reply : L$, credit, committed: 19235 16384 30
2026-06-26T00:12:37Z INFO # newview/llviewerdisplay.cpp(247) display_stats : FPS: 74.10 SESSION JITTER: 0.2569 PERIOD JITTER: 0.7462
2026-06-26T00:12:38Z INFO # newview/llviewerassetupload.cpp(168) logPreparedUpload : *** Uploading: \nType: texture\nUUID: d3fb6c44-16d7-91d6-139e-6c718de02413\nName: AntiqueCamera (tripod): camera_tripod_Normal\nDesc: AntiqueCamera (tripod): camera_tripod_Normal\nExpected Upload Cost: 50\nFolder: ae4290da-787f-47b4-8045-6f0746542c1f\nAsset Type: texture
2026-06-26T00:12:38Z INFO #Messaging# newview/llviewermessage.cpp(4490) process_money_balance_reply : L$, credit, committed: 19185 16384 30
2026-06-26T00:12:38Z INFO #Messaging# newview/llviewermessage.cpp(4490) process_money_balance_reply : L$, credit, committed: 19185 16384 30
2026-06-26T00:12:38Z WARNING # llui/llview.h(725) getChild : Making dummy 8LLUICtrl named "desc" in floater
2026-06-26T00:12:38Z INFO # llui/llfloater.cpp(664) openFloater : Opening floater material editor full path: /main_view/menu_stack/world_panel/Floater View/material editor
2026-06-26T00:12:38Z INFO #CoProcMgr# llmessage/llcoproceduremanager.cpp(427) enqueueCoprocedure : Coprocedure(LLViewerAssetStorage::assetRequestCoro) enqueuing with id=993eaeeb-dc08-2d0e-ffe7-5f30de194da1 in pool "AssetStorage" at 0
2026-06-26T00:12:38Z WARNING #CoreHttp# llcorehttp/_httppolicy.cpp(403) stageAfterCompletion : HTTP request 0xc1039ce18 failed after 0 retries. Reason: Forbidden (Http_403)
2026-06-26T00:12:38Z INFO # llmessage/llcorehttputil.cpp(276) onCompleted : Possible failure [Http_403] cannot GET url 'http://asset-cdn.glb.agni.lindenlab.com/?material_id=2b2af3ba-e95b-d899-756a-03635eb9e25e' because Forbidden
2026-06-26T00:12:38Z WARNING # newview/lltoastalertpanel.cpp(197) LLToastAlertPanel::LLToastAlertPanel : Alert: Unable to load material.\nPlease try again.
2026-06-26T00:12:38Z WARNING #MaterialEditor# newview/llmaterialeditor.cpp(3524) onLoadComplete : Problem loading material: -1
2026-06-26T00:12:39Z INFO # newview/llviewerassetupload.cpp(168) logPreparedUpload : *** Uploading: \nType: texture\nUUID: dfb62f38-dc38-7040-629a-000c47fce102\nName: AntiqueCamera (tripod): camera_tripod_Roughness (Metallic Roughness)\nDesc: AntiqueCamera (tripod): camera_tripod_Roughness (Metallic Roughness)\nExpected Upload Cost: 50\nFolder: ae4290da-787f-47b4-8045-6f0746542c1f\nAsset Type: texture
2026-06-26T00:12:39Z INFO #Messaging# newview/llviewermessage.cpp(4490) process_money_balance_reply : L$, credit, committed: 19135 16384 30
2026-06-26T00:12:39Z INFO #Messaging# newview/llviewermessage.cpp(4490) process_money_balance_reply : L$, credit, committed: 19135 16384 30
2026-06-26T00:12:40Z INFO # llui/llfloater.cpp(714) closeFloater : Closing floater material editor
2026-06-26T00:12:40Z INFO # newview/llviewerassetupload.cpp(168) logPreparedUpload : *** Uploading: \nType: material\nUUID: 28ffb4b2-36f1-1f51-fb4d-51b9c054b55b\nName: \nDesc: \nExpected Upload Cost: 0\nFolder: 00000000-0000-0000-0000-000000000000\nAsset Type: material
2026-06-26T00:12:40Z INFO #Messaging# newview/llviewermessage.cpp(4490) process_money_balance_reply : L$, credit, committed: 19085 16384 30
2026-06-26T00:12:40Z INFO #Messaging# newview/llviewermessage.cpp(4490) process_money_balance_reply : L$, credit, committed: 19085 16384 30
2026-06-26T00:12:40Z INFO #CoProcMgr# llmessage/llcoproceduremanager.cpp(427) enqueueCoprocedure : Coprocedure(LLViewerAssetUpload::AssetInventoryUploadCoproc(material)) enqueuing with id=04fc480b-2848-b26d-2e5b-66ca2329dce5 in pool "Upload" at 0
2026-06-26T00:12:40Z INFO # newview/llviewerassetupload.cpp(787) finishUpload : Inventory item AntiqueCamera (camera) saved into b8891f4e-3d44-e17d-f73f-bdc247fc5ff9
2026-06-26T00:12:40Z INFO #Material# newview/llmaterialeditor.cpp(1561) operator() : inventory item uploaded. item: 20768aa5-e9c6-3e92-96fa-7cd0e35109a8 new_item_id: 20768aa5-e9c6-3e92-96fa-7cd0e35109a8 response: {'http_result':{'headers':{},'message':'','status':i0,'success':1,'type':i200,'url':'https://simhost-0bae131d174f83bb3.agni.secondlife.io:12043/cap/23c9e678-8549-370c-3f8e-d81837b619ee'},'new_asset':ub8891f4e-3d44-e17d-f73f-bdc247fc5ff9,'state':'complete','success':1,'upload_price':!}
2026-06-26T00:12:40Z INFO # newview/llviewerassetupload.cpp(168) logPreparedUpload : *** Uploading: \nType: material\nUUID: d430242c-5b20-fee4-5e8b-d8018e2bacb9\nName: \nDesc: \nExpected Upload Cost: 0\nFolder: 00000000-0000-0000-0000-000000000000\nAsset Type: material
2026-06-26T00:12:40Z INFO # newview/llviewerassetupload.cpp(787) finishUpload : Inventory item AntiqueCamera (tripod) saved into 704a8c2d-3e0e-b947-2783-85c151b13410
2026-06-26T00:12:40Z INFO #Material# newview/llmaterialeditor.cpp(1561) operator() : inventory item uploaded. item: 73f5a148-c4a0-3129-b64f-6d986504355c new_item_id: 73f5a148-c4a0-3129-b64f-6d986504355c response: {'http_result':{'headers':{},'message':'','status':i0,'success':1,'type':i200,'url':'https://simhost-0bae131d174f83bb3.agni.secondlife.io:12043/cap/7bc86eb8-022b-c832-044c-5f4a27b2a888'},'new_asset':u704a8c2d-3e0e-b947-2783-85c151b13410,'state':'complete','success':1,'upload_price':!}
I have additionally captured the related server-side logs at https://paste.lindenlab.com/show/49394/ - as expected, I don't see any errors on that side of things, since the viewer was actually imported successfully.
Environment
Second Life Release 26.2.0.25386466510 (64bit)
Release Notes
You are at 224.0, 96.0, 20.7 in By Design located at simhost-0bae131d174f83bb3.agni
SLURL: https://maps.secondlife.com/secondlife/By%20Design/224/96/21
(global coordinates 242144.0, 252256.0, 20.7)
Second Life RC Ferrari 2026-06-12.27437375581
Release Notes
CPU: Apple M1 Pro (2400 MHz)
Memory: 16384 MB
OS Version: macOS 26.5.1 Darwin 25.5.0 Darwin Kernel Version 25.5.0: Mon Apr 27 20:38:56 PDT 2026; root:xnu-12377.121.6~2/RELEASE_ARM64_T6000 arm64
Graphics Card Vendor: Apple
Graphics Card: Apple M1 Pro
OpenGL Version: 4.1 Metal - 90.5
Window size: 1458x829
Font Size Adjustment: 96pt
UI Scaling: 0.75
Draw distance: 72m
Bandwidth: 10000kbit/s
LOD factor: 1.125
Render quality: 1
Texture memory: 12124MB
Disk cache: Max size 2150.4 MB (74.5% used)
HiDPI display mode:
J2C Decoder Version: KDU v8.4.1
Audio Driver Version: OpenAL, version 1.1 ALSOFT 1.24.2 / OpenAL Community / OpenAL Soft: OpenAL Soft
Dullahan: 1.24.0.202510081737
CEF: 139.0.40+g465474a+chromium-139.0.7258.139
Chromium: 139.0.7258.139
LibVLC Version: 3.0.21
Voice Server Version: Secondlife WebRTC Gateway
Packets Lost: 0/677 (0.0%)
June 26 2026 11:41:12
Description
Sometimes, when a user imports a GLTF material asset and the viewer automatically opens the material editor, the viewer attempts to open the material asset from the CDN prematurely, which has the effect of:
If the user closes the material editor and reopens the material from inventory, the editor shows that the material was, in fact, imported correctly with the appropriate materials.
This bug appears to be a race condition in which the viewer tries to fetch the material from the CDN before it's ready.
Reproduction steps
Avocado.gltfandAntiqueCamera.gltffrom https://github.com/KhronosGroup/glTF-Sample-Assets/Expected results:
Successful material import every time, with the viewer showing the newly-imported materials in the material editor, including populated texture thumbnails.
Actual results:
Alert: Unable to load material.\nPlease try again.error, triggered by a 403 when trying to GET a material asset from the CDN.Example case:
Here are the relevant viewer logs:
Viewer SecondLife.log 1st/successful upload of Avocado.gltf
Viewer SecondLife.log 2nd/failed upload of AntiqueCamera.gltf
I have additionally captured the related server-side logs at https://paste.lindenlab.com/show/49394/ - as expected, I don't see any errors on that side of things, since the viewer was actually imported successfully.