Bug in 31.0.2 when using multiple instance

Status
Not open for further replies.

bcoyle

Member
WOW. I've run multiple instants before with no problems. I have noticed that the last obs exited, is what is saved. As each instant is ended, that writes it setting to the global settings in %%appdata%/obs-studio. I always use flags when starting up the multiple instants with command line args, so that they have different profiles and port settings. no big deal. If I just started obs with no flags, it just starts with the setting from the last obs that exited, which i don't do. Good coding practices demand that you don't break things (on purpose) and force your user apps to fail. Case in point is obs 27 to 28. I do applaud the fact that there is a obs-websocket v4-v5 capability driver. People have used your application and have tuned it for their uses, then a "upgrade" with no warning breaks their channel. The proper way is to give people a warning, that maybe in +2 upgrades, you plan on changing this. Give people some voice on breaking changes. People start to mis-trust obs and it's maintainers when they just say "surprise".
 

bcoyle

Member
WOW. I've run multiple instants before with no problems. I have noticed that the last obs exited, is what is saved. As each instant is ended, that writes it setting to the global settings in %%appdata%/obs-studio. I always use flags when starting up the multiple instants with command line args, so that they have different profiles and port settings. no big deal. If I just started obs with no flags, it just starts with the setting from the last obs that exited, which i don't do. Good coding practices demand that you don't break things (on purpose) and force your user apps to fail. Case in point is obs 27 to 28. I do applaud the fact that there is a obs-websocket v4-v5 capability driver. People have used your application and have tuned it for their uses, then a "upgrade" with no warning breaks their channel. The proper way is to give people a warning, that maybe in +2 upgrades, you plan on changing this. Give people some voice on breaking changes. People start to mis-trust obs and it's maintainers when they just say "surprise".

Even microsoft, leaves legacy api alone and just tell you that you "should" migrate to a newer verson
 

AaronD

Active Member
WOW. I've run multiple instants before with no problems. I have noticed that the last obs exited, is what is saved. As each instant is ended, that writes it setting to the global settings in %%appdata%/obs-studio. I always use flags when starting up the multiple instants with command line args, so that they have different profiles and port settings. no big deal. If I just started obs with no flags, it just starts with the setting from the last obs that exited, which i don't do. Good coding practices demand that you don't break things (on purpose) and force your user apps to fail. Case in point is obs 27 to 28. I do applaud the fact that there is a obs-websocket v4-v5 capability driver. People have used your application and have tuned it for their uses, then a "upgrade" with no warning breaks their channel. The proper way is to give people a warning, that maybe in +2 upgrades, you plan on changing this. Give people some voice on breaking changes. People start to mis-trust obs and it's maintainers when they just say "surprise".
I "Like" a lot of posts, but I rarely "Love" one. That one I did. And I've written my own pointed criticism elsewhere, several times independently, about the v27 to v28 unwarned debacle...

YOU DO NOT EVER BREAK THINGS WITHOUT WARNING!!!! That's far more important than any particular function by itself, this one included.

I absolutely agree, that it doesn't matter if something was a mistake. If it's there now and people are using it, *keep the functionality*! Even if you have to re-invent it.

If you need to "clean house" - which can, does, and should happen from time to time - collect all of the "bugs" and "mistakes" that people are using as features, and make their end results part of the new requirements. Yes, they'll work differently, and that's fine, but the end results should never go away, nor become prohibitively difficult.

---

There's an argument earlier in this thread to, "just install the portable version for each additional instance," which might be okay if the user has already installed the native version by a similar process. But not everyone fits into that category.

Linux especially, has a greatly-preferred installation method, which gives you one copy that is expected to be recurrent-safe or recurrency-not-needed. If you break that, as native OBS does now, it's kind of a big deal. (understatement) Installing a different way, outside of "how you're supposed to do it" (sudo apt install... for Debian and its derivatives like Ubuntu, Mint, and Raspberry Pi; other distros use something else with a similar idea...) is a similar big deal.

So I still maintain, from the perspective of *very* widespread expectations, that *NATIVE* OBS (not portable) should remain recurrent-safe, whatever that takes.

---

For a little bit more context:

Windows installs a separate dedicated copy of every required library for every app, so recurrency and API stability really aren't particularly important there, at the expense of requiring more storage. Multiple instances (and versions!) of the same library do still need to coexist, simply because they're used by different apps and installed separately for each app. But their completely separate installations, all to app-specific directories, usually make it a non-issue.
This also makes it (slightly) easier to uninstall something. (if the uninstaller actually does what it's supposed to) No need to see if a shared library is no longer used. Just go ahead and remove the dedicated copy that came with the app to uninstall.

Linux installs ONE copy of each thing - library, app, or whatever - in its own directory outside of any app, and expects everything to share it. So recurrency is HUGE on the Linux side, as is API stability for old functions.
This requires some significant software logic to figure out whether a shared library is still in use or not. Just because it came with something that you're now removing, doesn't mean it can be removed too, because something else that you installed in the meantime may still be using it. That's what the various package managers do. (apt, rpm, etc.)

Don't know what Mac does.
 
Last edited:

Fenrir

Forum Admin
I will, again, state that running multiple instances of OBS from the same configuration directory at the same time never been an officially supported way of using OBS. We did not intentionally break or change anything, we fixed a bug that had impact on something that was never supported in the first place, and has been heavily discouraged in favor of using portable mode to run multiple instances which is supported. The fact it might have worked fine for you specifically did not mean that we didn't see issues with it, or that others didn't have problems, including scene collection corruption and loss of data.

Something something spacebar heating.

If running without setting up portable mode is critical enough for your individual workflows, feel free to stay on older versions, as they are also unsupported anyway, and shouldn't be an issue for you if you're not having any issues with them.
 

AaronD

Active Member
User was warned for this post.
So what other critical features are not actually supported, and may break without warning...?

Like bcoyle said, how can we trust OBS if it keeps yanking around like this, and the standard support becomes, "break everything else (by upgrading to current) and then we'll talk about your original question"?
People have used your application and have tuned it for their uses, then a "upgrade" with no warning breaks their channel. The proper way is to give people a warning, that maybe in +2 upgrades, you plan on changing this. Give people some voice on breaking changes. People start to mis-trust obs and it's maintainers when they just say "surprise".
 

Fenrir

Forum Admin
So what other critical features are not actually supported, and may break without warning...?

Like bcoyle said, how can we trust OBS if it keeps yanking around like this, and the standard support becomes, "break everything else (by upgrading to current) and then we'll talk about your original question"?
This response is, frankly, disrespectful and a step too far.

I had a whole response typed, but I'm just going to lock this thread as it's already been explained multiple times.

Thanks everyone for the feedback.
 
Status
Not open for further replies.
Top