Wesnoth Units Database: MISSILE_FRAME bug
Moderator: Forum Moderators
Wesnoth Units Database: MISSILE_FRAME bug
Today I've re-checked the status of my era in Wesnoth Units Database, and saw a following report:
http://units.wesnoth.org/1.12/Default_C ... error.html
Unit tree failed to generate because of
However there is the same problem with many other era's - even very simple ones. Just check this page:
http://units.wesnoth.org/1.12/overview.html, Ctrl+F -> search for "wml error (31 lines)" - over 100 matches...
Possible origin of problem:
Log tells us that its Wesnoth 1.10.7 version which tries to build unit trees for 1.12.1!
And, if I'm not mistaken, Wesnoth 1.10.7 and 1.12.1 have "boats"-type units stored at different locations
http://units.wesnoth.org/1.12/Default_C ... error.html
Unit tree failed to generate because of
Code: Select all
error config: preprocessor symbol 'MISSILE_FRAME_MUZZLE_FLARE_MISS' expects 2 arguments, but has 0 arguments at ~add-ons/Trader/units/mechanic/Pirateship.cfg:59
http://units.wesnoth.org/1.12/overview.html, Ctrl+F -> search for "wml error (31 lines)" - over 100 matches...
Possible origin of problem:
Log tells us that its Wesnoth 1.10.7 version which tries to build unit trees for 1.12.1!
And, if I'm not mistaken, Wesnoth 1.10.7 and 1.12.1 have "boats"-type units stored at different locations
Re: Wesnoth Units Database: MISSILE_FRAME bug
Oh, good catch. The build system indeed was compiling from 1.10 sources instead of 1.12 sources. I fixed it so whenever the units.wesnoth.org page gets regenerated next this will be fixed. Normally it's scheduled for every Friday night (so tonight) - but for some reason my script doesn't always succeed. (I think it is because the Wesnoth server is too weak and/or unstable to run it - there's no such problems on my own server.)Log tells us that its Wesnoth 1.10.7 version which tries to build unit trees for 1.12.1!
Re: Wesnoth Units Database: MISSILE_FRAME bug
Is there way to get more info about timeout errors there? Is that limit against large addons?
Re: Wesnoth Units Database: MISSILE_FRAME bug
The limit is against addons who enter an infinite WML loop. It's set to 10 seconds right now I think, so if the WML parsing isn't done after that time it assumes the WML is broken.
Re: Wesnoth Units Database: MISSILE_FRAME bug
Is there way to locally debug this?
Re: Wesnoth Units Database: MISSILE_FRAME bug
Well, just trying it locally. If it works locally then it just takes too long on the server for some reason. If it also takes forever locally, then can try and debug.
Re: Wesnoth Units Database: MISSILE_FRAME bug
If that is
wmlunits
in \data\tools
then it returns Code: Select all
Traceback (most recent call last):
File "wmlunits", line 14, in <module>
import subprocess, yaml
ImportError: No module named yaml
Re: Wesnoth Units Database: MISSILE_FRAME bug
Guess you need to install a python yaml module to your system:Ravana wrote:If that iswmlunits
in\data\tools
then it returnsCode: Select all
Traceback (most recent call last): File "wmlunits", line 14, in <module> import subprocess, yaml ImportError: No module named yaml
Code: Select all
sudo pip install pyyaml
Some era could have a lot of units (e.g. Ageless), and - despite it could be OK - it cant be processed in timeallefant wrote:10 seconds limit is against addons who enter an infinite WML loop
What if try to build a unit tree for such eras with a larger time limit?
Re: Wesnoth Units Database: MISSILE_FRAME bug
I just increased the timeout to 60 seconds. I seem to remember this causing more serious problems though, but we will see - just issued a manual website regeneration.
The original issue with the outdated wesnoth binary seems fixed, I'm investigating the "wml error" every single addon is getting now, but it seems to be harmless and output is still produced.
The original issue with the outdated wesnoth binary seems fixed, I'm investigating the "wml error" every single addon is getting now, but it seems to be harmless and output is still produced.
Re: Wesnoth Units Database: MISSILE_FRAME bug
There is still problem that 1.10 addons show up when they are not in 1.12 server. Like http://units.wesnoth.org/1.12/Colosseum_fast/error.html that I will not port for 1.12.
Re: Wesnoth Units Database: MISSILE_FRAME bug
Yes I could see a following "error" in my era and many others (Ctrl+F --> search for "wml error (5 lines)" on page http://units.wesnoth.org/1.12/overview.html )allefant wrote:I'm investigating the "wml error" every single addon is getting now, but it seems to be harmless and output is still produced.
But in fact there is no error It just didn't produce a unit tree
http://units.wesnoth.org/1.12/Default_P ... error.html
Code: Select all
81028 /home/allefant/1.12/temp/wmlparser_8MlR6l/wmlparser_81hBZh.cfg.plain
1 /home/allefant/1.12/temp/wmlparser_cjYsBy.cfg
Defines: SKIP_CORE,CAMPAIGN_Trader,EASY
Battle for Wesnoth v1.12.1+dev
Started on Sat Mar 21 06:14:49 2015
Re: Wesnoth Units Database: MISSILE_FRAME bug
Managed to get yaml, but not use wmlunits. Ran it with and output was
Not sure if I put correct thing for -C, help message wasnt very clear.
Code: Select all
"C:\Python27/python.exe" wmlunits -A -v -a "C:\Users\Lenovo\Desktop\wesnoth related\stable1.12.0\userdata\data\add-ons" -o "C:\Users\Lenovo\Desktop\wesnoth related\stable1.12.0\userdata\data\pyout" -D "C:\Users\Lenovo\Desktop\wesnoth related\stable1.12.0\data" -w "C:\Users\Lenovo\Desktop\wesnoth related\stable1.12.0\wesnoth12_0.exe" -C "C:\Users\Lenovo\Desktop\wesnoth related\stable1.12.0\userdata" > pytout.txt
pause
Code: Select all
C:\Users\Lenovo\Desktop\wesnoth related\stable1.12.0\data\tools>"C:\Python27/pyt
hon.exe" wmlunits -A -v -a "C:\Users\Lenovo\Desktop\wesnoth related\stable1.12.0
\userdata\data\add-ons" -o "C:\Users\Lenovo\Desktop\wesnoth related\stable1.12.0
\userdata\data\pyout" -D "C:\Users\Lenovo\Desktop\wesnoth related\stable1.12.0\d
ata" -w "C:\Users\Lenovo\Desktop\wesnoth related\stable1.12.0\wesnoth12_0.exe" -
C "C:\Users\Lenovo\Desktop\wesnoth related\stable1.12.0\userdata" 1>pytout.txt
Traceback (most recent call last):
File "wmlunits", line 617, in <module>
parser.parse_text("{languages}")
File "C:\Users\Lenovo\Desktop\wesnoth related\stable1.12.0\data\tools\wesnoth\
wmlparser2.py", line 228, in parse_text
self.preprocess(defines)
File "C:\Users\Lenovo\Desktop\wesnoth related\stable1.12.0\data\tools\wesnoth\
wmlparser2.py", line 267, in preprocess
err)
wesnoth.wmlparser2.WMLError: WMLError:
0 c:\users\lenovo\appdata\local\temp\wmlparser_e_mcf5/wmlparser_0tyahx.cfg.p
lain
?
Preprocessor error:
C:\Users\Lenovo\Desktop\wesnoth related\stable1.12.0\wesnoth12_0.exe --data-dir
C:\Users\Lenovo\Desktop\wesnoth related\stable1.12.0\data --config-dir C:\Users\
Lenovo\Desktop\wesnoth related\stable1.12.0\userdata --preprocess c:\users\lenov
o\appdata\local\temp\wmlparser_0tyahx.cfg c:\users\lenovo\appdata\local\temp\wml
parser_e_mcf5
C:\Users\Lenovo\Desktop\wesnoth related\stable1.12.0\data\tools>pause
Press any key to continue . . .
Re: Wesnoth Units Database: MISSILE_FRAME bug
I don't know if it is possible to run it in Windows.
Re: Wesnoth Units Database: MISSILE_FRAME bug
I dont particularly need to run it myself, my intention is to have your one work on ageless era.
Re: Wesnoth Units Database: MISSILE_FRAME bug
Why does it time out when it reads an era like Ageless Era? I mean the main game does not take 10 seconds to load ageless era. Is it just that parsing WML in python is slow? Or is there something going wrong.