having made the changes for #531 I started a hdump build of frwiki 2019-06-01 and got many errors of the form
20190812_155910.161 invoke failed: Liévin {{#invoke:Biblio|ouvrage}}
[err 0] <gplx> @g:/xowa/bin/any/xowa/xtns/Scribunto/engines/Luaj/MWServer.lua:59 vm error: gplx.Err: counts do not match; same key is either added twice, or delete failed: proc=Add_base key=null:mw hash=3 list=10
stack traceback:
g:/xowa/bin/any/xowa/xtns/Scribunto/engines/Luaj/MWServer.lua:53: in function <g:/xowa/bin/any/xowa/xtns/Scribunto/engines/Luaj/MWServer.lua:52>
Module:Langue/Data:1: in main chunk
package.lua:90: in function '__index'
mw.lua:491: in function '__index'
mw.lua:779: in function <mw.lua:778>
Module:Langue:1: in main chunk
package.lua:90: in function <package.lua:89>
Module:Biblio/Ouvrage:1: in main chunk
package.lua:90: in function '__index'
Module:Biblio:10: in function <Module:Biblio:9>
mw.lua:531: in function <mw.lua:530>
[Java]: in function '__index'
g:/xowa/bin/any/xowa/xtns/Scribunto/engines/Luaj/MWServer.lua:75: in function <g:/xowa/bin/any/xowa/xtns/Scribunto/engines/Luaj/MWServer.lua:74>
[Java]: in ?: ttl=Liévin excerpt={{#invoke:Biblio|ouvrage}}
[trace]:
gplx.xowa.xtns.scribunto.Scrib_core.Handle_error(Scrib_core.java:226)
gplx.xowa.xtns.scribunto.engines.luaj.Luaj_engine.Dispatch_as_kv_ary(Luaj_engine.java:84)
gplx.xowa.xtns.scribunto.engines.luaj.Luaj_engine.CallFunction(Luaj_engine.java:59)
gplx.xowa.xtns.scribunto.Scrib_core.Invoke(Scrib_core.java:192)
gplx.xowa.xtns.scribunto.Scrib_invoke_func.Func_evaluate(Scrib_invoke_func.java:80)
gplx.xowa.parsers.tmpls.Xot_invk_tkn_.Eval_func(Xot_invk_tkn_.java:30)
gplx.xowa.parsers.tmpls.Xot_invk_tkn.Tmpl_evaluate(Xot_invk_tkn.java:258)
gplx.xowa.parsers.tmpls.Xot_defn_tmpl.Tmpl_evaluate(Xot_defn_tmpl.java:87)
gplx.xowa.parsers.tmpls.Xot_invk_tkn.Tmpl_evaluate(Xot_invk_tkn.java:288)
gplx.xowa.parsers.tmpls.Xot_tmpl_wtr.Write_tkn(Xot_tmpl_wtr.java:104)
gplx.xowa.parsers.tmpls.Xot_tmpl_wtr.Write_tkn(Xot_tmpl_wtr.java:35)
gplx.xowa.parsers.tmpls.Xot_tmpl_wtr.Write_all(Xot_tmpl_wtr.java:23)
gplx.xowa.parsers.Xop_parser.Expand_tmpl(Xop_parser.java:50)
gplx.xowa.parsers.Xop_parser.Expand_tmpl(Xop_parser.java:44)
gplx.xowa.parsers.Xop_parser.Parse_text_to_wdom(Xop_parser.java:102)
gplx.xowa.parsers.Xow_parser_mgr.Parse(Xow_parser_mgr.java:102)
gplx.xowa.addons.bldrs.mass_parses.parses.wkrs.Xomp_parse_wkr.Exec(Xomp_parse_wkr.java:140)
gplx.xowa.addons.bldrs.mass_parses.parses.wkrs.Xomp_parse_wkr.Invk(Xomp_parse_wkr.java:213)
gplx.Gfo_invk_.Invk_by_msg(Gfo_invk_.java:34)
gplx.core.threads.Thread_adp.run(Thread_adp.java:33)
java.lang.Thread.run(Thread.java:748)
running this in a debugging environment showed (to me) that there was some thread interference (I use 8 workers)
I have found putting a synchronized (this) around fetchLanguageNames stops this from occurring
having made the changes for #531 I started a hdump build of frwiki 2019-06-01 and got many errors of the form
running this in a debugging environment showed (to me) that there was some thread interference (I use 8 workers)
I have found putting a
synchronized (this)
aroundfetchLanguageNames
stops this from occurring