Hi folks,
Had a fun evening taking a system from 3.18.5 (GPL) to 3.24.0 (GPL). OK, interesting definition of fun 
Ran every minor upgrade in sequence as necessary to jump between major releases, following upgrade instructions. Twleve upgrades later and the system is looking fine, except for one hiccup.
Starting with 3.22.2, each run of step_03 would fail in the same way on the package web_services. Still happening with 3.24.0. Below is the most recent 3.24.0 error report that was emailed to me (command line output similar but less verbose). In order to proceed I moved the web_services package out of the way each time, this allowed step_03 to complete OK.
Any thoughts, questions or suggestions would be most welcome.
MySource Error
File : /var/www/vhosts/deddington.org.uk/mysource_matrix/core/include/locale_manager.inc
Line : 504
Version : 3.24.0
DB Type : pgsql
URL "_web_services" contains a path "512" which was deemed to be not valid. [CORE0124]
------------------------------------------------------------------
User Details
User: "Root User" (#12)
------------------------------------------------------------------
Root Urls
www.deddington.org.uk
------------------------------------------------------------------
Command and Arguments
install/step_03.php .
------------------------------------------------------------------
Back Trace
0 => array (
"function" => "sq_error_handler",
"args" => array (
0 => 256,
1 => "URL \"_web_services\" contains a path \"512\" which was deemed to be not valid. [CORE0124]",
2 => "/var/www/vhosts/deddington.org.uk/mysource_matrix/core/include/locale_manager.inc",
3 => 504,
4 => array (
[Max Depth Reached]
)
)
),
1 => array (
"file" => "/var/www/vhosts/deddington.org.uk/mysource_matrix/core/include/locale_manager.inc",
"line" => 504,
"function" => "trigger_error",
"args" => array (
0 => "URL \"_web_services\" contains a path \"512\" which was deemed to be not valid. [CORE0124]",
1 => 256
)
),
2 => array (
"file" => "/var/www/vhosts/deddington.org.uk/mysource_matrix/core/include/general.inc",
"line" => 1274,
"function" => "raiseError",
"class" => "Locale_Manager",
"object" => new Locale_Manager Object (
"locale_stack" => array (
[Max Depth Reached]
),
"_strings" => array (
[Max Depth Reached]
),
"_errors" => array (
[Max Depth Reached]
),
"_internal_messages" => array (
[Max Depth Reached]
),
"_tmp" => array (
[Max Depth Reached]
)
),
"type" => "->",
"args" => array (
0 => "CORE0124",
1 => "www.deddington.org.uk/_web_services",
2 => array (
[Max Depth Reached]
)
)
),
3 => array (
"file" => "/var/www/vhosts/deddington.org.uk/mysource_matrix/core/assets/site/site.inc",
"line" => 233,
"function" => "trigger_localised_error",
"args" => array (
0 => "CORE0124",
1 => "www.deddington.org.uk/_web_services",
2 => "_web_services",
3 => 512
)
),
4 => array (
"file" => "/var/www/vhosts/deddington.org.uk/mysource_matrix/core/assets/system/web_folders/web_folder/web_folder.inc",
"line" => 114,
"function" => "saveWebURLs",
"class" => "Site",
"object" => new Web_Folder_Web_Services Object (
"id" => "3367",
"version" => "0.0.1",
"name" => "Web Folder Web Services #3367",
"short_name" => "Web Folder Web Services #3367",
"status" => 2,
"languages" => "",
"charset" => "",
"force_secure" => "0",
"created" => 1255819224,
"created_userid" => "12",
"updated" => 1255819224,
"updated_userid" => "12",
"published" => ,
"published_userid" => ,
"status_changed" => 1255819224,
"status_changed_userid" => "12",
"_is_cacheable" => ,
"vars" => array (
[Max Depth Reached]
),
"_available_keywords" => array (
[Max Depth Reached]
),
"data_path_suffix" => "assets/web_folder_web_services/0019/3367",
"data_path" => "./data/private/assets/web_folder_web_services/0019/3367",
"data_path_public" => "./data/public/assets/web_folder_web_services/0019/3367",
"_ser_attrs" => ,
"_tmp" => array (
[Max Depth Reached]
)
),
"type" => "->",
"args" => array (
0 => array (
[Max Depth Reached]
)
)
),
5 => array (
"file" => "/var/www/vhosts/deddington.org.uk/mysource_matrix/core/include/asset.inc",
"line" => 470,
"function" => "_createAdditional",
"class" => "Web_Folder",
"object" => new Web_Folder_Web_Services Object (
"id" => "3367",
"version" => "0.0.1",
"name" => "Web Folder Web Services #3367",
"short_name" => "Web Folder Web Services #3367",
"status" => 2,
"languages" => "",
"charset" => "",
"force_secure" => "0",
"created" => 1255819224,
"created_userid" => "12",
"updated" => 1255819224,
"updated_userid" => "12",
"published" => ,
"published_userid" => ,
"status_changed" => 1255819224,
"status_changed_userid" => "12",
"_is_cacheable" => ,
"vars" => array (
[Max Depth Reached]
),
"_available_keywords" => array (
[Max Depth Reached]
),
"data_path_suffix" => "assets/web_folder_web_services/0019/3367",
"data_path" => "./data/private/assets/web_folder_web_services/0019/3367",
"data_path_public" => "./data/public/assets/web_folder_web_services/0019/3367",
"_ser_attrs" => ,
"_tmp" => array (
[Max Depth Reached]
)
),
"type" => "->",
"args" => array (
0 => array (
[Max Depth Reached]
)
)
),
6 => array (
"file" => "/var/www/vhosts/deddington.org.uk/mysource_matrix/core/assets/system/web_folders/web_folder/web_folder.inc",
"line" => 65,
"function" => "create",
"class" => "Asset",
"object" => new Web_Folder_Web_Services Object (
"id" => "3367",
"version" => "0.0.1",
"name" => "Web Folder Web Services #3367",
"short_name" => "Web Folder Web Services #3367",
"status" => 2,
"languages" => "",
"charset" => "",
"force_secure" => "0",
"created" => 1255819224,
"created_userid" => "12",
"updated" => 1255819224,
"updated_userid" => "12",
"published" => ,
"published_userid" => ,
"status_changed" => 1255819224,
"status_changed_userid" => "12",
"_is_cacheable" => ,
"vars" => array (
[Max Depth Reached]
),
"_available_keywords" => array (
[Max Depth Reached]
),
"data_path_suffix" => "assets/web_folder_web_services/0019/3367",
"data_path" => "./data/private/assets/web_folder_web_services/0019/3367",
"data_path_public" => "./data/public/assets/web_folder_web_services/0019/3367",
"_ser_attrs" => ,
"_tmp" => array (
[Max Depth Reached]
)
),
"type" => "->",
"args" => array (
0 => array (
[Max Depth Reached]
)
)
),
7 => array (
"file" => "/var/www/vhosts/deddington.org.uk/mysource_matrix/packages/web_services/package_manager_web_services.inc",
"line" => 83,
"function" => "create",
"class" => "Web_Folder",
"object" => new Web_Folder_Web_Services Object (
"id" => "3367",
"version" => "0.0.1",
"name" => "Web Folder Web Services #3367",
"short_name" => "Web Folder Web Services #3367",
"status" => 2,
"languages" => "",
"charset" => "",
"force_secure" => "0",
"created" => 1255819224,
"created_userid" => "12",
"updated" => 1255819224,
"updated_userid" => "12",
"published" => ,
"published_userid" => ,
"status_changed" => 1255819224,
"status_changed_userid" => "12",
"_is_cacheable" => ,
"vars" => array (
[Max Depth Reached]
),
"_available_keywords" => array (
[Max Depth Reached]
),
"data_path_suffix" => "assets/web_folder_web_services/0019/3367",
"data_path" => "./data/private/assets/web_folder_web_services/0019/3367",
"data_path_public" => "./data/public/assets/web_folder_web_services/0019/3367",
"_ser_attrs" => ,
"_tmp" => array (
[Max Depth Reached]
)
),
"type" => "->",
"args" => array (
0 => array (
[Max Depth Reached]
)
)
),
8 => array (
"file" => "/var/www/vhosts/deddington.org.uk/mysource_matrix/core/include/package_manager.inc",
"line" => 850,
"function" => "createWebFolderWebServices",
"class" => "Package_Manager_Web_Services",
"object" => new Package_Manager_Web_Services Object (
"name" => "Web Services Package",
"version" => "0.1",
"description" => "Contains the assets for Web Services",
"assets" => array (
[Max Depth Reached]
),
"_base_path" => "packages/web_services",
"_full_path" => "./packages/web_services",
"_tmp" => array (
[Max Depth Reached]
)
),
"type" => "->",
"args" => array (
[Empty]
)
),
9 => array (
"file" => "/var/www/vhosts/deddington.org.uk/mysource_matrix/install/install.inc",
"line" => 491,
"function" => "installSystemAssets",
"class" => "Package_Manager",
"object" => new Package_Manager_Web_Services Object (
"name" => "Web Services Package",
"version" => "0.1",
"description" => "Contains the assets for Web Services",
"assets" => array (
[Max Depth Reached]
),
"_base_path" => "packages/web_services",
"_full_path" => "./packages/web_services",
"_tmp" => array (
[Max Depth Reached]
)
),
"type" => "->",
"args" => array (
[Empty]
)
),
10 => array (
"file" => "/var/www/vhosts/deddington.org.uk/mysource_matrix/install/install.inc",
"line" => 441,
"function" => "install_package",
"args" => array (
0 => "web_services",
1 => array (
[Max Depth Reached]
)
)
),
11 => array (
"file" => "/var/www/vhosts/deddington.org.uk/mysource_matrix/install/step_03.php",
"line" => 129,
"function" => "install_packages",
"args" => array (
0 => array (
[Max Depth Reached]
)
)
)
----------- END -----------
thanks, martin
EDIT1: clarified am using GPL, corrected problematic step as being 3.22.2.
Did you start with a SSV install and move to a GPL? You said that web services was failing in 3.22.x, but web services in GPL was not added until 3.24.
Small typo (now corrected), started to get error message about web_services from 3.22.2. Started from GPL, not SSV.
Confirmed by checking CVS/Tag file in the first packages/web_services directory I moved aside, reads "Tmysource_3-22-2".
[quote]
Did you start with a SSV install and move to a GPL? You said that web services was failing in 3.22.x, but web services in GPL was not added until 3.24.
[/quote]
The Web Services Folder was made GPL in 3.22.2 due to the addition of your wonderful JS API asset ;). However the SOAP API and REST assets and other package elements are SSV.
To the original poster - perhaps verify that there is not a "_web_services" path before the jump to 3.22.x. The error here is preventing the Web Services Folder from being installed. Perhaps the Web Services package was introduced from the 3.22.x codebase when performing the upgrade to 3.20.x by mistake.
Edit: REST assets are SSV too, removed words which may have indicated otherwise.
[quote]
The Web Services Folder was made GPL in 3.22.2 due to the addition of your wonderful JS API asset
and later on in 3.24.1 for the REST assets.
However the SOAP API and other package elements are SSV.
[/quote]
Yes, you are right. Not sure what I was thinking. We had a more "major" release of the API in 3.24, which added tons of new features, so I think that was stuck in my head. 
Hi Mark,
Think I've found the cause after some ferreting about in the bowls of the code.
So happens our site is configured in main.inc with SQ_CONF_WEB_PATH_SEPARATOR as '' (ie empty string), due to a need for compatibility with an earlier (pre-MSM) incarnation. This hasn't caused any hassle until now. At some point (3.22.2?) a change got added to remove multiple contiguous web path seperators.
Patched core/include/general_occasional.inc to read:
391 // replace more than one web path separator with just one
392 if (SQ_CONF_WEB_PATH_SEPARATOR != '') $path = preg_replace('/'.SQ_CONF_WEB_PATH_SEPARATOR.'+/', SQ_CONF_WEB_PATH_SEPARATOR, $path);
Want me to post a bug?
BTW, if SQ_CONF_WEB_PATH_SEPARATOR isn't supposed to empty, is this documented anywhere?
thanks, martin
[quote]
So happens our site is configured in main.inc with SQ_CONF_WEB_PATH_SEPARATOR as '' (ie empty string), due to a need for compatibility with an earlier (pre-MSM) incarnation. This hasn't caused any hassle until now. At some point (3.22.2?) a change got added to remove multiple contiguous web path seperators.
Patched core/include/general_occasional.inc to read:
391 // replace more than one web path separator with just one
392 if (SQ_CONF_WEB_PATH_SEPARATOR != '') $path = preg_replace('/'.SQ_CONF_WEB_PATH_SEPARATOR.'+/', SQ_CONF_WEB_PATH_SEPARATOR, $path);
Want me to post a bug?
BTW, if SQ_CONF_WEB_PATH_SEPARATOR isn't supposed to empty, is this documented anywhere?
[/quote]
Cheers Martin. This fix would be in line with previous functionality so please lodge a bug.
There is nothing stating that an empty value cannot not be used, and the previous functionality allows for it.
It should be noted that use of dashes within Web Paths (the default setting) is encouraged for Search Engine Optimisation.
I need to clarify something I said earlier, which I have just edited. The REST assets are themselves SSV, in line with anything which requires interfacing with remote systems. My previous text (as quoted by Nic) may have given an impression that these were also GPL.
Sorry for any confusion caused here.
File as bug #3991.
cheers, martin