I'm sure you can probably get this error with any product, for me I downloaded Big expressive 8.1 for genesis 8.1 male and female. After trying to make it work for a day I gave up and uninstalled both products. Sorry, I can't be of more help, other than to let you know what was causing the error in my case.
Bear in mind that this is almost always a clash between two products rather than a fault in one. If you identify one of the two, as above, then try to figure out which other set is using the same name(s) and report the issue to both vendors, or to Daz in the case of a product from the store.
The thing is that after removing the duplicate files in question, then when you start DAZ Studio the next time, it suddenly list the same files as missing!?!? This has been going on for a long time, nomatter the versions this problem has stuck with them. It still does to my knowledge. This has been in the forums for a very long time, so perhaps it's by time it gets fixed.
This has been in the forums for a very long time, so perhaps it's by time it gets fixed.
What gets fixed?
This isn't a DAZ Studio problem, but a conflict between two or more products installed into the content library.
If DS is complaining about missing products, one is opening a scene that was previously using those products.
The thing is that after removing the duplicate files in question, then when you start DAZ Studio the next time, it suddenly list the same files as missing!?!? This has been going on for a long time, nomatter the versions this problem has stuck with them. It still does to my knowledge. This has been in the forums for a very long time, so perhaps it's by time it gets fixed.
It's not like the PA's get together and say hey I'm naming this mat this so don't name your this. This is why you see mats named ART_TR_Gate. Art= the PA, TR= the initials of the pack, and Gate= is the part that that mat is for. It's inevitable that some mats are going to get named the same in some situations. The PA themselves could accidently name something the same across 2 of their 200 products causing the conflick. All that can be done is to report it so it can be renamed and all the files adjusted.
It's not like the PA's get together and say hey I'm naming this mat this so don't name your this. This is why you see mats named ART_TR_Gate. Art= the PA, TR= the initials of the pack, and Gate= is the part that that mat is for. It's inevitable that some mats are going to get named the same in some situations. The PA themselves could accidently name something the same across 2 of their 200 products causing the conflick. All that can be done is to report it so it can be renamed and all the files adjusted.
The software should handle that much more gracefully. It's not like the files are in the same location, so maybe add the location as metadata to uniquely identify each item.
The attached image shows the insides of one of my character morph DSF files.
The four highlighted parts are the asset ID for this file, there are over 1k instances of that ID in this one file, the first two are the ID being setup, and the last two are in the formula.
Now that asset ID is what DS uses to identify and separate this morph from every other morph in the figure, and it has to be unique, and not just to the content maker, as nobody else on the entire planet can use that asset ID on that figure.
This is where the problem lies, far to many content makers have no idea that it needs to be unique, as a result most instances of duplicate formula are caused by stupidly simple asset ID names, things like "alice body".
While fixing the errors isn't exactly "Rocket Science", it's still best left to those that know what they are doing, as you can make an even bigger mess if you get it wrong, as the DSON code syntax can be very touchy if you mess up.
Bejaymac, thanks for the explanation. I do have some questions for you though if you don't mind.
1. What files are these IDs found in? Are they identified in the error log?
2. If I make the changes in the files that you have talked about, do file names have to change?
I know that this may not be something that is recommended to do, but I have some older characters that have this issue and it seems that they are not going to be fixed anytime soon, if ever. I want to use these chacters as well as the conflicting ones so I fell that I have nothing to lose by trying, although I will keep copies of the original files in case I mess anything up.
Bejaymac, thanks for the explanation. I do have some questions for you though if you don't mind.
1. What files are these IDs found in? Are they identified in the error log?
Yes, the log will give the file name and path
2. If I make the changes in the files that you have talked about, do file names have to change?
No
I know that this may not be something that is recommended to do, but I have some older characters that have this issue and it seems that they are not going to be fixed anytime soon, if ever. I want to use these chacters as well as the conflicting ones so I fell that I have nothing to lose by trying, although I will keep copies of the original files in case I mess anything up.
Remember that this fix is for clashes between two characters - in the rare cases where there are duplicate formulas within a file it will be of limited use.
... I have some older characters that have this issue and it seems that they are not going to be fixed anytime soon, if ever. I want to use these characters as well as the conflicting ones so I fell that I have nothing to lose by trying, although I will keep copies of the original files in case I mess anything up.
Are your older characters based on the Genesis(1) figure? And you're still determined to clean up the mess in some of your old files?
Hi Richard. Thanks for the answers to my questions.
Hi vectorinus. My characters are G8 characters but they are a few years old now and from a variety of different sites. Some are also free characters or Christmas give-aways. And yes I will try to fix the issues with the files.
Hi nabob21. You say: "...My characters are G8 characters". What a pity. My solution applies to genesis 1 characters. But I'll tell you about it anyway. Maybe it will be useful for you. Once upon a time, when loading Genesis 1 characters, Das Studio stopped loading and gave the following annoying message: "Duplicate formulas found in files. Make sure that the content is properly installed. See the log file for more details". By the keyword Duplicate, the phrase could be found in the log file: "Duplicate formula found linking PHMFlirtingMasculineL & CTRLFlirtingMasculineL in /data/DAZ 3D/Genesis/Base/Morphs/DAZ 3D/Expressions/CTRLFlirtingMasculineL.dsf"
This meant a conflict between two files, PHMFlirtingMasculineL.dsf and CTRLFlirtingMasculineL.dsf, which were located in the data folder of the Daz Studio.
The fact is that those files contained the same sections of code:
By deleting this section of code from the PHMFlirtingMasculineL.dsf file and saving it, you can load characters without stopping and warnings. This is also true of all the numerous characters based on the Genesis(1) figure.
And as you rightly said: "I will keep copies of the original files in case I mess anything up."
This is how I always do it.
Addition: there was also a conflict between two more files. PHMFlirtingMasculineR.dsf and CTRLFlirtingMasculineR.dsf. It was solved in a similar way. I tried not to obfuscate my explanation.
While theer may well have been a bug in those files (I can't recall, but if there was it received a proper fix) deleting chunks of code is absolutely not a good solution in general - at best it is hiding the issue, and preventing at least part of the affected character from working correctly.
Not at all, nabob21. You will not believe me, but in fact it is not so difficult to understand text files, which are essentially a DS log file and PHMFlirtingMasculineL.dsf. Another thing is when the dsf file is encrypted. Nothing can be done here. I would advise you to try to do the operations I described as a training if you have Genesis installed. Open the file with Windows Wordpad and look for the word formulas in it, for example. Wordpad will take you directly to the desired section of code. The main thing is to know the control keys for text editors. "Ctrl+F" (search by keyword), "F3" (continue searching) and of course Ctrl+C and Ctrl+V. And to make it easier to understand the log file, you need to be able to quickly clear it: "Ctrl+A" (select everything), "Delete" (deleteing the selected one) and "Ctrl+S" (quick saving the (already empty) file. This will increase the speed of your search in the log file in case of a problem with Daz Studio. It seems primitive, but all editors from a simple Notepad to the monstrous Visual Studio react the same way to these keyboard shortcuts. What I mean is that once you learn Wordpad, you'll be able to jump right into programming in Visual Studio ;-)))) By the way, I myself have no idea what formulas means. The main thing when working with files is to think logically.
Little heads up on this one, you see that file hasn't been at that location for well over a decade, DAZ have reworked the Genesis 1 morphs folder twice that I'm aware of, and at the second rework the Expressions folder got replaced with the Evolution folder.
So if you still have an Expressions folder in there then you probably have duplicate files, some are probably still in the old DS4.0 JSON format rather than the DS4.5 DSON format.
Deleting stuff if you don't even know what it is is not soemthing you should advise others to do.
A formula is the linkage between proeprties - for example, ensuring that a morph to modify the eye closing kicks in when, and only when, the shape it is correcting and the eye close property are applied.
Well, thanks everyone for the valuable information. However, my method works. It can be improved many times and extended to other similar specifications. There is no limit to perfection. There is only a time limit.
Not at all, nabob21. You will not believe me, but in fact it is not so difficult to understand text files, which are essentially a DS log file and PHMFlirtingMasculineL.dsf. Another thing is when the dsf file is encrypted.
Encrypted or compressed?
Nothing can be done here. I would advise you to try to do the operations I described as a training if you have Genesis installed. Open the file with Windows Wordpad and look for the word formulas in it, for example. Wordpad will take you directly to the desired section of code. The main thing is to know the control keys for text editors. "Ctrl+F" (search by keyword), "F3" (continue searching) and of course Ctrl+C and Ctrl+V. And to make it easier to understand the log file, you need to be able to quickly clear it: "Ctrl+A" (select everything), "Delete" (deleteing the selected one) and "Ctrl+S" (quick saving the (already empty) file. This will increase the speed of your search in the log file in case of a problem with Daz Studio. It seems primitive, but all editors from a simple Notepad to the monstrous Visual Studio react the same way to these keyboard shortcuts. What I mean is that once you learn Wordpad, you'll be able to jump right into programming in Visual Studio ;-)))) By the way, I myself have no idea what formulas means. The main thing when working with files is to think logically.
Well, thanks everyone for the valuable information. However, my method works. It can be improved many times and extended to other similar specifications. There is no limit to perfection. There is only a time limit.
If you are editign the file you might as well just chnage the ID to avoid duplication - which will not only fix the issue but make the product work too.
Yes, yes it was compress... Sir Richard, I really appreciate your knowledge of the file structure. I will definitely try the trick with id. Also I have some more interesting information for you about those old files. But I'm away from my computer now. I am writing from my smartphone. So thank you again.
First, about compression. In Genesis2 folders there is a file with the same name PHMFlirtingMasculineL.dsf And I was very curious to see if it has the tag "formulas".
As soon as I found out that this file was only pretending to be encrypted, I immediately unpacked it and looked inside.
Of course, this file turned out to be very similar to the old Genesis PHMFlirtingMasculineL.dsf file. But it doesn't have a "formulas" tag. It is not in the new Genesis PHMFlirtingMasculineL.dsf file either. In the old file, the "formulas" tag is between the "group" and "morph" tags. This is redundant because the same "formulas" is contained in the CTRLFlirtingMasculineL.dsf file in the same folder. Now it does not matter. The old files have been replaced by DAZ with new packed files, but I want to show what kind of error can cause the warning "Duplicate formulas found..." Two completely identical tags located in different files duplicate each other.
But there is at least one other error that results in a warning "Duplicate IDs were found while reading the file. See the log file for more details."
I was reminded of this when Richard mentioned "id". I searched and found a file that actually had two identical 'id's. Both of them were in the same file, but neither of them was redundant this time. In fact, they were mistakenly given the same name. This is where Richard's advice came in handy. One "id" belonged to a node and could not be renamed because the node name was referenced by many child elements in the file. I didn't even try to rename it. But the second "id" belonged to the figure mesh and nothing referred to it. Its name change was successful. The warning "Duplicate IDs were found..." no longer appeared. This applies to old files. They have long since been corrected by DAZ. But I'm surprised that the forum posts from time to time about such errors with new figures. Perhaps those errors have a different meaning.
Duplicate IDs is an old issue, the ebta did not enforce uniqueness. I do have a script to fix these, though only very old (DS beta and not updated) should show the issue.
Duplicate Formulas means that both the start and end point of two formulas are proeprties with the same name (either the same properties, as can happen when running ERC Freeze twice in succession, or two different properties given the same name, as can happen with differnt PAs giving their characters the same name and not adding a unique prefix)
I understand you sir. Once upon a time, many people wondered how to make Das Studio not show this annoying dialog that would suddenly stop loading the scene while the user went out for coffee and hoped that the scene had already loaded successfully. There were rumors on the net about some kind of script that magically eliminates duplication. Maybe it was your script, or maybe it was just a rumor. But I have read many of your scripts and explanations of these scripts on the forum. Basically, these are old forum threads. I think you just don't have time to code now. The forum has grown, and the administrators have more and more work to do. A very good forum. Known all over the world.
I think theres a simpler solution to the problem. I use vortex and have over 500 mods on skyrim. Handling file conflicts is super easy. Vortex packages the mod, has a deployment method where it safely stores my files, all organized and ready to overwrite each other, then deploys according to my load order. I can change what I want to have priority and then it redeploy the mods in the way the I changed them. I think DAZ needs a manager similar to this. When authors have a "mod conflict" it can simply say, "Oh hey by the way this mod xx, conflicts with xy here -> you can usually see which files giving you errors. Then simply uninstall or overwrite. It seems like you need to code in order to get things to organize. My conflict makes no sense in log. Im guessing theres a lot of coding involved in the creation of daz "mods," not just slap stick installers like nexus mods. I would prefer deployment methods that preserve the archives and use a deployment method of uncompressed files, over a method to having multiple directories that might be having Cloud and DIM conflicts. I have htis issue and might need to just nuke things in order to get the error to go away. As it is, im not getting any severe load time problems i cant deal with. But I dont think you would have to seriously change daz studio, to manage outside files better. If you control what goes in, you dont have to worry about whats coming out at you in studio. LIke ominous error messages. Right? I might have goobered an ERC Freeze. blast it.
Comments
I'm sure you can probably get this error with any product, for me I downloaded Big expressive 8.1 for genesis 8.1 male and female. After trying to make it work for a day I gave up and uninstalled both products. Sorry, I can't be of more help, other than to let you know what was causing the error in my case.
Start by checking your log file(Help>Troubleshooting>View log file) and see if it shows which files are in conflict.
If it does, you can either uninstall the offending asset package, or if you're adventurous, 'learn to code' and corret the conflict yourself.
Bear in mind that this is almost always a clash between two products rather than a fault in one. If you identify one of the two, as above, then try to figure out which other set is using the same name(s) and report the issue to both vendors, or to Daz in the case of a product from the store.
I stopped trying to correct it. I just click and let it go away. For me, it's just a minor annoyance.
Most of my problems are PEBKAC problems, and no matter what I do, those don't go away, they mutate all the time!
Duplicate formulas will greatly slow figure loading.
Aha! I may have to reconsider my 'hands off' solution!
THanks!
The thing is that after removing the duplicate files in question, then when you start DAZ Studio the next time, it suddenly list the same files as missing!?!? This has been going on for a long time, nomatter the versions this problem has stuck with them. It still does to my knowledge. This has been in the forums for a very long time, so perhaps it's by time it gets fixed.
What gets fixed?
This isn't a DAZ Studio problem, but a conflict between two or more products installed into the content library.
If DS is complaining about missing products, one is opening a scene that was previously using those products.
It's not like the PA's get together and say hey I'm naming this mat this so don't name your this. This is why you see mats named ART_TR_Gate. Art= the PA, TR= the initials of the pack, and Gate= is the part that that mat is for. It's inevitable that some mats are going to get named the same in some situations. The PA themselves could accidently name something the same across 2 of their 200 products causing the conflick. All that can be done is to report it so it can be renamed and all the files adjusted.
The software should handle that much more gracefully. It's not like the files are in the same location, so maybe add the location as metadata to uniquely identify each item.
The attached image shows the insides of one of my character morph DSF files.
The four highlighted parts are the asset ID for this file, there are over 1k instances of that ID in this one file, the first two are the ID being setup, and the last two are in the formula.
Now that asset ID is what DS uses to identify and separate this morph from every other morph in the figure, and it has to be unique, and not just to the content maker, as nobody else on the entire planet can use that asset ID on that figure.
This is where the problem lies, far to many content makers have no idea that it needs to be unique, as a result most instances of duplicate formula are caused by stupidly simple asset ID names, things like "alice body".
While fixing the errors isn't exactly "Rocket Science", it's still best left to those that know what they are doing, as you can make an even bigger mess if you get it wrong, as the DSON code syntax can be very touchy if you mess up.
Bejaymac, thanks for the explanation. I do have some questions for you though if you don't mind.
1. What files are these IDs found in? Are they identified in the error log?
2. If I make the changes in the files that you have talked about, do file names have to change?
I know that this may not be something that is recommended to do, but I have some older characters that have this issue and it seems that they are not going to be fixed anytime soon, if ever. I want to use these chacters as well as the conflicting ones so I fell that I have nothing to lose by trying, although I will keep copies of the original files in case I mess anything up.
Yes, the log will give the file name and path
No
Remember that this fix is for clashes between two characters - in the rare cases where there are duplicate formulas within a file it will be of limited use.
Are your older characters based on the Genesis(1) figure? And you're still determined to clean up the mess in some of your old files?
Hi Richard. Thanks for the answers to my questions.
Hi vectorinus. My characters are G8 characters but they are a few years old now and from a variety of different sites. Some are also free characters or Christmas give-aways. And yes I will try to fix the issues with the files.
Hi nabob21. You say: "...My characters are G8 characters". What a pity. My solution applies to genesis 1 characters. But I'll tell you about it anyway. Maybe it will be useful for you. Once upon a time, when loading Genesis 1 characters, Das Studio stopped loading and gave the following annoying message: "Duplicate formulas found in files. Make sure that the content is properly installed. See the log file for more details". By the keyword Duplicate, the phrase could be found in the log file: "Duplicate formula found linking PHMFlirtingMasculineL & CTRLFlirtingMasculineL in /data/DAZ 3D/Genesis/Base/Morphs/DAZ 3D/Expressions/CTRLFlirtingMasculineL.dsf"
This meant a conflict between two files, PHMFlirtingMasculineL.dsf and CTRLFlirtingMasculineL.dsf, which were located in the data folder of the Daz Studio.
The fact is that those files contained the same sections of code:
"formulas" : [
{
"output" : "Genesis:#PHMFlirtingMasculineL?value",
"operations" : [
{ "op" : "push", "url" : "head:/data/DAZ%203D/Genesis/Base/Morphs/DAZ%203D/Expressions/CTRLFlirtingMasculineL.dsf#CTRLFlirtingMasculineL?value" },
{ "op" : "push", "val" : 1 },
{ "op" : "mult" }
]
}
],
By deleting this section of code from the PHMFlirtingMasculineL.dsf file and saving it, you can load characters without stopping and warnings. This is also true of all the numerous characters based on the Genesis(1) figure.
And as you rightly said: "I will keep copies of the original files in case I mess anything up."
This is how I always do it.
Addition: there was also a conflict between two more files. PHMFlirtingMasculineR.dsf and CTRLFlirtingMasculineR.dsf. It was solved in a similar way. I tried not to obfuscate my explanation.
Thank you for this information vectorinus. I will definitely keep this in mind when I am working on the files as it could be very useful.
While theer may well have been a bug in those files (I can't recall, but if there was it received a proper fix) deleting chunks of code is absolutely not a good solution in general - at best it is hiding the issue, and preventing at least part of the affected character from working correctly.
Not at all, nabob21. You will not believe me, but in fact it is not so difficult to understand text files, which are essentially a DS log file and PHMFlirtingMasculineL.dsf. Another thing is when the dsf file is encrypted. Nothing can be done here. I would advise you to try to do the operations I described as a training if you have Genesis installed. Open the file with Windows Wordpad and look for the word formulas in it, for example. Wordpad will take you directly to the desired section of code. The main thing is to know the control keys for text editors. "Ctrl+F" (search by keyword), "F3" (continue searching) and of course Ctrl+C and Ctrl+V. And to make it easier to understand the log file, you need to be able to quickly clear it: "Ctrl+A" (select everything), "Delete" (deleteing the selected one) and "Ctrl+S" (quick saving the (already empty) file. This will increase the speed of your search in the log file in case of a problem with Daz Studio. It seems primitive, but all editors from a simple Notepad to the monstrous Visual Studio react the same way to these keyboard shortcuts. What I mean is that once you learn Wordpad, you'll be able to jump right into programming in Visual Studio ;-)))) By the way, I myself have no idea what formulas means. The main thing when working with files is to think logically.
Little heads up on this one, you see that file hasn't been at that location for well over a decade, DAZ have reworked the Genesis 1 morphs folder twice that I'm aware of, and at the second rework the Expressions folder got replaced with the Evolution folder.
So if you still have an Expressions folder in there then you probably have duplicate files, some are probably still in the old DS4.0 JSON format rather than the DS4.5 DSON format.
Time for a clear out.
Deleting stuff if you don't even know what it is is not soemthing you should advise others to do.
A formula is the linkage between proeprties - for example, ensuring that a morph to modify the eye closing kicks in when, and only when, the shape it is correcting and the eye close property are applied.
Well, thanks everyone for the valuable information. However, my method works. It can be improved many times and extended to other similar specifications. There is no limit to perfection. There is only a time limit.
Encrypted or compressed?
If you are editign the file you might as well just chnage the ID to avoid duplication - which will not only fix the issue but make the product work too.
This is the news.
First, about compression. In Genesis2 folders there is a file with the same name PHMFlirtingMasculineL.dsf And I was very curious to see if it has the tag "formulas".
As soon as I found out that this file was only pretending to be encrypted, I immediately unpacked it and looked inside.
Of course, this file turned out to be very similar to the old Genesis PHMFlirtingMasculineL.dsf file. But it doesn't have a "formulas" tag. It is not in the new Genesis PHMFlirtingMasculineL.dsf file either. In the old file, the "formulas" tag is between the "group" and "morph" tags. This is redundant because the same "formulas" is contained in the CTRLFlirtingMasculineL.dsf file in the same folder. Now it does not matter. The old files have been replaced by DAZ with new packed files, but I want to show what kind of error can cause the warning "Duplicate formulas found..." Two completely identical tags located in different files duplicate each other.
But there is at least one other error that results in a warning "Duplicate IDs were found while reading the file. See the log file for more details."
I was reminded of this when Richard mentioned "id". I searched and found a file that actually had two identical 'id's. Both of them were in the same file, but neither of them was redundant this time. In fact, they were mistakenly given the same name. This is where Richard's advice came in handy. One "id" belonged to a node and could not be renamed because the node name was referenced by many child elements in the file. I didn't even try to rename it. But the second "id" belonged to the figure mesh and nothing referred to it. Its name change was successful. The warning "Duplicate IDs were found..." no longer appeared. This applies to old files. They have long since been corrected by DAZ. But I'm surprised that the forum posts from time to time about such errors with new figures. Perhaps those errors have a different meaning.
Duplicate IDs is an old issue, the ebta did not enforce uniqueness. I do have a script to fix these, though only very old (DS beta and not updated) should show the issue.
Duplicate Formulas means that both the start and end point of two formulas are proeprties with the same name (either the same properties, as can happen when running ERC Freeze twice in succession, or two different properties given the same name, as can happen with differnt PAs giving their characters the same name and not adding a unique prefix)
I understand you sir. Once upon a time, many people wondered how to make Das Studio not show this annoying dialog that would suddenly stop loading the scene while the user went out for coffee and hoped that the scene had already loaded successfully. There were rumors on the net about some kind of script that magically eliminates duplication. Maybe it was your script, or maybe it was just a rumor. But I have read many of your scripts and explanations of these scripts on the forum. Basically, these are old forum threads. I think you just don't have time to code now. The forum has grown, and the administrators have more and more work to do. A very good forum. Known all over the world.
I think theres a simpler solution to the problem. I use vortex and have over 500 mods on skyrim. Handling file conflicts is super easy. Vortex packages the mod, has a deployment method where it safely stores my files, all organized and ready to overwrite each other, then deploys according to my load order. I can change what I want to have priority and then it redeploy the mods in the way the I changed them. I think DAZ needs a manager similar to this. When authors have a "mod conflict" it can simply say, "Oh hey by the way this mod xx, conflicts with xy here -> you can usually see which files giving you errors. Then simply uninstall or overwrite. It seems like you need to code in order to get things to organize. My conflict makes no sense in log. Im guessing theres a lot of coding involved in the creation of daz "mods," not just slap stick installers like nexus mods. I would prefer deployment methods that preserve the archives and use a deployment method of uncompressed files, over a method to having multiple directories that might be having Cloud and DIM conflicts. I have htis issue and might need to just nuke things in order to get the error to go away. As it is, im not getting any severe load time problems i cant deal with. But I dont think you would have to seriously change daz studio, to manage outside files better. If you control what goes in, you dont have to worry about whats coming out at you in studio. LIke ominous error messages. Right? I might have goobered an ERC Freeze. blast it.