Jump to content

Strange baked JPEG 2000 eyeball texture


animats
 Share

Recommended Posts

This comes from chasing down a problem with the Firestorm viewer when built self-compiled. Self-compiled, Firestorm uses OpenJPEG to decode JPEG 2000 images. Built officially, it uses a proprietary decoder from Kakadu, which used to be faster. The self-compiled version was crashing on some rare texture images. Here's one of them.

c5b219fb-9185-6f0d-27b0-72b7f8d914a0.jpg.cd693c8360e56ed09766f137b361428f.jpg

Eye texture. 128x128. Converted to classic JPEG for display here using an online file converter, with difficulty.

This image in its original form crashes most graphics programs. Most images have 1 channel (monochrome), 2 (monochrome + alpha), 3 (RGB), or 4 (RGBA). This has 5. Firestorm can't handle that.

The original file, on SL's servers, is here: http://bake-texture.glb.agni.lindenlab.com/texture/68737668-f9fc-4d10-8c41-7b7f1db046c0/eyes/c5b219fb-9185-6f0d-27b0-72b7f8d914a0

You can download it from there and try to open it. It has no suffix, but it is a .jp2 file.

This crashes self-compiled Firestorm 5.1.5 and earlier versions. I put in a fix which logs this as an error and continues, and now we can look at the bug.

So that's where I got this texture file. But how did it get onto the SL servers? Is it supposed to be that way? Is it an upload error, or what? What creates those baked texture eyes?

I haven't yet found the avatar which triggers this. It seems to be random, about once a day. I just visited some busy places with many avatars as a test, but I haven't found the specific eye which triggers this bug yet.

 

Edited by animats
More info
Link to comment
Share on other sites

I don't think FS uses OpenJPEG. On the splash screen they advertise using Kakado's JPEG library to handle the JPEG2000 images used by the SL system, which also uses Kakado. This is a big plus for use of the Linden and Firestorm viewers.

If you self compile, you would need to use pre-compiled Kakado libraries... Do they exist for general use? I doubt it. But, I don't know. Or you would need a Kakado license.

I suggest you IM or or otherwise contact some of the people in the Firestorm team for information in how they handle compilation by individuals without access to Kakado.

  • Thanks 1
Link to comment
Share on other sites

3 minutes ago, Nalates Urriah said:

I don't think FS uses OpenJPEG.

It does if you build it yourself. LL is apparently transitioning to OpenJPEG on their side, but that's not out yet. The Kakado license is expensive; Firestorm says in their fund-raising it's their biggest expense. Kakado's decoder used to be much faster, but newer versions of OpenJPEG have apparently caught up.

Edited by animats
More info.
  • Thanks 2
Link to comment
Share on other sites

The 5 channel jpegs are part of the legacy baking. This dates back to the time before server side baking. It is possible that this is still the case with Server Side Baking. though the fact you do not see this very often suggests that this may not be the case. The implication would seem to be that there are some of these legacy images being retrieved by UUID. They could not have been uploaded in that form.

The lab is changing the entire cache handling in the near future and this may well fix the crash that you are experiencing. The problem texture should be raised to their attention though. With bakes on mesh requiring changes in the baking service now is the time to raise awareness of it so that they can decide if this is actually expected behaviour. 

 

 

  • Like 3
Link to comment
Share on other sites

On 6/8/2018 at 12:51 PM, Beq Janus said:

With bakes on mesh requiring changes in the baking service now is the time to raise awareness of it so that they can decide if this is actually expected behaviour.

Yes. I got 11 more hits on this bug today doing the Drivers of SL drive. Always a legacy baked texture, and almost always an eye texture. But one texture was a "lower", an entire lower body texture, and it bore a copyright notice from Mallory Cowen. So I sent a notecard to the creator's store, to try to find the avatar to which the texture belongs. If the bug could be triggered on demand, debugging would be much easier.

All this is just to get self-compiled Firestorm working again. That's been broken for months, and inhibits development. The core Firestorm team uses some binaries that aren't open source, so their builds don't have this bug.

Link to comment
Share on other sites

8 hours ago, animats said:

Yes. I got 11 more hits on this bug today doing the Drivers of SL drive. Always a legacy baked texture, and almost always an eye texture. But one texture was a "lower", an entire lower body texture, and it bore a copyright notice from Mallory Cowen. So I sent a notecard to the creator's store, to try to find the avatar to which the texture belongs. If the bug could be triggered on demand, debugging would be much easier.

All this is just to get self-compiled Firestorm working again. That's been broken for months, and inhibits development. The core Firestorm team uses some binaries that aren't open source, so their builds don't have this bug.

Mallory Cowen is the designer for LAQ, one of the largest skin stores in Second Life. They've been in business for at least ten years, I'd imagine. During the time of 2009-2011 someone wearing a LAQ skin would be as common as someone wearing a Catwa mesh head today. Between my various avatars I own dozens of skins from them.

With skins lower body textures are usually shared between several different skin lines. You only have the UUID of the bake, which is not the UUID of the actual skin texture and which will not allow the maker to trace that texture to a specific skin, much less a specific avatar, which wouldn't be possible even with the actual UUID. On top of that, some of their skins were ripped and distributed freely years ago and still have the Mallory Cowen copyright information so you don't know if its even from a legitimate customer.

Have you noticed various people becoming irritated with you over your time in Second Life? It's not entirely due to their age and complacency.

 

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

  • 4 months later...
On 08 June 2018 at 6:07 PM, animats said:

Eye texture. 128x128. Converted to classic JPEG for display here using an online file converter, with difficulty.

This image in its original form crashes most graphics programs. Most images have 1 channel (monochrome), 2 (monochrome + alpha), 3 (RGB), or 4 (RGBA). This has 5. Firestorm can't handle that.

Try Irfanview, it opens them, and it's free...

bad-jpeg2000-info.jpg.484cd609722f2357dc1f3391079ee9f1.jpg

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

3 minutes ago, Macrocosm Draegonne said:

It totally didn't occur to me that we were allowed to compile our own viewer, so long as we follow the rules.  I must prevent myself from jumping down that rabbit hole anytime soon, I would love to tinker with that very much!

If you self-compile Firestorm, you need to be prepared to fix Firestorm. The primary developers do not support the self-compiled version. That said, I've been running Firestorm 5.1.9 for weeks without a crash. All it needs is the fix discussed above

Link to comment
Share on other sites

1 minute ago, animats said:

If you self-compile Firestorm, you need to be prepared to fix Firestorm. The primary developers do not support the self-compiled version. That said, I've been running Firestorm 5.1.9 for weeks without a crash. All it needs is the fix discussed above

Firestorm is awesome, definitely my go-too when im building and most often my general play, I also use blackdragon when im doing photoshoots and such, which is another great viewer.

I dont mean to pry too much, so feel free not to answer of course, but what compels you to compile your own?  Working out some new feature potentials or just for your own enjoyment?

Link to comment
Share on other sites

19 minutes ago, Macrocosm Draegonne said:

I dont mean to pry too much, so feel free not to answer of course, but what compels you to compile your own?  Working out some new feature potentials or just for your own enjoyment?

The Messiah Noob of Kama City, has blessed SL with his presence, to SAVE SecondLife, from it's self, with a whole string of AWESOME suggestions...

Most of those AWESOME suggestions can be found by looking for the howls of laughter, and/or outrage from Ungodly Servants of Stan, like my self, who are, for some reason, opposed to the Will of the Messiah Noob...

The suggestion to legalise copybotting on any SL product that hadn't been updated in the past 12 months, was one such suggestion.

On 10 June 2018 at 11:41 AM, Theresa Tennyson said:

Have you noticed various people becoming irritated with you over your time in Second Life? It's not entirely due to their age and complacency.

There are MANY Ungodly Servants of Stan, opposing the Will of the Messiah Noob...

But the Messiah-Noob's real mission here amongst us, is to fix sim crossings by means of kludgy and often misguided attempts to create Self-Compile FS builds, that fail to address the fact that the fundamental problems with sim crossings are almost ALL server side, not client side. 

The goal of fixing sim crossings for motorcycles (cars too, and he won't object if boat and plane users benefit a little) is because obviously, the KEY to SL's survival is the ability of the Kama City Chapter of the Son's of Stupidity Outlaw MC, to go cruising around Kama City looking for gritty urban hellhole rape RP on their Hurley Dumbasson "B*tch-Hunter" motorcycles...

;) 



 

  • Haha 2
Link to comment
Share on other sites

1 hour ago, Klytyna said:

the fundamental problems with sim crossings are almost ALL server side, not client side

Yeah thats what I assumed about it being mostly server side, however there was a nice little feature added to Firestorm recently that keeps you from flying off sideways at least.  Its quite nice that.

It seems the challenge is to have a macro level landspace, or at least groups of them, joining all actually connected SIMs to a logical zone, some would just be a few, mainland has several big continents.  This way you're always traversing the one thing, like a lot of MMO's do, but then you'd also need to still have consideration for the way SL functions, and protect SIM's from too much influx. Perhaps the larger worldspace (used only for the limited data needed to allow avatar travel) could likewise relieve individual servers of that task and burden? Giving a double whammy boost to performance, and eliminating the perception of SIM crossings completely, except for windlight changes of course.  

I am honestly not that familiar with the infrastructure yet, but I I can imagine that SIM crossings are quite a considerable technological feat.

Edit: One of the huge benefits further embracing cloud infrastructure, SL can more easily separate logical components into their own servers, even on an as needed basis.  It will be helpful to solve SIM crossings, instancing game experiences, caching, and who knows what else?   Most of my drupal websites now have 7 servers each, as well as three branches dev/test/live, and dev can be multi-branched, plus it all load balances, and auto-scales as needed.  The cloud is amazeballs!

Edited by Macrocosm Draegonne
Link to comment
Share on other sites

2 minutes ago, Macrocosm Draegonne said:

I am honestly not that familiar with the infrastructure yet, but I I can imagine that SIM crossings are quite a considerable technological feat.

There's a thread about it, in the tech forums...

Recently, the Messiah Noob, shared with us, the Sacred Knowledge , aquired by 9 months of intense meditation upon the Sacred Source code, that Avatars, their attachments and the vehicles they ride on, cross sim borders by 3 different methods...

Something he had been told, in the VERY FIRST reply to his original post, NINE months earlier, a reply made by one of the Ungodly Servants of Stan... *coughs*

:D 
 

Link to comment
Share on other sites

6 hours ago, Macrocosm Draegonne said:

The cloud is amazeballs!

No. The "Cloud" is just balls... It exists to allow companies to subcontract their server farms to places in countries where server support techs earn $5 a day...

6 hours ago, Macrocosm Draegonne said:

It will be helpful to solve SIM crossings, instancing game experiences, caching, and who knows what else?

Not really no, one of the major problems with sim crossings now is the way it involves at least 3 bloody servers to move from one sim to another.

As for instancing, instancing sims is a real no-no...

Just imagine the howls of outrage when somebody rezzes a no copy item on one instance of a sim, and it's automatically cloned on the other 9 copies of the sim, where the rezzers 9 alts are waiting to pick it up and send it back to the main account...

6 hours ago, Macrocosm Draegonne said:

Most of my drupal websites now have 7 servers each

SL isn't a "drupal website"...

...

And before we drift off into another of your "tech people vs the sycophantic concussed puppy's suggestions for the inadvisable use of 'amazballs' tech the puppy doesn't understand...", let's end this...

This conversation is over.

Goodday.
 

  • Thanks 1
Link to comment
Share on other sites

7 hours ago, Klytyna said:

No. The "Cloud" is just balls... It exists to allow companies to subcontract their server farms to places in countries where server support techs earn $5 a day...

You know you can run a "cloud" on your own hardware right?  Even your own PC, Windows 10 even has virtualization already built in plus linux command line too.  And of course linux has excellent cloud options.  Most of the external stuff is for when you /dont have/cant afford/dont want/ to manage the hardware, and for global delivery/redundancy when needed.

7 hours ago, Klytyna said:

As for instancing, instancing sims is a real no-no...

Just imagine the howls of outrage when somebody rezzes a no copy item on one instance of a sim, and it's automatically cloned on the other 9 copies of the sim, where the rezzers 9 alts are waiting to pick it up and send it back to the main account...

Not that its impossible, but thats not what I was speaking to.  Im thinking instancing as far as a SIM that is only active if its in use, like a game purposed for the experience of one or a smallish group, that turns off when they're done.  And... other groups can simultaneously instance their own, etcetera.   SL already manually does this for events, cloud infrastructure makes it easier, and can be automated, whether on internal hardware or otherwise.

7 hours ago, Klytyna said:

SL isn't a "drupal website"... 

lol, no ***** shirlock... but SL does use cloud and server tech.

7 hours ago, Klytyna said:

one of the major problems with sim crossings now is the way it involves at least 3 bloody servers to move from one sim to another

Yeah, all the more reason to totally abstract that area to its own super-structure that envelops the SIM's, and relieve the SIM's of as much as possible related to Avatar Travel, so they can focus on scripts, and all the rest they do.  Then there's not the same level of events happening when avatars leave/arrive a SIM, thus it will have less responsibility, and perform better. 

This would effect the teleportation, physics, and many other systems too, which is why its probably on the long goal list, waiting for other development items to be in place before even being possible.

 

Edited by Macrocosm Draegonne
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...