Sarjuuk / aowow

Database viewer for TrinityCore based on aowow by @LordJZ, based on the JS-Engine of Wowhead
204 stars 217 forks source link

Setup now fails with an errors. #426

Closed jzizka91 closed 2 months ago

jzizka91 commented 3 months ago

Hi.

One of the most recent commits must have broken the setup. The setup is no longer able to complete and returns exceptions and suspicious warnings I haven't seen before. I'm using the most recent commit as of today.

Here is the full setup log

22:00:53          [setup] step 3 / 79
22:00:53          [sql] filling aowow_achievementcriteria with data
22:00:53          [sql] copying achievement_criteria.dbc into aowow_achievementcriteria
22:00:53  [INFO]  indexing game data from setup/mpqdata/ for first time use... done!
22:00:53           - DBC: reading and merging achievement_criteria.dbc for locales enus
22:00:53  [OK]    [sql] subscript 'achievementcriteria' returned successfully

22:00:53          [setup] step 4 / 79
22:00:53          [sql] filling aowow_classes with data
22:00:53           - DBC: reading and merging spell.dbc for locales enus
22:01:13           - DBC: reading charbaseinfo.dbc
22:01:13           - DBC: reading skillraceclassinfo.dbc
22:01:13           - DBC: reading skilllineability.dbc
22:01:13           - DBC: reading and merging chrclasses.dbc for locales enus
22:01:14  [OK]    [sql] subscript 'classes' returned successfully

22:01:14          [setup] step 5 / 79
22:01:14          [sql] filling aowow_creature with data
22:01:14           - DBC: reading creaturedisplayinfo.dbc
22:01:16           - DBC: reading and merging creaturedisplayinfoextra.dbc for locales enus
22:02:25  [OK]    [sql] subscript 'creature' returned successfully

22:02:25          [setup] step 6 / 79
22:02:25          [sql] filling aowow_declinedwords with data
22:02:25           - DBC: reading declinedword.dbc
22:02:25           - DBC: reading declinedwordcases.dbc
22:02:31          [declinedwords] - copying declinedword.dbc into aowow_declinedword
22:02:31          [declinedwords] - copying declinedwordcases.dbc into aowow_declinedwordcases
22:02:31  [OK]    [sql] subscript 'declinedwords' returned successfully

22:02:31          [setup] step 7 / 79
22:02:31          [sql] filling aowow_dungeonmap with data
22:02:31          [sql] copying dungeonmap.dbc into aowow_dungeonmap
22:02:31           - DBC: reading dungeonmap.dbc
22:02:31  [OK]    [sql] subscript 'dungeonmap' returned successfully

22:02:31          [setup] step 8 / 79
22:02:31          [sql] filling aowow_emotes with data
22:02:31           - DBC: reading emotes.dbc
22:02:31           - DBC: reading emotestext.dbc
22:02:31           - DBC: reading and merging emotestextdata.dbc for locales enus
22:02:31  [INFO]  loading required GlobalStrings
22:02:32  [OK]    [sql] subscript 'emotes' returned successfully

22:02:32          [setup] step 9 / 79
22:02:32          [sql] filling aowow_events with data
22:02:32  [OK]    [sql] subscript 'events' returned successfully

22:02:32          [setup] step 10 / 79
22:02:32          [sql] filling aowow_factions with data
22:02:32           - DBC: reading and merging faction.dbc for locales enus
22:02:32           - DBC: reading factiontemplate.dbc
22:02:34  [OK]    [sql] subscript 'factions' returned successfully

22:02:34          [setup] step 11 / 79
22:02:34          [sql] filling aowow_holidays with data
22:02:34           - DBC: reading and merging holidays.dbc for locales enus
22:02:34           - DBC: reading and merging holidaydescriptions.dbc for locales enus
22:02:34           - DBC: reading and merging holidaynames.dbc for locales enus
22:02:34  [OK]    [sql] subscript 'holidays' returned successfully

22:02:34          [setup] step 12 / 79
22:02:34          [sql] filling aowow_icons with data
22:02:34           - DBC: reading spellicon.dbc
22:02:34           - DBC: reading itemdisplayinfo.dbc
22:02:37           - DBC: reading and merging creaturefamily.dbc for locales enus
22:02:37  [OK]    [sql] subscript 'icons' returned successfully

22:02:37          [setup] step 13 / 79
22:02:37          [sql] filling aowow_achievement with data
22:02:37           - DBC: reading and merging achievement_category.dbc for locales enus
22:02:37           - DBC: reading and merging achievement.dbc for locales enus
22:02:38          [achievement] - resolving categories
22:02:38          [achievement] - basic dbc data
22:02:38          [achievement] - serverside achievement data
22:02:38          [achievement] - linking achievements to chain
22:02:38          [achievement] - disabling disabled achievements from table disables
22:02:38  [OK]    [sql] subscript 'achievement' returned successfully

22:02:38          [setup] step 14 / 79
22:02:38          [sql] filling aowow_currencies with data
22:02:38           - DBC: reading currencytypes.dbc
22:02:38  [WARN]  [currencies] [181]  referenced item 44209 is not in item_template
22:02:38  [OK]    [sql] subscript 'currencies' returned successfully

22:02:38          [setup] step 15 / 79
22:02:38          [sql] filling aowow_glyphproperties with data
22:02:38           - DBC: reading glyphproperties.dbc
22:02:38  [OK]    [sql] subscript 'glyphproperties' returned successfully

22:02:38          [setup] step 16 / 79
22:02:38          [sql] filling aowow_itemenchantment with data
22:02:38           - DBC: reading and merging spellitemenchantment.dbc for locales enus
22:02:39  [OK]    [sql] subscript 'itemenchantment' returned successfully

22:02:39          [setup] step 17 / 79
22:02:39          [sql] filling aowow_itemenchantmentcondition with data
22:02:39          [sql] copying spellitemenchantmentcondition.dbc into aowow_itemenchantmentcondition
22:02:39           - DBC: reading spellitemenchantmentcondition.dbc
22:02:39  [OK]    [sql] subscript 'itemenchantmentcondition' returned successfully

22:02:39          [setup] step 18 / 79
22:02:39          [sql] filling aowow_itemextendedcost with data
22:02:39          [sql] copying itemextendedcost.dbc into aowow_itemextendedcost
22:02:39           - DBC: reading itemextendedcost.dbc
22:02:39  [OK]    [sql] subscript 'itemextendedcost' returned successfully

22:02:39          [setup] step 19 / 79
22:02:39          [sql] filling aowow_itemlimitcategory with data
22:02:39          [sql] copying itemlimitcategory.dbc into aowow_itemlimitcategory
22:02:39           - DBC: reading and merging itemlimitcategory.dbc for locales enus
22:02:39  [OK]    [sql] subscript 'itemlimitcategory' returned successfully

22:02:39          [setup] step 20 / 79
22:02:39          [sql] filling aowow_itemrandomenchant with data
22:02:39           - DBC: reading and merging itemrandomsuffix.dbc for locales enus
22:02:39           - DBC: reading and merging itemrandomproperties.dbc for locales enus
22:02:39  [OK]    [sql] subscript 'itemrandomenchant' returned successfully

22:02:39          [setup] step 21 / 79
22:02:39          [sql] filling aowow_itemrandomproppoints with data
22:02:39          [sql] copying randproppoints.dbc into aowow_itemrandomproppoints
22:02:39           - DBC: reading randproppoints.dbc
22:02:39  [OK]    [sql] subscript 'itemrandomproppoints' returned successfully

22:02:39          [setup] step 22 / 79
22:02:39          [sql] filling aowow_items with data
22:02:39           - DBC: reading gemproperties.dbc
22:02:39           - DBC: reading durabilityquality.dbc
22:02:39           - DBC: reading durabilitycosts.dbc
22:11:36  [WARN]  WARNING - mysqli_query(): (42000/1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INT) = CAST(mask AS FLOAT)) s
             ON     s.id = i.spellId1
            ' at line 5 @ /var/www/aowow/includes/libs/DbSimple/Mysqli.php:165
22:11:36  [WARN]  WARNING -  at /var/www/aowow/setup/tools/sqlgen/items.ss.php line 207 @ /var/www/aowow/includes/database.class.php:92
22:11:38  [OK]    [sql] subscript 'items' returned successfully

22:11:38          [setup] step 23 / 79
22:11:38          [sql] filling aowow_lock with data
22:11:38          [sql] copying lock.dbc into aowow_lock
22:11:38           - DBC: reading lock.dbc
22:11:38  [OK]    [sql] subscript 'lock' returned successfully

22:11:38          [setup] step 24 / 79
22:11:38          [sql] filling aowow_mails with data
22:11:38           - DBC: reading and merging mailtemplate.dbc for locales enus
22:11:38          [mails] - loading data from achievement_reward
22:11:38          [mails] - loading data from mail_loot_template
22:11:38  [OK]    [sql] subscript 'mails' returned successfully

22:11:38          [setup] step 25 / 79
22:11:38          [sql] filling aowow_objects with data
22:11:38           - DBC: reading lock.dbc
22:12:08  [OK]    [sql] subscript 'objects' returned successfully

22:12:08          [setup] step 26 / 79
22:12:08          [sql] filling aowow_pet with data
22:12:08           - DBC: reading talent.dbc
22:12:09  [OK]    [sql] subscript 'pet' returned successfully

22:12:09          [setup] step 27 / 79
22:12:09          [sql] filling aowow_quests with data
22:12:09           - DBC: reading questxp.dbc
22:12:09           - DBC: reading questfactionreward.dbc
22:12:30  [OK]    [sql] subscript 'quests' returned successfully

22:12:30          [setup] step 28 / 79
22:12:30          [sql] filling aowow_quests_startend with data
22:13:59  [OK]    [sql] subscript 'quests_startend' returned successfully

22:13:59          [setup] step 29 / 79
22:13:59          [sql] filling aowow_races with data
22:13:59           - DBC: reading and merging chrraces.dbc for locales enus
22:13:59  [OK]    [sql] subscript 'races' returned successfully

22:13:59          [setup] step 30 / 79
22:13:59          [sql] filling aowow_scalingstatdistribution with data
22:13:59          [sql] copying scalingstatdistribution.dbc into aowow_scalingstatdistribution
22:13:59           - DBC: reading scalingstatdistribution.dbc
22:13:59  [OK]    [sql] subscript 'scalingstatdistribution' returned successfully

22:13:59          [setup] step 31 / 79
22:13:59          [sql] filling aowow_scalingstatvalues with data
22:13:59          [sql] copying scalingstatvalues.dbc into aowow_scalingstatvalues
22:13:59           - DBC: reading scalingstatvalues.dbc
22:13:59  [OK]    [sql] subscript 'scalingstatvalues' returned successfully

22:13:59          [setup] step 32 / 79
22:13:59          [sql] filling aowow_shapeshiftforms with data
22:13:59           - DBC: reading and merging spellshapeshiftform.dbc for locales enus
22:13:59  [OK]    [sql] subscript 'shapeshiftforms' returned successfully

22:13:59          [setup] step 33 / 79
22:13:59          [sql] filling aowow_skillline with data
22:13:59           - DBC: reading and merging skillline.dbc for locales enus
22:13:59  [OK]    [sql] subscript 'skillline' returned successfully

22:13:59          [setup] step 34 / 79
22:13:59          [sql] filling aowow_skilllineability with data
22:13:59          [sql] copying skilllineability.dbc into aowow_skilllineability
22:13:59           - DBC: reading skilllineability.dbc
22:13:59  [OK]    [sql] subscript 'skilllineability' returned successfully

22:13:59          [setup] step 35 / 79
22:13:59          [sql] filling aowow_soundemitters with data
22:13:59          [sql] copying soundemitters.dbc into aowow_soundemitters
22:13:59           - DBC: reading soundemitters.dbc
22:13:59  [OK]    [sql] subscript 'soundemitters' returned successfully

22:13:59          [setup] step 36 / 79
22:13:59          [sql] filling aowow_sounds with data
22:13:59           - DBC: reading soundentries.dbc
22:14:01           - DBC: reading emotestextsound.dbc
22:14:01           - DBC: reading vocaluisounds.dbc
22:14:01           - DBC: reading npcsounds.dbc
22:14:01           - DBC: reading creaturesounddata.dbc
22:14:01           - DBC: reading creaturemodeldata.dbc
22:14:01           - DBC: reading spellvisual.dbc
22:14:01           - DBC: reading and merging spellvisualkit.dbc for locales enus
22:14:02           - DBC: reading screeneffect.dbc
22:14:02           - DBC: reading soundambience.dbc
22:14:02           - DBC: reading zonemusic.dbc
22:14:02           - DBC: reading zoneintromusictable.dbc
22:14:02           - DBC: reading worldstatezonesounds.dbc
22:14:02           - DBC: reading and merging areatable.dbc for locales enus
22:14:02           - DBC: reading material.dbc
22:14:02           - DBC: reading itemgroupsounds.dbc
22:14:02           - DBC: reading weaponimpactsounds.dbc
22:14:02           - DBC: reading and merging itemsubclass.dbc for locales enus
22:14:02           - DBC: reading weaponswingsounds2.dbc
22:14:02          [sound] - sounds main data
22:14:02  [WARN]  [sound] Group [62]    GLUESCREENSMALLBUTTONMOUSEUP contains no sound files! Skipping...
22:14:02  [WARN]  [sound] Group [65]    GLUESCREENMEDIUMBUTTONMOUSEUP contains no sound files! Skipping...
22:14:02  [WARN]  [sound] Group [68]    GLUESCREENLARGEBUTTONMOUSEUP contains no sound files! Skipping...
22:14:02  [WARN]  [sound] Group [72]    GLUECHECKBOXMOUSEUP contains no sound files! Skipping...
22:14:02  [WARN]  [sound] Group [75]    GLUECHARCUSTOMIZATIONMOUSEUP contains no sound files! Skipping...
22:14:02  [WARN]  [sound] Group [78]    GLUESCROLLBUTTONMOUSEUP contains no sound files! Skipping...
22:14:02  [WARN]  [sound] Group [92]    GAMESCREENSMALLBUTTONMOUSEUP contains no sound files! Skipping...
22:14:02  [WARN]  [sound] Group [93]    GAMESCREENSMALLBUTTONMOUSEOVER contains no sound files! Skipping...
22:14:02  [WARN]  [sound] Group [95]    GAMESCREENMEDIUMBUTTONMOUSEUP contains no sound files! Skipping...
22:14:02  [WARN]  [sound] Group [96]    GAMESCREENMEDIUMBUTTONMOUSEOVER contains no sound files! Skipping...
22:14:02  [WARN]  [sound] Group [98]    GAMESCREENLARGEBUTTONMOUSEUP contains no sound files! Skipping...
22:14:02  [WARN]  [sound] Group [99]    GAMESCREENLARGEBUTTONMOUSEOVER contains no sound files! Skipping...
22:14:02  [WARN]  [sound] Group [103]   GAMEHIGHLIGHTFRIENDLYUNIT contains no sound files! Skipping...
22:14:02  [WARN]  [sound] Group [104]   GAMEHIGHLIGHTHOSTILEUNIT contains no sound files! Skipping...
22:14:02  [WARN]  [sound] Group [105]   GAMEHIGHLIGHTNEUTRALUNIT contains no sound files! Skipping...
22:14:02  [WARN]  [sound] Group [106]   GAMEINITIALATTACK contains no sound files! Skipping...
22:14:03  [WARN]  [sound] Group [897]   GAMEHIGHLIGHTHOSTILEUNIT contains no sound files! Skipping...
22:14:03  [WARN]  [sound] Group [898]   GAMEHIGHLIGHTNEUTRALUNIT contains no sound files! Skipping...
22:14:03  [WARN]  [sound] Group [899]   GAMEHIGHLIGHTFRIENDLYUNIT contains no sound files! Skipping...
22:14:13  [WARN]  [sound] Group [12292] Zone-QuelDanasStage02 has invalid sound file Sunwell\SW_FelEnergyWalkUni01 on index 6! Skipping...
22:14:15  [WARN]  [sound] Group [13401] Zap 00 has invalid sound file ID_Forge_Zap04 on index 1! Skipping...
22:14:15  [WARN]  [sound] Group [13401] Zap 00 contains no sound files! Skipping...
22:14:21          [sound] - linking to race
22:14:21          [sound] - linking to emotes
22:14:21          [sound] - linking to creatures
22:14:22          [sound] - linking to spells
22:14:22          [sound] - linking to zones
22:14:22          [sound] - linking to items
22:14:24          [sound] - linking to screen effects
22:14:24  [OK]    [sql] subscript 'sounds' returned successfully

22:14:24          [setup] step 37 / 79
22:14:24          [sql] filling aowow_spelldifficulty with data
22:14:24           - DBC: reading spelldifficulty.dbc
22:14:24  [OK]    [sql] subscript 'spelldifficulty' returned successfully

22:14:24          [setup] step 38 / 79
22:14:24          [sql] filling aowow_spellfocusobject with data
22:14:24          [sql] copying spellfocusobject.dbc into aowow_spellfocusobject
22:14:24           - DBC: reading and merging spellfocusobject.dbc for locales enus
22:14:24  [OK]    [sql] subscript 'spellfocusobject' returned successfully

22:14:24          [setup] step 39 / 79
22:14:24          [sql] filling aowow_spelloverride with data
22:14:24          [sql] copying overridespelldata.dbc into aowow_spelloverride
22:14:24           - DBC: reading overridespelldata.dbc
22:14:24  [OK]    [sql] subscript 'spelloverride' returned successfully

22:14:24          [setup] step 40 / 79
22:14:24          [sql] filling aowow_spellrange with data
22:14:24          [sql] copying spellrange.dbc into aowow_spellrange
22:14:24           - DBC: reading and merging spellrange.dbc for locales enus
22:14:24  [OK]    [sql] subscript 'spellrange' returned successfully

22:14:24          [setup] step 41 / 79
22:14:24          [sql] filling aowow_spell with data
22:14:24           - DBC: reading spellradius.dbc
22:14:24           - DBC: reading spellduration.dbc
22:14:24           - DBC: reading spellrunecost.dbc
22:14:24           - DBC: reading spellcasttimes.dbc
22:14:24           - DBC: reading and merging talenttab.dbc for locales enus
22:14:24           - DBC: reading and merging spell.dbc for locales enus
22:14:44          [spell] - merging serverside spells into spell.dbc
22:14:48          [spell] - filling aowow_spell
22:15:47          [spell] - linking with skilllineability
22:15:57          [spell] - linking with talent
22:15:58          [spell] - misc fixups & icons
22:15:59  [WARN]  WARNING - mysqli_query(): (HY000/1137): Can't reopen table: 's' @ /var/www/aowow/includes/libs/DbSimple/Mysqli.php:165
22:15:59  [WARN]  WARNING -  at /var/www/aowow/setup/tools/sqlgen/spell.ss.php line 468 @ /var/www/aowow/includes/database.class.php:92
22:15:59  [WARN]  WARNING - mysqli_query(): (42S22/1054): Unknown column 'DBSIMPLE_ERROR_VALUE_NOT_ARRAY' in 'where clause' @ /var/www/aowow/includes/libs/DbSimple/Mysqli.php:165
22:15:59  [WARN]  WARNING - foreach() argument must be of type array|object, false given @ /var/www/aowow/setup/tools/sqlgen/spell.ss.php:494
22:16:02          [spell] - applying categories
22:16:12          [spell] - fixing glyph data
22:16:12  [WARN]  [spell] [54292] could not match Glyph of the White Bear with affected spells
22:16:46  [WARN]  [spell] [58132] could not match Glyph of the Black Bear with affected spells
22:17:11  [WARN]  [spell] [58686] could not match Glyph of the Ghoul with affected spells
22:17:28  [OK]    [sql] subscript 'spell' returned successfully

22:17:28          [setup] step 42 / 79
22:17:28          [sql] filling aowow_spellvariables with data
22:17:28          [sql] copying spelldescriptionvariables.dbc into aowow_spellvariables
22:17:28           - DBC: reading spelldescriptionvariables.dbc
22:17:28  [OK]    [sql] subscript 'spellvariables' returned successfully

22:17:28          [setup] step 43 / 79
22:17:28          [sql] filling aowow_itemset with data
22:17:28           - DBC: reading and merging itemset.dbc for locales enus
22:17:28  [WARN]  WARNING - Lang - undefined property Lang::$item['ratingString'], called in utilities.php:966 @ /var/www/aowow/localization/lang.class.php:98
Exception - Util::setRatingLevel(): Return value must be of type string, null returned
   /var/www/aowow/includes/utilities.php(966)
#0 /var/www/aowow/includes/types/spell.class.php(1628): Util::setRatingLevel(80, 32, 14)
#1 /var/www/aowow/includes/types/spell.class.php(1490): SpellList->handleVariables('Increases your ...', true)
#2 /var/www/aowow/setup/tools/sqlgen/itemset.ss.php(251): SpellList->parseText()
#3 /var/www/aowow/setup/tools/clisetup/datagen.us.php(95): SetupScript@anonymous->generate(Array)
#4 /var/www/aowow/setup/tools/CLISetup.class.php(346): UtilityScript@anonymous->run(Array)
#5 /var/www/aowow/setup/tools/clisetup/setup.us.php(113): CLISetup::run('sql', Array)
#6 /var/www/aowow/setup/tools/CLISetup.class.php(289): UtilityScript@anonymous->run(Array)
#7 /var/www/aowow/setup/setup.php(27): CLISetup::runInitial()
#8 /var/www/aowow/aowow(10): require('/var/www/aowow/...')
#9 {main}

System:

Sarjuuk commented 3 months ago

oh dear.

Seriously, what kind of database engine are you using..?

jzizka91 commented 3 months ago

I was using MYSQL:5.7. With that version the setup was working fine until recent aowow changes.

I tried to update to MySQL:8.0 With version 8.0 steps 22 and 41 don't return any warnings. It however returns the same warning in step 42 (as it did previously in step 41), with step 43 the setup fails still.

With version 8.0 it also returns some depreciation warnings in a few steps, but that's not the real issue now:

07:15:17  [WARN]  WARNING - 'VALUES function' is deprecated and will be removed in a future release. Please use an alias (INSERT INTO ... VALUES (...) AS alias) and replace VALUES(col) in the ON DUPLICATE KEY UPDATE clause with alias.col instead at /var/www/aowow/setup/tools/sqlgen/questsstartend.ss.php line 40 @ /var/www/aowow/includes/database.class.php:92

07:24:38  [WARN]  WARNING - SQL_CALC_FOUND_ROWS is deprecated and will be removed in a future release. Consider using two separate queries instead. at /var/www/aowow/includes/basetype.class.php line 267 @ /var/www/aowow/includes/database.class.php:92

07:24:38  [WARN]  WARNING - FOUND_ROWS() is deprecated and will be removed in a future release. Consider using COUNT(*) instead. at /var/www/aowow/includes/basetype.class.php line 267 @ /var/www/aowow/includes/database.class.php:92

Logs with MYSQL:8.0, without any code manual changes (steps 1-41 OK):

07:17:22          [setup] step 42 / 79
07:17:22          [sql] filling aowow_spell with data
07:17:22           - DBC: reading spellradius.dbc
07:17:22           - DBC: reading spellduration.dbc
07:17:22           - DBC: reading spellrunecost.dbc
07:17:22           - DBC: reading spellcasttimes.dbc
07:17:22           - DBC: reading and merging talenttab.dbc for locales enus
07:17:22           - DBC: reading and merging spell.dbc for locales enus
07:17:42          [spell] - merging serverside spells into spell.dbc
07:17:46          [spell] - filling aowow_spell
07:20:15          [spell] - linking with skilllineability
07:20:48          [spell] - linking with talent
07:20:49          [spell] - misc fixups & icons
07:20:52  [WARN]  WARNING - mysqli_query(): (HY000/1137): Can't reopen table: 's' @ /var/www/aowow/includes/libs/DbSimple/Mysqli.php:165
07:20:52  [WARN]  WARNING -  at /var/www/aowow/setup/tools/sqlgen/spell.ss.php line 468 @ /var/www/aowow/includes/database.class.php:92
07:20:52  [WARN]  WARNING - mysqli_query(): (42S22/1054): Unknown column 'DBSIMPLE_ERROR_VALUE_NOT_ARRAY' in 'where clause' @ /var/www/aowow/includes/libs/DbSimple/Mysqli.php:165
07:20:52  [WARN]  WARNING - foreach() argument must be of type array|object, false given @ /var/www/aowow/setup/tools/sqlgen/spell.ss.php:494
07:20:57          [spell] - applying categories
07:21:07          [spell] - fixing glyph data
07:21:08  [WARN]  [spell] [54292] could not match Glyph of the White Bear with affected spells
07:22:46  [WARN]  [spell] [58132] could not match Glyph of the Black Bear with affected spells
07:23:50  [WARN]  [spell] [58686] could not match Glyph of the Ghoul with affected spells
07:24:38  [OK]    [sql] subscript 'spell' returned successfully

07:24:38          [setup] step 43 / 79
07:24:38          [sql] filling aowow_spellvariables with data
07:24:38          [sql] copying spelldescriptionvariables.dbc into aowow_spellvariables
07:24:38           - DBC: reading spelldescriptionvariables.dbc
07:24:38  [OK]    [sql] subscript 'spellvariables' returned successfully

07:24:38          [setup] step 44 / 79
07:24:38          [sql] filling aowow_itemset with data
07:24:38           - DBC: reading and merging itemset.dbc for locales enus
07:24:38  [WARN]  WARNING - SQL_CALC_FOUND_ROWS is deprecated and will be removed in a future release. Consider using two separate queries instead. at /var/www/aowow/includes/basetype.class.php line 267 @ /var/www/aowow/includes/database.class.php:92
07:24:38  [WARN]  WARNING - FOUND_ROWS() is deprecated and will be removed in a future release. Consider using COUNT(*) instead. at /var/www/aowow/includes/basetype.class.php line 267 @ /var/www/aowow/includes/database.class.php:92
07:24:38  [WARN]  WARNING - Lang - undefined property Lang::$item['ratingString'], called in utilities.php:967 @ /var/www/aowow/localization/lang.class.php:98
Exception - Util::setRatingLevel(): Return value must be of type string, null returned
   /var/www/aowow/includes/utilities.php(967)
#0 /var/www/aowow/includes/types/spell.class.php(1628): Util::setRatingLevel(80, 32, 14)
#1 /var/www/aowow/includes/types/spell.class.php(1490): SpellList->handleVariables('Increases your ...', true)
#2 /var/www/aowow/setup/tools/sqlgen/itemset.ss.php(251): SpellList->parseText()
#3 /var/www/aowow/setup/tools/clisetup/datagen.us.php(95): SetupScript@anonymous->generate(Array)
#4 /var/www/aowow/setup/tools/CLISetup.class.php(346): UtilityScript@anonymous->run(Array)
#5 /var/www/aowow/setup/tools/clisetup/setup.us.php(113): CLISetup::run('sql', Array)
#6 /var/www/aowow/setup/tools/CLISetup.class.php(289): UtilityScript@anonymous->run(Array)
#7 /var/www/aowow/setup/setup.php(27): CLISetup::runInitial()
#8 /var/www/aowow/aowow(10): require('/var/www/aowow/...')
#9 {main}

Next, I tried rerun the setup with MYSQL:8.0 with the code changes you suggested ( rename s to s1 for the first query block, s2 and s3 following. Not sure if that's correct. Is it?

// altIcons and quality for craftSpells
$itemSpells = DB::Aowow()->selectCol(
   'SELECT    s1.id AS ARRAY_KEY, effect1CreateItemId
    FROM      tmp_spell s1
    LEFT JOIN dbc_talent t1 ON t1.rank1 = s1.id
    LEFT JOIN dbc_talent t2 ON t2.rank2 = s1.id
    LEFT JOIN dbc_talent t3 ON t3.rank3 = s1.id
    WHERE     effect1CreateItemId > 0 AND (effect1Id in (?a) OR effect1AuraId in (?a)) AND t1.id IS NULL AND t2.id IS NULL AND t3.id IS NULL
    UNION
    SELECT    s2.id AS ARRAY_KEY, effect2CreateItemId
    FROM      tmp_spell s2
    LEFT JOIN dbc_talent t1 ON t1.rank1 = s2.id
    LEFT JOIN dbc_talent t2 ON t2.rank2 = s2.id
    LEFT JOIN dbc_talent t3 ON t3.rank3 = s2.id
    WHERE     effect2CreateItemId > 0 AND (effect2Id in (?a) OR effect2AuraId in (?a)) AND t1.id IS NULL AND t2.id IS NULL AND t3.id IS NULL
    UNION
    SELECT    s3.id AS ARRAY_KEY, effect3CreateItemId
    FROM      tmp_spell s3
    LEFT JOIN dbc_talent t1 ON t1.rank1 = s3.id
    LEFT JOIN dbc_talent t2 ON t2.rank2 = s3.id
    LEFT JOIN dbc_talent t3 ON t3.rank3 = s3.id
    WHERE     effect3CreateItemId > 0 AND (effect3Id in (?a) OR effect3AuraId in (?a)) AND t1.id IS NULL AND t2.id IS NULL AND t3.id IS NULL',

Logs with MYSQL:8.0, with suggested manual code changes:

13:41:22          [setup] step 23 / 79
13:41:22          [sql] filling aowow_items with data
13:41:22           - DBC: reading gemproperties.dbc
13:41:22           - DBC: reading durabilityquality.dbc
13:41:22           - DBC: reading durabilitycosts.dbc
13:43:41  [WARN]  WARNING - mysqli_query(): (42000/1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INT) = CAST(mask AS FLOAT)) s
             ON     s.id = i.spellId1
            ' at line 5 @ /var/www/aowow/includes/libs/DbSimple/Mysqli.php:165
13:43:41  [WARN]  WARNING -  at /var/www/aowow/setup/tools/sqlgen/items.ss.php line 207 @ /var/www/aowow/includes/database.class.php:92
13:43:43  [OK]    [sql] subscript 'items' returned successfully

....

13:48:03          [setup] step 42 / 79
13:48:03          [sql] filling aowow_spell with data
13:48:03           - DBC: reading spellradius.dbc
13:48:04           - DBC: reading spellduration.dbc
13:48:04           - DBC: reading spellrunecost.dbc
13:48:04           - DBC: reading spellcasttimes.dbc
13:48:04           - DBC: reading and merging talenttab.dbc for locales enus
13:48:04           - DBC: reading and merging spell.dbc for locales enus
13:48:23          [spell] - merging serverside spells into spell.dbc
13:48:27          [spell] - filling aowow_spell
13:50:40          [spell] - linking with skilllineability
13:51:11          [spell] - linking with talent
13:51:12          [spell] - misc fixups & icons
13:51:15  [WARN]  WARNING - mysqli_query(): (HY000/1137): Can't reopen table: 's1' @ /var/www/aowow/includes/libs/DbSimple/Mysqli.php:165
13:51:15  [WARN]  WARNING -  at /var/www/aowow/setup/tools/sqlgen/spell.ss.php line 468 @ /var/www/aowow/includes/database.class.php:92
13:51:15  [WARN]  WARNING - mysqli_query(): (42S22/1054): Unknown column 'DBSIMPLE_ERROR_VALUE_NOT_ARRAY' in 'where clause' @ /var/www/aowow/includes/libs/DbSimple/Mysqli.php:165
13:51:15  [WARN]  WARNING - foreach() argument must be of type array|object, false given @ /var/www/aowow/setup/tools/sqlgen/spell.ss.php:494

...

13:57:51  [INFO]  [img-proc] manually converted png file present for setup/mpqdata/enUS/interface/worldmap/therubysanctum/therubysanctum9.png
13:57:51  [INFO]  [img-proc] manually converted png file present for setup/mpqdata/enUS/interface/worldmap/therubysanctum/therubysanctum10.png
13:57:51  [INFO]  [img-proc] manually converted png file present for setup/mpqdata/enUS/interface/worldmap/therubysanctum/therubysanctum11.png
13:57:51  [INFO]  [img-proc] manually converted png file present for setup/mpqdata/enUS/interface/worldmap/therubysanctum/therubysanctum12.png
13:57:51  [WARN]  WARNING - Undefined array key 2 @ /var/www/aowow/setup/tools/filegen/img-maps.ss.php:714
13:57:51  [WARN]  WARNING - foreach() argument must be of type array|object, null given @ /var/www/aowow/setup/tools/filegen/img-maps.ss.php:714
Exception - ksort(): Argument #1 ($array) must be of type array, null given
   /var/www/aowow/setup/tools/filegen/img-maps.ss.php(725)
#0 /var/www/aowow/setup/tools/filegen/img-maps.ss.php(725): ksort(NULL)
#1 /var/www/aowow/setup/tools/filegen/img-maps.ss.php(136): SetupScript@anonymous->buildZonesFile()
#2 /var/www/aowow/setup/tools/clisetup/filegen.us.php(115): SetupScript@anonymous->generate()
#3 /var/www/aowow/setup/tools/CLISetup.class.php(346): UtilityScript@anonymous->run(Array)
#4 /var/www/aowow/setup/tools/clisetup/setup.us.php(113): CLISetup::run('build', Array)
#5 /var/www/aowow/setup/tools/CLISetup.class.php(289): UtilityScript@anonymous->run(Array)
#6 /var/www/aowow/setup/setup.php(27): CLISetup::runInitial()
#7 /var/www/aowow/aowow(10): require('/var/www/aowow/...')
#8 {main}

Since recent changes to aowow there seems to be some incompatibility with MySQL.

Sarjuuk commented 3 months ago

With version 8.0 it also returns some depreciation warnings in a few steps, but that's not the real issue now:

Pls no .. those errors are from the antique db wrapper DBSimple I hope they take their time with deprecating these, digging through the lib is not going to be fun.

Can't reopen table: 's' error

Next, I tried rerun the setup with MYSQL:8.0 with the code changes you suggested ( rename s to s1 for the first query block, s2 and s3 following. Not sure if that's correct. Is it? \

Yes, that's how i imagined it. Too bad it did not work. I did a bit of reading in the meantime and apparaently that's a quite old bug in mysql itself. There are workarounds, but i'm also not a fan of re-reading the spell.dbc into a temp table. Not sure yet what i'll do here.

'INT) = CAST(mask AS FLOAT)) s' error

And neither approach did work for this one either.

I guess i have to get my hands on a mysql server myself to test this. No more ideas at the moment.

Lang::$item['ratingString']

Did this spontaneoulsy disappear? You seem to have gotten past the itemset set.

and the new one...

13:57:51 [WARN] WARNING - Undefined array key 2 @ /var/www/aowow/setup/tools/filegen/img-maps.ss.php:714 13:57:51 [WARN] WARNING - foreach() argument must be of type array|object, null given @ /var/www/aowow/setup/tools/filegen/img-maps.ss.php:714

It can't access the data for the french locale (2) and from the rest of the log you only used enus (0) Just for clarification here. You set the locales in the config and did not use the --locales option during setup? /e: And only provided client files for the english locale?

jzizka91 commented 3 months ago

Lang::$item['ratingString']

Did this spontaneoulsy disappear? You seem to have gotten past the itemset set.

With MySQL 8.0 I don't see the error. Seems gone.

It can't access the data for the french locale (2) and from the rest of the log you only used enus (0) Just for clarification here. You set the locales in the config and did not use the --locales option during setup? /e: And only provided client files for the english locale?

I'm using only enUS local. In setup configuration I choose to use only enUS (1).

So for now, I better just use an older aowow version until this is somehow solved?

/e a4d05dc0363be3c9876d6aa9a2b93919ab9aac8b & ab4cf67e80ef7581fac767e8b6cce64c8a985395 works fine

bf184e7555ed5ad5a2bb838b3fbf4376ec3a16c1 This Is the revision from which the setup started to fail. It's the revision when files in aowow/setup/tools/sqlgen were changed to *.ss.php types.

19:29:26          [setup] step 2 / 79
SITE_HOST and STATIC_HOST *must* be set. Also enable FORCE_SSL if needed. You may also want to change other variables such as NAME, NAME_SHORT or LOCALES.

Press any key to continue: 
Exception - strtoupper(): Argument #1 ($string) must be of type string, array given
   /var/www/aowow/setup/tools/clisetup/siteconfig.us.php(44)
#0 /var/www/aowow/setup/tools/clisetup/siteconfig.us.php(44): strtoupper(Array)
#1 /var/www/aowow/setup/tools/CLISetup.class.php(346): UtilityScript@anonymous->run(Array)
#2 /var/www/aowow/setup/tools/clisetup/setup.us.php(113): CLISetup::run('configure', Array)
#3 /var/www/aowow/setup/tools/CLISetup.class.php(289): UtilityScript@anonymous->run(Array)
#4 /var/www/aowow/setup/setup.php(27): CLISetup::runInitial()
#5 /var/www/aowow/aowow(10): require('/var/www/aowow/...')
#6 {main}
Sarjuuk commented 3 months ago

bf184e7 This Is the revision from which the setup started to fail. It's the revision when files in aowow/setup/tools/sqlgen were changed to *.ss.php types.

\

that particular error was fixed here https://github.com/Sarjuuk/aowow/commit/615c203c7a89176b5da977a87bd680e57162f6e7#diff-d81466d4ba8a0a75682194a08e783f5cda91ddf41ee2324aa6a8ddd6d796c345 generally, after https://github.com/Sarjuuk/aowow/commit/bf184e7555ed5ad5a2bb838b3fbf4376ec3a16c1 there are a coupl of comits that fix issues with the setup rewrite. Maybe check those too.

/e: i think dhe 'issue' is that https://github.com/Sarjuuk/aowow/commit/79764ced60a100c2860798165074c4966a3f4c77 enabled display of all errors all the time for the CLI, regardless of settings. And you just started to see what went wrong already.

jzizka91 commented 3 months ago

615c203c7a89176b5da977a87bd680e57162f6e7 returns:

21:03:40  [INFO]  [img-proc] manually converted png file present for setup/mpqdata/enUS/interface/worldmap/therubysanctum/therubysanctum10.png
21:03:40  [INFO]  [img-proc] manually converted png file present for setup/mpqdata/enUS/interface/worldmap/therubysanctum/therubysanctum11.png
21:03:40  [INFO]  [img-proc] manually converted png file present for setup/mpqdata/enUS/interface/worldmap/therubysanctum/therubysanctum12.png
21:03:40  [OK]    created file datasets/enus/zones
Exception - ksort(): Argument #1 ($array) must be of type array, null given
   /var/www/aowow/setup/tools/filegen/img-maps.ss.php(725)
#0 /var/www/aowow/setup/tools/filegen/img-maps.ss.php(725): ksort(NULL)
#1 /var/www/aowow/setup/tools/filegen/img-maps.ss.php(136): SetupScript@anonymous->buildZonesFile()
#2 /var/www/aowow/setup/tools/clisetup/filegen.us.php(115): SetupScript@anonymous->generate()
#3 /var/www/aowow/setup/tools/CLISetup.class.php(346): UtilityScript@anonymous->run(Array)
#4 /var/www/aowow/setup/tools/clisetup/setup.us.php(113): CLISetup::run('build', Array)
#5 /var/www/aowow/setup/tools/CLISetup.class.php(289): UtilityScript@anonymous->run(Array)
#6 /var/www/aowow/setup/setup.php(27): CLISetup::runInitial()
#7 /var/www/aowow/aowow(10): require('/var/www/aowow/...')
#8 {main}

This e614f415a96b166b70b894a25a3e8f3f5ceabb02 returns:

20:33:00  [INFO]  [img-proc] manually converted png file present for setup/mpqdata/enUS/interface/worldmap/therubysanctum/therubysanctum10.png
20:33:00  [INFO]  [img-proc] manually converted png file present for setup/mpqdata/enUS/interface/worldmap/therubysanctum/therubysanctum11.png
20:33:00  [INFO]  [img-proc] manually converted png file present for setup/mpqdata/enUS/interface/worldmap/therubysanctum/therubysanctum12.png
20:33:00  [OK]    created file datasets/enus/zones
Exception - ksort(): Argument #1 ($array) must be of type array, null given
   /var/www/aowow/setup/tools/filegen/img-maps.ss.php(725)
#0 /var/www/aowow/setup/tools/filegen/img-maps.ss.php(725): ksort(NULL)
#1 /var/www/aowow/setup/tools/filegen/img-maps.ss.php(136): SetupScript@anonymous->buildZonesFile()
#2 /var/www/aowow/setup/tools/clisetup/filegen.us.php(115): SetupScript@anonymous->generate()
#3 /var/www/aowow/setup/tools/CLISetup.class.php(346): UtilityScript@anonymous->run(Array)
#4 /var/www/aowow/setup/tools/clisetup/setup.us.php(113): CLISetup::run('build', Array)
#5 /var/www/aowow/setup/tools/CLISetup.class.php(289): UtilityScript@anonymous->run(Array)
#6 /var/www/aowow/setup/setup.php(27): CLISetup::runInitial()
#7 /var/www/aowow/aowow(10): require('/var/www/aowow/...')
#8 {main}

They seem to be the same issue..

jzizka91 commented 3 months ago

/e: i think dhe 'issue' is that 79764ce enabled display of all errors all the time for the CLI, regardless of settings. And you just started to see what went wrong already.

Could be, but the revision I tried above don't have it enabled yet and still fails.

Sarjuuk commented 3 months ago

5d4051928a29620bd4250ee5c2ce18a678ba269e should kill the mysql errors 2386e352075414073dba65ae98644640cb7b084b maybe kills your issue where img-maps tries to generate a dataset for a locale you haven't selected

jzizka91 commented 3 months ago

5d4051928a29620bd4250ee5c2ce18a678ba269e Fails pretty much on the same:

10:01:59  [INFO]  [img-proc] manually converted png file present for setup/mpqdata/enUS/interface/worldmap/therubysanctum/therubysanctum10.png
10:01:59  [INFO]  [img-proc] manually converted png file present for setup/mpqdata/enUS/interface/worldmap/therubysanctum/therubysanctum11.png
10:01:59  [INFO]  [img-proc] manually converted png file present for setup/mpqdata/enUS/interface/worldmap/therubysanctum/therubysanctum12.png
10:01:59  [WARN]  WARNING - Undefined array key 2 @ /var/www/aowow/setup/tools/filegen/img-maps.ss.php:714
10:01:59  [WARN]  WARNING - foreach() argument must be of type array|object, null given @ /var/www/aowow/setup/tools/filegen/img-maps.ss.php:714
Exception - ksort(): Argument #1 ($array) must be of type array, null given
   /var/www/aowow/setup/tools/filegen/img-maps.ss.php(725)
#0 /var/www/aowow/setup/tools/filegen/img-maps.ss.php(725): ksort(NULL)
#1 /var/www/aowow/setup/tools/filegen/img-maps.ss.php(136): SetupScript@anonymous->buildZonesFile()
#2 /var/www/aowow/setup/tools/clisetup/filegen.us.php(115): SetupScript@anonymous->generate()
#3 /var/www/aowow/setup/tools/CLISetup.class.php(346): UtilityScript@anonymous->run(Array)
#4 /var/www/aowow/setup/tools/clisetup/setup.us.php(113): CLISetup::run('build', Array)
#5 /var/www/aowow/setup/tools/CLISetup.class.php(289): UtilityScript@anonymous->run(Array)
#6 /var/www/aowow/setup/setup.php(27): CLISetup::runInitial()
#7 /var/www/aowow/aowow(10): require('/var/www/aowow/...')
#8 {main}

2386e352075414073dba65ae98644640cb7b084b fails right after confirming:

[5]   AOWOW  LOCALES                            [mask]  [x]English [x]French [x]German [x]Chinese [x]Spanish [x]Russian
09:31:08          [setup] step 1 / 79
Please enter your database credentials.

Press any key to continue: 
select an index to use the corresponding entry
 [0]   aowow                   OK        mysqli://***:**********@***/aowow   pre.: aowow_   AoWoW DB version @ 2024/06/17 12:57:02
 [1]   world                   OK        mysqli://***:**********@***/world   pre.: world    TrinityDB version @ TDB 335.21101     
 [2]   auth                    <empty>
 [N]   new characters DB    
 [S]   show available realms
 [R]   retest / reload DBs  

09:31:11  [INFO]  [db] leaving db config...

09:31:11  [WARN]  WARNING - ini_set(): Session ini settings cannot be changed after headers have already been sent @ /var/www/aowow/includes/config.class.php:93
09:31:11  [WARN]  WARNING - ini_set(): Session ini settings cannot be changed after headers have already been sent @ /var/www/aowow/includes/config.class.php:93
09:31:11  [WARN]  WARNING - ini_set(): Session ini settings cannot be changed after headers have already been sent @ /var/www/aowow/includes/config.class.php:93
09:31:11          [setup] step 2 / 79
SITE_HOST and STATIC_HOST *must* be set. Also enable FORCE_SSL if needed. You may also want to change other variables such as NAME, NAME_SHORT or LOCALES.

Press any key to continue: 
select a numerical index or name to use the corresponding entry

=====  Site  =====
[0]   AOWOW  BATTLEGROUP                        [str]   "Pure Pwnage"
[1]   AOWOW  BOARD_URL                          [str]   "http://www.wowhead.com/forums?board="
[2]   AOWOW  CONTACT_EMAIL                      [str]   "feedback@aowow.org"
[3]   AOWOW  DEBUG                              [opt]   [x]None [ ]Error [ ]Warning [ ]Info
[4]   AOWOW  FORCE_SSL                          [bool]  <Disabled>
[5]   AOWOW  LOCALES                            [mask]  [x]English [x]French [x]German [x]Chinese [x]Spanish [x]Russian
[6]   AOWOW  MAINTENANCE                        [bool]  <Enabled>
[7]   AOWOW  NAME                               [str]   "Aowow Database Viewer (ADV)"
[8]   AOWOW  NAME_SHORT                         [str]   "Aowow"
[9]   AOWOW  SCREENSHOT_MIN_SIZE                [int]   200
[10]  AOWOW  SITE_HOST                          [str]   <empty>
[11]  AOWOW  SQL_LIMIT_DEFAULT                  [int]   300
[12]  AOWOW  SQL_LIMIT_NONE                     [int]   0
[13]  AOWOW  SQL_LIMIT_QUICKSEARCH              [int]   10
[14]  AOWOW  SQL_LIMIT_SEARCH                   [int]   500
[15]  AOWOW  STATIC_HOST                        [str]   <empty>
[16]  AOWOW  TTL_RSS                            [int]   60
[17]  AOWOW  USER_MAX_VOTES                     [int]   50
=====  Caching  =====
[18]  AOWOW  CACHE_DECAY                        [int]   25200
[19]  AOWOW  CACHE_DIR                          [str]   <empty>
[20]  AOWOW  CACHE_MODE                         [mask]  [x]filecache [ ]memcached
=====  Account  =====
[21]  AOWOW  ACC_ALLOW_REGISTER                 [bool]  <Enabled>
[22]  AOWOW  ACC_AUTH_MODE                      [opt]   [x]AoWoW [ ]TC auth-table [ ]External script (config/extAuth.php)
[23]  AOWOW  ACC_CREATE_SAVE_DECAY              [int]   604800
[24]  AOWOW  ACC_EXT_CREATE_URL                 [str]   <empty>
[25]  AOWOW  ACC_EXT_RECOVER_URL                [str]   <empty>
[26]  AOWOW  ACC_FAILED_AUTH_BLOCK              [int]   900
[27]  AOWOW  ACC_FAILED_AUTH_COUNT              [int]   5
[28]  AOWOW  ACC_RECOVERY_DECAY                 [int]   300
=====  Session  =====
[29]  AOWOW  SESSION_CACHE_DIR                  [str]   <empty>
[30]  AOWOW  SESSION_TIMEOUT_DELAY              [int]   3600
[31]   PHP   session.gc_divisor                 [str]   "100"
[32]   PHP   session.gc_maxlifetime             [str]   "604800"
[33]   PHP   session.gc_probability             [str]   "1"
=====  Site Reputation  =====
[34]  AOWOW  REP_REQ_BORDER_EPIC                [int]   15000
[35]  AOWOW  REP_REQ_BORDER_LEGE                [int]   25000
[36]  AOWOW  REP_REQ_BORDER_RARE                [int]   10000
[37]  AOWOW  REP_REQ_BORDER_UNCO                [int]   5000
[38]  AOWOW  REP_REQ_COMMENT                    [int]   75
[39]  AOWOW  REP_REQ_DOWNVOTE                   [int]   250
[40]  AOWOW  REP_REQ_PREMIUM                    [int]   25000
[41]  AOWOW  REP_REQ_REPLY                      [int]   75
[42]  AOWOW  REP_REQ_SUPERVOTE                  [int]   2500
[43]  AOWOW  REP_REQ_UPVOTE                     [int]   125
[44]  AOWOW  REP_REQ_VOTEMORE_ADD               [int]   250
[45]  AOWOW  REP_REQ_VOTEMORE_BASE              [int]   2000
[46]  AOWOW  REP_REWARD_ARTICLE                 [int]   100
[47]  AOWOW  REP_REWARD_BAD_REPORT              [int]   0
[48]  AOWOW  REP_REWARD_COMMENT                 [int]   1
[49]  AOWOW  REP_REWARD_DAILYVISIT              [int]   5
[50]  AOWOW  REP_REWARD_DOWNVOTED               [int]   0
[51]  AOWOW  REP_REWARD_GOOD_REPORT             [int]   10
[52]  AOWOW  REP_REWARD_REGISTER                [int]   100
[53]  AOWOW  REP_REWARD_UPLOAD                  [int]   10
[54]  AOWOW  REP_REWARD_UPVOTED                 [int]   5
[55]  AOWOW  REP_REWARD_USER_SUSPENDED          [int]   -200
[56]  AOWOW  REP_REWARD_USER_WARNED             [int]   -50
=====  Google Analytics  =====
[57]  AOWOW  ANALYTICS_USER                     [str]   <empty>
=====  Profiler  =====
[58]  AOWOW  PROFILER_ENABLE                    [bool]  <Disabled>
[59]  AOWOW  PROFILER_QUEUE_DELAY               [int]   3000
[60]  AOWOW  PROFILER_RESYNC_DELAY              [int]   3600
[61]  AOWOW  PROFILER_RESYNC_PING               [int]   5000
=====  Other  =====
[62]   PHP   default_charset                    [str]   "UTF-8"
[63]   PHP   memory_limit                       [str]   "1500M"
[64]   PHP   serialize_precision                [int]   5
[65]         add another php configuration

09:31:12  [WARN]  please configure the required empty settings
5
09:31:24          AOWOW: Cfg::LOCALES - allowed locales

09:31:24          VALUE: [mask]  [x]English [x]French [x]German [x]Chinese [x]Spanish [x]Russian

09:31:24          [E]dit
09:31:24          [R]estore Default - 0x15D

09:31:25          [1]     English
09:31:25          [4]     French
09:31:25          [8]     German
09:31:25          [16]    Chinese
09:31:25          [64]    Spanish
09:31:25          [256]   Russian
09:31:25          Bitmask: sum fields to select multiple options
Select new value: 1

Exception - Access to undeclared static property CLISetup::$localeIds
   /var/www/aowow/includes/config.class.php(390)
#0 /var/www/aowow/includes/config.class.php(217): Cfg::locales(1, '')
#1 /var/www/aowow/setup/tools/clisetup/siteconfig.us.php(268): Cfg::set('locales', 1, Array)
#2 /var/www/aowow/setup/tools/clisetup/siteconfig.us.php(194): UtilityScript@anonymous->doEdit('locales')
#3 /var/www/aowow/setup/tools/clisetup/siteconfig.us.php(126): UtilityScript@anonymous->showEditConfig('locales')
#4 /var/www/aowow/setup/tools/clisetup/siteconfig.us.php(59): UtilityScript@anonymous->showConfigList()
#5 /var/www/aowow/setup/tools/CLISetup.class.php(341): UtilityScript@anonymous->run(Array)
#6 /var/www/aowow/setup/tools/clisetup/setup.us.php(113): CLISetup::run('configure', Array)
#7 /var/www/aowow/setup/tools/CLISetup.class.php(284): UtilityScript@anonymous->run(Array)
#8 /var/www/aowow/setup/setup.php(27): CLISetup::runInitial()
#9 /var/www/aowow/aowow(10): require('/var/www/aowow/...')
#10 {main}
Sarjuuk commented 3 months ago

5d40519 Fails pretty much on the same:

Sorry, but you'll have to figure this one out for yourself. I can't see how you can have locale 2 selected at this point, but at no point earlier in the setup chain! https://github.com/Sarjuuk/aowow/blob/d2277d10346a59c99325280fac9929353b31d945/setup/tools/filegen/img-maps.ss.php#L709-L728

WARNING - Undefined array key 2 @ /var/www/aowow/setup/tools/filegen/img-maps.ss.php:714 WARNING - foreach() argument must be of type array|object, null given @ /var/www/aowow/setup/tools/filegen/img-maps.ss.php:714 Exception - ksort(): Argument #1 ($array) must be of type array, null given

As you can see it is localeId 2 from CLISetup::$locales and that gets set here: https://github.com/Sarjuuk/aowow/blob/d2277d10346a59c99325280fac9929353b31d945/setup/tools/CLISetup.class.php#L173-L195 Your best bet is to attach XDebug there or if you don't have that place a debug_print_backtrace() and watch what Cfg::get('LOCALES') returns and what CLISetup::$opts['locales'] value is and in what context CLISetup::setLocales() is called.

2386e35 fails right after confirming:

Sadly, i forgott the CLISetup references in Cfg. Fixed in 8016802ec6a8a75d58eab14a208fbaee5ef3cb38