** Description changed:

- Autopkgtest command1 fails for AMD64 and ARM64 for resolute and stonking
- while testing Polly optimizations:
+ * Autopkgtest command1 fails for AMD64 and ARM64 for resolute and
+ stonking while testing Polly optimizations:
  
  281s not ok 30 Test Polly optimizations
  281s # (in test file debian/qualify-clang.sh, line 652)
  281s #   `assert_success' failed
  281s # /usr/lib/bats-core/test_functions.bash: line 380: warning: command 
substitution: ignored null byte in input
  281s #
  281s # -- command failed --
  281s # status : 1
  281s # output (69 lines):
  281s #   /usr/lib/llvm-18/share/opt-viewer/opt-viewer.py:138: SyntaxWarning: 
"\S" is an invalid escape sequence. Such sequences will not work in the future. 
Did you mean "\\S"? A raw string is also an option.
  281s #     indent = re.sub("\S", " ", indent)
  281s #   Reading YAML files...
  281s #   /usr/lib/llvm-18/share/opt-viewer/opt-viewer.py:138: SyntaxWarning: 
"\S" is an invalid escape sequence. Such sequences will not work in the future. 
Did you mean "\\S"? A raw string is also an option.
  281s #     indent = re.sub("\S", " ", indent)
  281s #
   1 of 4
   2 of 4
   3 of 4
   4 of 4
  Rendering index page...
  281s #   Rendering HTML files...
  281s #
   1 of 2
   2 of 2multiprocessing.pool.RemoteTraceback:
  281s #   """
  281s #   Traceback (most recent call last):
  281s #     File "/usr/lib/python3.14/multiprocessing/pool.py", line 125, in 
worker
  281s #       result = (True, func(*args, **kwds))
  281s #                       ~~~~^^^^^^^^^^^^^^^
  281s #     File "/usr/lib/python3.14/multiprocessing/pool.py", line 48, in 
mapstar
  281s #       return list(map(*args))
  281s #     File "/usr/lib/llvm-18/share/opt-viewer/optpmap.py", line 25, in 
_wrapped_func
  281s #       return func(argument, filter_)
  281s #     File "/usr/lib/llvm-18/share/opt-viewer/opt-viewer.py", line 293, 
in _render_file
  281s #       SourceFileRenderer(source_dir, output_dir, filename, 
no_highlight).render(remarks)
  281s #       
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  281s #     File "/usr/lib/llvm-18/share/opt-viewer/opt-viewer.py", line 216, 
in render
  281s #       self.render_source_lines(self.source_stream, line_remarks)
  281s #       ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  281s #     File "/usr/lib/llvm-18/share/opt-viewer/opt-viewer.py", line 123, 
in render_source_lines
  281s #       self.render_inline_remarks(remark, html_line)
  281s #       ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  281s #     File "/usr/lib/llvm-18/share/opt-viewer/opt-viewer.py", line 126, 
in render_inline_remarks
  281s #       inlining_context = r.DemangledFunctionName
  281s #                          ^^^^^^^^^^^^^^^^^^^^^^^
  281s #     File "/usr/lib/llvm-18/share/opt-viewer/optrecord.py", line 153, 
in DemangledFunctionName
  281s #       return self.demangle(self.Function)
  281s #              ~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  281s #     File "/usr/lib/llvm-18/share/opt-viewer/optrecord.py", line 77, in 
demangle
  281s #       with cls.demangler_lock:
  281s #            ^^^^^^^^^^^^^^^^^^
  281s #   AttributeError: type object 'Passed' has no attribute 
'demangler_lock'. Did you mean: 'demangler_proc'?
  281s #   """
  281s #
  281s #   The above exception was the direct cause of the following exception:
  281s #
  281s #   Traceback (most recent call last):
  281s #     File "/usr/lib/llvm-18/share/opt-viewer/opt-viewer.py", line 471, 
in <module>
  281s #       main()
  281s #       ~~~~^^
  281s #     File "/usr/lib/llvm-18/share/opt-viewer/opt-viewer.py", line 457, 
in main
  281s #       generate_report(
  281s #       ~~~~~~~~~~~~~~~^
  281s #           all_remarks,
  281s #           ^^^^^^^^^^^^
  281s #       ...<7 lines>...
  281s #           print_progress,
  281s #           ^^^^^^^^^^^^^^^
  281s #       )
  281s #       ^
  281s #     File "/usr/lib/llvm-18/share/opt-viewer/opt-viewer.py", line 376, 
in generate_report
  281s #       optpmap.pmap(
  281s #       ~~~~~~~~~~~~^
  281s #           _render_file_bound, file_remarks.items(), num_jobs, 
should_print_progress
  281s #           
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  281s #       )
  281s #       ^
  281s #     File "/usr/lib/llvm-18/share/opt-viewer/optpmap.py", line 57, in 
pmap
  281s #       result = pool.map(_wrapped_func, func_and_args, *args, **kwargs)
  281s #     File "/usr/lib/python3.14/multiprocessing/pool.py", line 367, in 
map
  281s #       return self._map_async(func, iterable, mapstar, chunksize).get()
  281s #              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  281s #     File "/usr/lib/python3.14/multiprocessing/pool.py", line 774, in 
get
  281s #       raise self._value
  281s #   AttributeError: type object 'Passed' has no attribute 
'demangler_lock'
  281s # --
  
- Apply this upstream fix as a patch: https://github.com/llvm/llvm-
+ * opt-viewer renders its HTML using several parallel worker processes,
+ and they all share a helper process (c++filt) that demangles function
+ names. The lock that protects the helper was only created at the same
+ time as the helper, on first use. A worker could reach demangle() before
+ the lock existed, crashing. The fix is to ensure that the lock always
+ exists and hold it when the helper is created.
+ 
+ * Apply this upstream fix as a patch: https://github.com/llvm/llvm-
  project/pull/131214/changes

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2169042

Title:
  autopkgtests AttributeError: type object 'Passed' has no attribute
  'demangler_lock'

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/llvm-toolchain-18/+bug/2169042/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to