Solved -- RESOLVED ! -- Frodo - Linux - Pivos Xios Profile Problem
#1
All,

Davilla at Pivos suggested that I bring this Profiles issue here. Looks like it is a mainline problem with mapping.

I had originally posted at http://www.pivosforums.com/viewtopic.php...444#p20407

Please read on:



All,

It may be surprising that I would be the first person to run across this with my Linux Xios... but this may be the case.

On my M3 with Linux nightly update-80c4919.img, using MySQL and advancedsettings to manage my profiles and DB content, It appears that the xios xbmc loads that we are using has some special mapping done that prevents an advancedsettings.xml that resides in a profile from running...


Here is the problem:

I created a profile: "Ambient"

I had planned on copying over a profile subdirectory from a different machine, but that didn't seem to work... It did not seem to run the advancedsettings.xml from my chosen profile, but instead ran advancedsettings.xml from my main profile.


So, I started over, created the profile "Ambient" and ONLY copied over my advancedsettings.xml for that profile.

STILL, it was giving me incorrect SMB source info for movies, TV and music. (it showed the default profile data)


So, I ran a debug log, and posted it here: http://xbmclogs.com/show.php?id=27927


It appears that there may be a mapping issue. Walk with me...


In the log, the mapping states:

Code:
3.   01:24:24 T:1093865120  NOTICE: Starting XBMC (12.0-RC3 Git:20130111-80c4919), Platform: Linux (Unknown, 2.6.34 armv7l). Built on Jan 13 2013
4.   01:24:24 T:1093865120  NOTICE: special://xbmc/ is mapped to: /usr/share/xbmc
5.   01:24:24 T:1093865120  NOTICE: special://xbmcbin/ is mapped to: /usr/lib/xbmc
6.   01:24:24 T:1093865120  NOTICE: special://masterprofile/ is mapped to: /root/.xbmc/userdata
7.   01:24:24 T:1093865120  NOTICE: special://home/ is mapped to: /root/.xbmc
8.   01:24:24 T:1093865120  NOTICE: special://temp/ is mapped to: /root/.xbmc/temp
9.   01:24:24 T:1093865120  NOTICE: The executable running is: /usr/lib/xbmc/xbmc.bin
10.  01:24:24 T:1093865120  NOTICE: Local hostname: opps
11.  01:24:24 T:1093865120  NOTICE: Log File is located: /root/.xbmc/temp/xbmc.log
12.  01:24:24 T:1093865120  NOTICE: -----------------------------------------------------------------------

All that looks fine... But then Linux runs its advancedsettings.xml...

Code:
58.  01:24:24 T:1093865120  NOTICE: load settings...
59.  01:24:24 T:1093865120  NOTICE: special://profile/ is mapped to: special://masterprofile/
60.  01:24:24 T:1093865120  NOTICE: Loaded settings file from special://xbmc/system/advancedsettings.xml
61.  01:24:24 T:1093865120  NOTICE: Contents of special://xbmc/system/advancedsettings.xml are...
62.                                              <advancedsettings>


So when finally XBMC decides to run MY advancedsettings.xml...

Code:
109.  01:24:24 T:1093865120  NOTICE: Loaded settings file from special://profile/advancedsettings.xml
110.  01:24:24 T:1093865120  NOTICE: Contents of special://profile/advancedsettings.xml are...
111.                                              <advancedsettings>


... It's running the wrong one !!! Confused


Now, I'll admit, I may have misread this, and I will clearly admit that I am NOT capable of coding XBMC.

However.... Did'ja catch that specific bit of insanity ?

In the first section, you define masterprofile...

special://masterprofile/ is mapped to: /root/.xbmc/userdata

in the second, you define ALL profiles as masterprofile...

special://profile/ is mapped to: special://masterprofile/

So, I think that what is happening is that this tells XBMC that no matter what profile choose, the advancedsettings and configurations that it should use are from masterprofile.

Instead of running the advancedsettings.xml that is in /.xbmc/userdata/profiles/ambient ... it runs the advancedsettings.xml in /.xbmc/userdata

... because you tell it to.

Why would you do this? Huh

Will you please change this? As Profiles are an important part of my XBMC experience.

Thanks. Big Grin
Reply
#2
What about on a mainline Linux ? Linux, Windows, and Darwin (osx, ios, atv2) have separate code sections for setting up basic paths. Could be darwin and windows do it 'right' and linux does it wrong ?
Reply
#3
(2013-01-14, 18:25)davilla Wrote: What about on a mainline Linux ? Linux, Windows, and Darwin (osx, ios, atv2) have separate code sections for setting up basic paths. Could be darwin and windows do it 'right' and linux does it wrong ?

I don't know...

All I DO know, is that on my Linux Pivos Xios, it is doing it WRONG... and it is doing it in a way that I (as a user) have no way to modify the behavior.

And, if my logic in reading the log is correct, I think I saw why.

From my perspective, it makes no sense to define profiles always back to mainprofile... as that breaks the use of profiles completely.

So: bug. Confused


(... I am here with hat-in-hand, and my tin-cup on the ground, looking for a solution.)
Reply
#4
... bump
Reply
#5
Please don't do useless bumps, when someone has an interest and takes a look, they will reply. The only thing a bump does is make me and others waste time checking a thread for useless info.
Reply
#6
(2013-01-15, 17:20)davilla Wrote: Please don't do useless bumps, when someone has an interest and takes a look, they will reply. The only thing a bump does is make me and others waste time checking a thread for useless info.

Davilla - OK, then who should I PM to discuss Linux Mainline?

I understand that folks are very focused on getting out v. 12, however, the issue is clearly documented above, and I would think that they would want to resolve this before making a final.

My concern is that this was already three pages down, and could (with the volume of work) easily be overlooked.
Reply
#7
You should PM no one!
Read/follow the forum rules.
For troubleshooting and bug reporting, read this first
Interested in seeing some YouTube videos about Kodi? Go here and subscribe
Reply
#8
lol...

“No One Gets In To See The Wizard! Not no one, not no how!”

http://www.youtube.com/watch?v=wC871hNBig4


OK... I'll continue to be positive, optimistic and hope that we can get the right folks to read this.

And, I thank you!
Reply
#9
We have a many things to resolve before this issue can even be looked at, we don't just drop everything and rush to solve the latest problem post.
Reply
#10
show me logs of xbmc doing the 'right' thing.
Reply
#11
(2013-01-15, 19:44)davilla Wrote: show me logs of xbmc doing the 'right' thing.

Having recently reloaded RC3 on my Win7 box to resolve a Music DB issue in MySQL, I will have to set up profiles on it to do so.

I will do this tonight and reply. Thanks!
Reply
#12
All,

As requested, this is an example of XBMC doing the "right" thing in loading a profile.

The scenario that this was taken is: From my Win7 primary XBMC, 6 profiles total (including Master User), Debug turned on, and system rebooted... then profile "Ambient" (not Master) selected.

Log file: http://xbmclogs.com/show.php?id=28608

Just like the Linux version, Win7 starts with environment mapping:

Code:
2.  09:31:42 T:2376  NOTICE: Starting XBMC (12.0-RC3 Git:20130102-7a6cb7f), Platform: Windows 7 SP1 64-bit, build 7601. Built on Jan  3 2013 (compiler 1600)
3.  09:31:42 T:2376  NOTICE: Pentium(R) Dual-Core  CPU      E6300  @ 2.80GHz
4.  09:31:42 T:2376  NOTICE: Desktop Resolution: 1920x1080 32Bit at 60Hz
5.  09:31:42 T:2376  NOTICE: Running with restricted rights
6.  09:31:42 T:2376  NOTICE: Aero is enabled
7.  09:31:42 T:2376  NOTICE: special://xbmc/ is mapped to: C:\Program Files (x86)\XBMC
8.  09:31:42 T:2376  NOTICE: special://xbmcbin/ is mapped to: C:\Program Files (x86)\XBMC
9.  09:31:42 T:2376  NOTICE: special://masterprofile/ is mapped to: C:\Users\Zebraitis\AppData\Roaming\XBMC\userdata
10.  09:31:42 T:2376  NOTICE: special://home/ is mapped to: C:\Users\Zebraitis\AppData\Roaming\XBMC\
11.  09:31:42 T:2376  NOTICE: special://temp/ is mapped to: C:\Users\Zebraitis\AppData\Roaming\XBMC\cache
12.  09:31:42 T:2376  NOTICE: The executable running is: C:\Program Files (x86)\XBMC\XBMC.exe
13.  09:31:42 T:2376  NOTICE: Local hostname: XBMC_MAIN
14.  09:31:42 T:2376  NOTICE: Log File is located: C:\Users\Zebraitis\AppData\Roaming\XBMC\xbmc.log
15.  09:31:42 T:2376  NOTICE: -----------------------------------------------------------------------

After that, a secondary mapping occurs, but there is NO FORCED SYSTEM advancedsettings.xml, allowing the one in the profile to run correctly:

Code:
34.  09:31:43 T:2376  NOTICE: load settings...
35.  09:31:43 T:2376  NOTICE: special://profile/ is mapped to: special://masterprofile/
36.  09:31:43 T:2376  NOTICE: loading special://masterprofile/guisettings.xml
37.  09:31:43 T:2376  NOTICE: Getting hardware information now...
38.  09:31:43 T:2376  NOTICE: Loading player core factory settings from special://xbmc/system/playercorefactory.xml.
39.  09:31:43 T:2376  NOTICE: Loaded playercorefactory configuration
40.  09:31:43 T:2376  NOTICE: Loading player core factory settings from special://masterprofile/playercorefactory.xml.
41.  09:31:43 T:2376  NOTICE: special://masterprofile/playercorefactory.xml does not exist. Skipping.
42.  09:31:43 T:2376  NOTICE: No settings file to load (special://xbmc/system/advancedsettings.xml)
43.  09:31:43 T:2376  NOTICE: Loaded settings file from special://profile/advancedsettings.xml
44.  09:31:43 T:2376  NOTICE: Contents of special://profile/advancedsettings.xml are...
45.         <advancedsettings>
46.             <!-- This should force smaller picture size -->
47.                <useddsfanart>true</useddsfanart>
48.             <!-- This creates my main databases in MY SQL -->
49.                 <videodatabase>
50.                 <type>mysql</type>
51.                 <host>.........  etc, etc. etc........


So, the major difference that I see is that after selecting profile "ambient" , the Win7 RC3 system does NOT run a masterprofile advancedsettings.xml, while Linux RC3 does... which then prevents the profile ambient advancedsettings.xml from running.


Let me know if I can provide additional info, or answer any questions.
Reply
#13
So, just to rule out if I am doing anything "wrong"... I wiped my XIOS (wipe data / factory reset), loading the recent nightly (update-c459328.img) and starting over.

After loading the image, I do my usual settings configuration, set up "files" to access my NAS (user / pass), and I loaded my advancedsettings.xml for main...

Code:
<advancedsettings>

<!-- This creates my main databases in MY SQL -->

<videodatabase>
<type>mysql</type>
<host>192.168.15.14</host>
<port>3306</port>
<user>xbmc</user>
<pass>xbmc</pass>
<name>mainvid</name>
</videodatabase>

<musicdatabase>
<type>mysql</type>
<host>192.168.15.14</host>
<port>3306</port>
<user>xbmc</user>
<pass>xbmc</pass>
<name>mainmusic</name>
</musicdatabase>

<!-- This moves my local thumbs to mSD  -->

<pathsubstitution>
<substitute>
<from>special://masterprofile/Thumbnails/</from>
<to>/media/usb0/Thumbnails/</to>
</substitute>
</pathsubstitution>

<!-- This ensures that a movie is not marked as watched until 90% of film has been played -->

<video>
<playcountminimumpercent>90</playcountminimumpercent>
</video>

<!-- This increases the number of recently added and also imports watched state  -->

<videolibrary>
<recentlyaddeditems>100</recentlyaddeditems>
<importwatchedstate>true</importwatchedstate>
</videolibrary>

</advancedsettings>

After reboot, all is great with "Main"... Info from MySQL is there, with [ MOVIES ], [ TV SHOWS ] and [ MUSIC ] all displaying what was expected.

So, reboot.

Then I create profile "Ambient", I copy the default settings, and ensure that Login menu is enabled. Log off MAIN, and into AMBIENT

The first thing that I see (which should NOT be there) is that the same Movie TV and MUSIC is displayed as in MAIN.


In that profile subdirectory, I load the advancedsettings.xml for ambient:

Code:
<advancedsettings>
  
<!-- This creates my main databases in MY SQL -->

<videodatabase>
<type>mysql</type>
<host>192.168.15.14</host>
<port>3306</port>
<user>xbmc</user>
<pass>xbmc</pass>
<name>ambientvideo</name>
</videodatabase>

<musicdatabase>
<type>mysql</type>
<host>192.168.15.14</host>
<port>3306</port>
<user>xbmc</user>
<pass>xbmc</pass>
<name>ambientmusic</name>
</musicdatabase>

<!-- This moves my local thumbs to mSD  -->

<pathsubstitution>
<substitute>
<from>special://masterprofile/Thumbnails/</from>
<to>/media/usb0/Thumbnails-Ambient/</to>
</substitute>
</pathsubstitution>

<!-- This ensures that a movie is not marked as watched until 90% of film has been played -->

<video>
<playcountminimumpercent>90</playcountminimumpercent>
</video>

<!-- This increases the number of recently added and also imports watched state  -->

<videolibrary>
<recentlyaddeditems>100</recentlyaddeditems>
<importwatchedstate>true</importwatchedstate>
</videolibrary>

</advancedsettings>



Reboot, select profile Ambient.

If everything was working the way it should be, I SHOULD see displayed the information that is specifically contained in MySQL for the DB's "ambientvideo" and "ambientmusic"

But again, after an hour + of configuaration, AMBIENT displays MAIN content. Confused

Log: http://xbmclogs.com/show.php?id=28785

AND... just like in my first post, the mapping still appears to have the MAIN advancedsettings.xml preferred (due to mapping) instead of the one in the chosen profile.

Code:
------------Section 1 -----------------------

3.  01:23:27 T:1093865120  NOTICE: Starting XBMC (12.0-RC3 Git:20130116-c459328), Platform: Linux (Unknown, 2.6.34 armv7l). Built on Jan 17 2013
4.  01:23:27 T:1093865120  NOTICE: special://xbmc/ is mapped to: /usr/share/xbmc
5.  01:23:27 T:1093865120  NOTICE: special://xbmcbin/ is mapped to: /usr/lib/xbmc
6.  01:23:27 T:1093865120  NOTICE: special://masterprofile/ is mapped to: /root/.xbmc/userdata
7.  01:23:27 T:1093865120  NOTICE: special://home/ is mapped to: /root/.xbmc
8.  01:23:27 T:1093865120  NOTICE: special://temp/ is mapped to: /root/.xbmc/temp
9.  01:23:27 T:1093865120  NOTICE: The executable running is: /usr/lib/xbmc/xbmc.bin
10.  01:23:27 T:1093865120  NOTICE: Local hostname: opps
11.  01:23:27 T:1093865120  NOTICE: Log File is located: /root/.xbmc/temp/xbmc.log
12.  01:23:27 T:1093865120  NOTICE: -----------------------------------------------------------------------

         ----- SNIP! ------

------------------------------ Section 2 ------------------------------------------------

58.  01:23:27 T:1093865120  NOTICE: load settings...
59.  01:23:27 T:1093865120  NOTICE: special://profile/ is mapped to: special://masterprofile/
60.  01:23:27 T:1093865120  NOTICE: Loaded settings file from special://xbmc/system/advancedsettings.xml
61.  01:23:27 T:1093865120  NOTICE: Contents of special://xbmc/system/advancedsettings.xml are...
62.                  <advancedsettings>
63.                  <enablenetworkmanager>1</enablenetworkmanager>
64.                  <showexitbutton>false</showexitbutton>
65.                  <hidesettings>
66.                  <setting>lookandfeel.soundskin</setting>
67.                  <setting>videoplayer.rendermethod</setting>
68.                  <setting>videoplayer.adjustrefreshrate</setting>
69.                  <setting>videoplayer.pauseafterrefreshchange</setting>
70.                  <setting>videoplayer.usedisplayasclock</setting>
71.                  <setting>videoplayer.synctype</setting>
72.                  <setting>audiocds</setting>
73.                  <setting>karaoke</setting>
74.                  <setting>videoscreen.screenmode</setting>
75.                  <setting>videoscreen.screen</setting>
76.                  <setting>videoscreen.vsync</setting>
77.                  <setting>videoscreen.testpattern</setting>
78.                  <setting>audiooutput.mode</setting>
79.                  <setting>audiooutput.channellayout</setting>
80.                  <setting>audiooutput.audiodevice</setting>
81.                  <setting>audiooutput.customdevice</setting>
82.                  <setting>audiooutput.passthroughdevice</setting>
83.                  <setting>audiooutput.custompassthrough</setting>
84.                  <setting>input.remoteaskeyboard</setting>
85.                  <setting>audiooutput.guisoundmode</setting>
86.                   </hidesettings>
87.                   </advancedsettings>
88. 01:23:27 T:1093865120   DEBUG: Configuring hidden settings
89.  01:23:27 T:1093865120   DEBUG:     Hiding:  [lookandfeel.soundskin]

      ----------SNIP! ------------

104.  01:23:27 T:1093865120   DEBUG:     Hiding:  [audiooutput.customdevice]
105.  01:23:27 T:1093865120   DEBUG:     Hiding:  [audiooutput.passthroughdevice]
106.  01:23:27 T:1093865120   DEBUG:     Hiding:  [audiooutput.custompassthrough]
107.  01:23:27 T:1093865120   DEBUG:     Hiding:  [input.remoteaskeyboard]
108.  01:23:27 T:1093865120   DEBUG:     Hiding:  [audiooutput.guisoundmode]


----------------------- Section 3 ---------------------

109.  01:23:27 T:1093865120  NOTICE: Loaded settings file from special://profile/advancedsettings.xml

110.  01:23:27 T:1093865120  NOTICE: Contents of special://profile/advancedsettings.xml are...
111.                                              <advancedsettings>
112.                                                <!-- This creates my main databases in MY SQL -->
113.                                                <videodatabase>
114.                                                  <type>mysql</type>
115.                                                  <host>192.168.15.14</host>
116.                                                  <port>3306</port>
117.                                                  <user>xbmc</user>
118.                                                  <pass>xbmc</pass>
119.                                                  <name>mainvid</name>
120.                                                </videodatabase>
        
                    ------------------------- SNIP ! ---------------------------

145.                                             </advancedsettings>
146.  01:23:27 T:1093865120   DEBUG: Configuring path substitutions
147.  01:23:27 T:1093865120   DEBUG:   Registering substition pair:
148.  01:23:27 T:1093865120   DEBUG:     From: [/root/.xbmc/userdata/Thumbnails/]
149.  01:23:27 T:1093865120   DEBUG:     To:   [/media/usb0/Thumbnails/]
150.  01:23:27 T:1093865120 WARNING: VIDEO database configuration is experimental.
151.  01:23:27 T:1093865120  NOTICE: special://profile/ is mapped to: special://masterprofile/
152.  01:23:27 T:1093865120  NOTICE: loading special://masterprofile/guisettings.xml
153.  01:23:27 T:1093865120  NOTICE: Getting hardware information now...


So, If we compare this with my previous post that discusses a system that WORKS, you will see directly above (in the code, designated as Section 2) that the XIOS Linux runs a special advancedsettings.xml that is not run in Win7 XBMC.

And, in mapping for that special advancedsettings.xml in Xios Linux, it then causes the MAIN advancedsettings.xml to be run in section 3, rather than the expected profile's advancedsettings.xml


PLEASE LET ME KNOW IF I AM DOING ANYTHING INCORRECT IN MY CONFIGURATION.

Because, from my perspective, doing the exact same steps, Profiles WORK on Win7 XBMC, and Profiles DO NOT WORK on Xios Linux.

(and I state "XIOS Linux", as I do not have any other Linux devices)


I look forward to your input.
Reply
#14
should be fixed in https://github.com/Pivosgroup/xbmc/commi...bf06b63891
Reply
#15
(2013-01-24, 02:28)davilla Wrote: should be fixed in https://github.com/Pivosgroup/xbmc/commi...bf06b63891

No, it isn't. The suggested fix did not work.

For additional detail, see: http://www.pivosforums.com/viewtopic.php...=10#p21967



Reply

Logout Mark Read Team Forum Stats Members Help
-- RESOLVED ! -- Frodo - Linux - Pivos Xios Profile Problem0