I set a label to match with a filter. Then the filter to match with that label, thinking that was the way to do something.
The label assignment is set to change the colour of rows and it looks like it's trying to colour every row cause the filter is set wrong. I think it's stuck in a loop and keeps crashing after two seconds being open. The restore files won't boot either. How do I get out of this?
Never had such an issue, but what I'd do :
- Do no restart Opus
- Use File Explorer to go to foldercolors.ocx file (
C:\Users\<your username>\AppData\Roaming\GPSoftware\Directory Opus)
Backup the foldercolors.oxc file first !- Edit it with a text editor and search for the label assignment. It should look something like this :
<path color="{A3B60A15-3008-40C5-B96B-615CF0005B25}" type="16">
<labels>
<color>{A3B60A15-3008-40C5-B96B-615CF0005B25}</color>
</labels>
<filter changed="yes" desc="MonMarquerFiltre" name="">
<clause match="yes" type="name" wildcards="yes">TOTO_TITI</clause>
</filter>
</path>
Delete (or cut/paste somewhere else). This should remove this assignment.
Then restart Opus and see if it still fails.
EDIT : The part to delete goes from <path ... to </path>. It is important the global structure of the xml file is preserved.
Yup that did it.
Wow that was a close one, thank you.
Now I have to figure out what I did wrong. I guess you can't link a filter to match with a label that matches with that filter.
Looks like you created an infinite loop (consistent with the stack overflow error).
Oh ya. I always thought the Stack Overflow website was a play on words. That I got too much tech stack it's overflowing!
Guess it's an actual computer thing.
In contrast to some gen alpha kids that I heard were calling a book "a paper pdf."
Oh this is gonna get interesting...
In computer programming, you basically have two places to store data (variables and under the hood information) :
- The heap, where it's preferable to store large data sets (that you reference by pointers)
- The stack, where all variables go if you don't specifically manage to put them on the heap.
Everytime a function is called, values of its parameters go on the stack (over what's already on). Inner variables too. When leaving that function, these data are not interesting anymore, so they are removed from the stack.
If you enter an infinite loop where data is added on the stack, nothing is never removed, the stack grows to the point where the OS (could also be sthg higher level such as scripting host or java virtual machine) says it's too much and throws that stack overflow exception, ending the process before it eats up all your computer memory.
Oh cool. I bet it takes like thirty seconds for the computer to go pffft.
I was wondering that I wasn't given any warning that I was creating a loop, and when Dopus detected the memory was filling up it didn't suspend the offenders. Is this a thing?
On a related note, finally been learning this thing that I've been using since like grade 1.
The first gen pc's running that Canada typing game.
My mind is just ppffffffffttttttt
like what? Who thinks of these things?
![]()
![]()
![]()
![]()
hamster huey and the ooey gooey kablooe! my poor brain.
Halfway through that playlist and I'm already like

There are so many ways you can create infinite loops, it's very difficult to detect.
After all, the computer (or program) is just executing what you tell him to !
Eating up memory can occur in many situations without it being an infinite loop, just sometimes an operation that eats up memory .... and when the job is done releasing it.
You wouldn't want an operation that takes up to 90% of your memory cancelled just because it looks suspicious (especially if you've upgraded your memory so it fits under the 100%).
Another way to put it : with great power comes great responsibility. You can tweak, but be carefull about what you do ![]()
Note that I still, from time to time, do code infinite loops (just forgetting to increment a variable in a while loop and you're done !). And if the loop does not allocate memory, you just have to kill the process because this time, you won't get an exception, just a process eating all available CPU power looping (usually, nowadays, it will be just one thread, so the computer won't explode
but depending on what you do and how you do it you can still manage to overload your whole CPU).
Ok well now I know what to do if it happens.
Creating a good backup system really saved me here too.
I had already reinstalled Dopus by the time you replied with the answer.
We'll add some protection against this scenario in the next update.
Oh cool.
Upgrade! Defense + 1
![]()

