Hi Tamas, your change makes good sense to me. Happy for you to raise an MR.
Thanks! Martin On Tue, Feb 3, 2026 at 6:36 AM Tamás Regős <[email protected]> wrote: > Hi Dev Team, > > To eliminate minor syntax, spelling and similar bugs locally instead of > finding them when the gitlab pipeline fails (again and again) I wanted to > use tools\check_dissector.py or other tools e.g check_spelling.py for > that matter (on Windows). > > However, it seems there is a minor issue in check_spelling.py which > prevents it from running on Windows. > > *Issue* > > """ > Traceback (most recent call last): > File "Programs\Python\Python312-32\Lib\concurrent\futures\process.py", > line 264, in _process_worker > r = call_item.fn(*call_item.args, **call_item.kwargs) > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File "wireshark\tools\check_spelling.py", line 390, in checkFile > file.spellCheck(result) > File "wireshark\tools\check_spelling.py", line 216, in spellCheck > if word in wiki_db: > ^^^^^^^ > NameError: name 'wiki_db' is not defined > """ > > The reason check_spelling.py works in the Wireshark GitLab pipeline but > fails on a local Windows computer is due to a fundamental difference in how > Linux and Windows handle multitasking in Python. > > *The "Fork" vs. "Spawn" Difference* > > - On Linux (GitLab Pipeline): Python uses the fork method by default. > When the script creates sub-processes to check files, it makes an exact > copy of the current process's memory. This means the sub-processes > "inherit" the wiki_db variable exactly as it was after being filled in the > main block. > > > - On Windows PC: Python uses the spawn method. Instead of copying > memory, it starts a brand-new Python interpreter for every sub-process. > Crucially, these new processes do not run the code inside your if __name__ > == '__main__': block—they only see the global variables defined outside of > it. > > > *Fix* > > Add 1+1 line somewhere at the beginning of the file (after word_frequency > line 44). > # Initialize wiki_db globally so it's accessible to worker processes > wiki_db = {} > > > If it's ok, I would raise an MR for this one line code change. > > Please comment. > > Thank you. > > Regards, > Tamas > _______________________________________________ > Wireshark-dev mailing list -- [email protected] > To unsubscribe send an email to [email protected] >
_______________________________________________ Wireshark-dev mailing list -- [email protected] To unsubscribe send an email to [email protected]
