Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot use store on Windows #4296

Open
Wraiyth opened this issue Jul 17, 2024 · 0 comments
Open

Cannot use store on Windows #4296

Wraiyth opened this issue Jul 17, 2024 · 0 comments
Labels
CLI 💻 Related to the command-line interface, such as the cmd, store, etc. commands enhancement 🌟 platform-Windows 🖥

Comments

@Wraiyth
Copy link

Wraiyth commented Jul 17, 2024

Describe the bug
Reports that have been created on Windows cannot be uploaded using codechecker store.

The error that occurs is as follows:

Process SpawnPoolWorker-1:
Traceback (most recent call last):
  File "c:\users\modio\appdata\local\programs\python\python38\lib\site-packages\multiprocess\process.py", line 315, in _bootstrap
    self.run()
  File "c:\users\modio\appdata\local\programs\python\python38\lib\site-packages\multiprocess\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "c:\users\modio\appdata\local\programs\python\python38\lib\site-packages\multiprocess\pool.py", line 114, in worker
    task = get()
  File "c:\users\modio\appdata\local\programs\python\python38\lib\site-packages\multiprocess\queues.py", line 361, in get
    return _ForkingPickler.loads(res)
  File "c:\users\modio\appdata\local\programs\python\python38\lib\site-packages\dill\_dill.py", line 303, in loads
    return load(file, ignore, **kwds)
  File "c:\users\modio\appdata\local\programs\python\python38\lib\site-packages\dill\_dill.py", line 289, in load
    return Unpickler(file, ignore=ignore, **kwds).load()
  File "c:\users\modio\appdata\local\programs\python\python38\lib\site-packages\dill\_dill.py", line 444, in load
    obj = StockUnpickler.load(self)
  File "c:\users\modio\appdata\local\programs\python\python38\lib\site-packages\dill\_dill.py", line 434, in find_class
    return StockUnpickler.find_class(self, module, name)
ModuleNotFoundError: No module named 'store'

I know that windows is not officially supported, but the change that seemingly caused this was introduced with #4118

Reverting this change and not passing executor.map seems to resolve the issue.

Outside of that, the use of signal.SIGUSR1 in _timeout_watchdog is not supported on Windows. Switching this to SIGTERM (or some other signal that is valid on Windows) seems to resolve these issues.

That at least gets store running without errors, but I suspect that this fix doesn't actually resolve things. store succeeds, but then when I view the results in the server, it shows nothing actually being reported, even though the store summary shows there should be something

Number of analyzer reports | 136

image

I can store the exact same report from WSL - if I launch WSL and just change the filepaths to in the plist to /mnt/d/bla, it works and displays the errors successfully.

CodeChecker version
6.23.1

To Reproduce
Steps to reproduce the behaviour:

  1. Run command 'codechecker analyze' on any codebase
  2. Run codechecker store on the report generated

Expected behaviour
The report should be uploaded correctly

Desktop (please complete the following information)

  • OS: Windows
  • Browser: [e.g. Firefox, Chrome]
  • Version: [e.g. 22]

Additional context
Add any other context about the problem.

@Wraiyth Wraiyth changed the title Cannot use store on Windows (fix & question included) Cannot use store on Windows Jul 17, 2024
@whisperity whisperity added enhancement 🌟 CLI 💻 Related to the command-line interface, such as the cmd, store, etc. commands platform-Windows 🖥 labels Jul 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLI 💻 Related to the command-line interface, such as the cmd, store, etc. commands enhancement 🌟 platform-Windows 🖥
Projects
None yet
Development

No branches or pull requests

2 participants