There is a serious MySQL bug and I don't know how to get devs to notice
#16
No, I mean without mysql at all in the picture.

The source of the error may be due to profile switching with advancedsettings being read when it shouldn't be, or it could happen with very large listings, the listings being cached so not hitting the db, or due to some other issue.

Thus, the questions - once I'm confident I'll be able to reproduce it I'll have a go. Until then, it's better that I spend my time on things I can reproduce more easily Smile

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#17
Sorry for the delay, I was busy with classes and such, hadn't had time to sit down and debug this. I've done some testing and have the following to report:

No MySQL DBs, only local DBs, no cross contamination/carrying over occurs.

I also did a test, reversing which profile uses MySQL, this time giving the master profile MySQL and the secondary profile a local DB, and the same carrying over of the MySQL data into the secondary profile occurred. So it doesn't seem to matter which profile is using MySQL. I also found that the size of the library seems to be irrelevant, even testing with just one movie or series in the library.

I havn't tested with the 'small' MySQL DB yet, need to add a secondary MySQL DB to test on first, I'll get on that a bit later tonight.

Also, once I have this ready, I'll also test what happens when two profiles are using two DIFFERENT MySQL DBs.

Edit: Actually, I don't know how to make a second, separate XBMC MySQL DB on this server and I barely got this thing working when I first did it. Little help please? D:
Reply
#18
I figured it out, just needed to use the <name> tag to point it at a different DB. :X

Anyway, yes, it TOTALLY does this behavior with even a small DB. In this case a MySQL DB with only a single movie in it, in the master profile, carries it's data into the secondary profile which is using a local DB. If the secondary profile is pointed at a MySQL instead, while the master profile using a local DB gets contaminated when switching accounts.

I also tested it with two profiles, each accessing different MySQL DBs, MyVideos77 and MyVideosTest77, which ever I start in, will then be carried over when switching profiles.

Does this help you in debugging the issue? It seems it's not flushing out the MySQL information when switching profiles.
Reply
#19
https://github.com/xbmc/xbmc/pull/4254

I dunno exactly what the implications of that change are, but the fault is that all advancedsettings leak between profiles. So yeah, absolutely nothing to do with mysql - pretty much any advancedsettings would show the same thing.

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#20
Merged. Thanks for your patience.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#21
Looks like I found a bigger bug than I thought I had. o.o;
Reply
#22
So, err, uhh, new problem. I've been testing this out and there's a new behavior with the Nightly of Feb 27th on Windows. (And I'm pretty sure earlier)

Master Account: MySQL via Advanaced Settings
Second Account: Local DB (No AdvancedSettings.xml file exists)

Now even if the second account is the first account to be logged into when the program starts, it loads the MySQL DB. I'm not sure but I'm guessing that now, instead of the AdvancedSettings.xml being dumped from memory and reloaded upon switching accounts, it's ONLY looking at the location for the Master profile, even if the master profile isn't loaded.

Edit: Scratch that, while the scenario above does occur, the inverse scenario operates correctly.

Master Account: Local DB (No AdvancedSettings.xml file exists)
Second Account: MySQL via Advanaced Settings

In this scenario, then the AdvancedSettings.xml info for the second info is only applied to the second account.

So if there's an AdvanceSettings.xml file in master, than it seems to universally apply to all accounts but only if it's in master?
Reply
#23
Correct, this has always been the case as far as I'm aware (just like everything else falls back to the masterprofile if it doesn't exist in a given profile).

An empty advancedsettings.xml in the profile will reset all advanced settings for that user.

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#24
(2014-02-28, 06:05)jmarshall Wrote: Correct, this has always been the case as far as I'm aware (just like everything else falls back to the masterprofile if it doesn't exist in a given profile).

An empty advancedsettings.xml in the profile will reset all advanced settings for that user.

Cheers,
Jonathan

Ahhhh. My bad, gotcha.
Reply

Logout Mark Read Team Forum Stats Members Help
There is a serious MySQL bug and I don't know how to get devs to notice0