Skip to content

Remove Warnings in VTR CI Builds #2518

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

Closed
16 tasks done
AlexandreSinger opened this issue Mar 27, 2024 · 1 comment
Closed
16 tasks done

Remove Warnings in VTR CI Builds #2518

AlexandreSinger opened this issue Mar 27, 2024 · 1 comment
Assignees
Labels
build Build system

Comments

@AlexandreSinger
Copy link
Contributor

AlexandreSinger commented Mar 27, 2024

There are some warnings in the VTR build which can make it challenging to develop since its sometimes hard to tell if they are new or not. Using this issue to collect the different warnings currently in VTR and track progress on removing them.

To look for warnings, I am using the CI runs to tell where warnings currently show up. The ultimate goal is to remove all warnings in the CI. I got a lot of them, but if people find more, feel free to add to the list! If one is resolved, feel free to check it off!

Most recently checked CI run: https://github.com/verilog-to-routing/vtr-verilog-to-routing/actions/runs/8444847760

Known warnings in most CI builds:

  • warning: -jN forced in submake: disabling jobserver mode.
    Screenshot from 2024-03-29 16-02-42
    This comes up in builds that use multiple threads to make VTR. This seems to be an issue with the way we are using the make files.

  • fatal: not a git repository
    Screenshot from 2024-03-27 11-47-46
    This one is showing up in a lot of the builds and is showing up all over the place. I cannot trace where this is coming from but I think this is comming from CMake somewhere. We should investigate what is causing it and try to resolve this issue.
    Maybe mentioned in issue Warnings and failure in vtr_reg_nightly_test2_odin #2402 but not explicitly the cause of the problem. May be a side-effect.

  • libsdcparse: Parser Deprecated and "fix-its can be applied"
    Screenshot from 2024-03-27 11-52-22
    This looks like a very simple fix, but because it is in an external library we may have to fix it in a weird way by contributing to the upstream somehow. The second warning "fix-its can be applied" may be the key to resolving this quickly. Perhaps running "--update" would fix this automatically?

  • libblifparse: Parser Deprecated and "fix-its can be applied"
    Screenshot from 2024-03-27 11-53-36
    This is identical to the libsdcparse warning. Can be solved the exact same way.

  • XMLLINT
    Screenshot from 2024-03-27 11-54-42
    Can't tell if this is a warning or not, but it is showing up several times in the build and can probably be fixed easily.

  • libvqm: "%error-verbose" Deprecated
    Screenshot from 2024-03-27 11-56-17
    Similar to the other deprecated directives. May be able to be fixed using "--update".
    Mentioned in issue Warnings should be fixed in vqm2blif #2403
    Mentioned in issue Fix compiler warnings in vqm2blif #2294

  • libvqm: strcpy
    Screenshot from 2024-03-27 11-57-17
    This one is a bit strange. The warning is valid, it is saying that the pointer to the first argument of strcpy cannot alias the second argument. The compiler will perform optimizations under the assumption that the two pointers do not alias. I am not sure why one would copy from one buffer to itself. This probably should be investigated.
    Mentioned in issue Warnings should be fixed in vqm2blif #2403
    Mentioned in issue Fix compiler warnings in vqm2blif #2294

  • vqm2blif: Comparison of integers with different signedness
    Screenshot from 2024-03-27 12-00-05

  • vqm2blif: Unknown escape sequence
    Screenshot from 2024-03-27 12-01-43
    I am pretty sure this is caused by how C++ interprets regex. I think this should be "\\$" instead of "\$" for example.
    Mentioned in issue Fix compiler warnings in vqm2blif #2294

  • fasm: Pass by reference
    Screenshot from 2024-03-27 12-03-05
    These are pretty straightforward. Since these are const anyways, and the objects are large, pass by reference makes sense.
    Mentioned in issue Fix warning in FASM #2412

Known warnings in other CI builds:

@AlexandreSinger
Copy link
Contributor Author

With the recent merge of PR #2555 , these warnings should now be gone, and should be prevented for the future. There are still two deprecation warnings in Bison; the PR fixing these issues (PR #2529 ) is still raised. Once the dev machines are updated, we can merge that PR and fix the warnings. In the meantime the fail on warnings do not fail for those particular cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Build system
Projects
None yet
Development

No branches or pull requests

1 participant