root icon indicating copy to clipboard operation
root copied to clipboard

[cppyy] disable tests failing with mac-beta ARM64

Open Vipul-Cariappa opened this issue 6 months ago • 1 comments

Disabling tests that fail on mac-beta ARM64

Vipul-Cariappa avatar Jun 17 '25 13:06 Vipul-Cariappa

Test Results

    19 files      19 suites   3d 12h 8m 25s ⏱️  2 853 tests  2 853 ✅ 0 💤 0 ❌ 52 707 runs  52 707 ✅ 0 💤 0 ❌

Results for commit 7181a757.

:recycle: This comment has been updated with latest results.

github-actions[bot] avatar Jun 17 '25 17:06 github-actions[bot]

I don't want to actively block this PR, but do we understand why these tests are failing? At the very least, this should be mentioned in the commit message. It would probably be better to add a comment in the test itself, or even a GitHub issue that is linked from that comment.

hahnjo avatar Jun 18 '25 06:06 hahnjo

I think @hahnjo has a point: it's good we can easily exclude the tests, but we should try to fix the root cause of the failure before curing the symptom to then be hit at a later stage by the underlying problem.

dpiparo avatar Jun 18 '25 09:06 dpiparo

Yes. I agreed with @hahnjo, I will need some time to figure that out. Also, I don't have access to a machine with OSX. Usually, @aaronj0 helps me out when I face problems on OSX, but he is in Sofia right now.

Vipul-Cariappa avatar Jun 18 '25 10:06 Vipul-Cariappa

Yes. I agreed with @hahnjo, I will need some time to figure that out. Also, I don't have access to a machine with OSX. Usually, @aaronj0 helps me out when I face problems on OSX, but he is in Sofia right now.

This is not strictly a cppyy problem. These tests fail (mostly) due to ABI changes:

2025-06-17T10:51:13.4434120Z ../../../../../../src/bindings/pyroot/cppyy/cppyy/test/test_datatypes.py::TestDATATYPES::test49_addressof_method input_line_276:2:104: error: call to non-static member function without an object argument
2025-06-17T10:51:13.4435240Z  (vector<int>::reference (*)(vector<int>::size_type))&std::__1::vector<int, std::__1::allocator<int>>::at[abi:ne200100]
2025-06-17T10:51:13.4435800Z                                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
2025-06-17T10:51:13.4436300Z input_line_276:2:110: error: unexpected ':' in nested name specifier; did you mean '::'?
2025-06-17T10:51:13.4437000Z  (vector<int>::reference (*)(vector<int>::size_type))&std::__1::vector<int, std::__1::allocator<int>>::at[abi:ne200100]
2025-06-17T10:51:13.4437520Z                                                                                                              ^
2025-06-17T10:51:13.4438060Z                                                                                                              ::
2025-06-17T10:51:13.4438510Z input_line_276:2:111: error: no member named 'ne200100' in namespace '__cxxabiv1'
2025-06-17T10:51:13.4439160Z  (vector<int>::reference (*)(vector<int>::size_type))&std::__1::vector<int, std::__1::allocator<int>>::at[abi:ne200100]
2025-06-17T10:51:13.4439810Z                                                                                                           ~~~~^
2025-06-17T10:51:13.4440110Z FAILED
2025-06-17T10:51:20.1961970Z /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h:777:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter '_Args'
2025-06-17T10:51:20.1963140Z void make_unique(_Args&&...) = delete;
2025-06-17T10:51:20.1963540Z      ^
2025-06-17T10:51:20.1964230Z input_line_132:11:70: error: address of overloaded function 'make_unique' does not match required type 'std::unique_ptr<int, std::default_delete<int> > ()'
2025-06-17T10:51:20.1965320Z       (void)(((std::unique_ptr<int, std::default_delete<int> > (&)())std::__1::make_unique<int, 0>)());
2025-06-17T10:51:20.1966010Z                                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2025-06-17T10:51:20.1967070Z /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h:766:76: note: candidate template ignored: invalid explicitly-specified argument for template parameter '_Args'
2025-06-17T10:51:20.1968330Z inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 unique_ptr<_Tp> make_unique(_Args&&... __args) {
2025-06-17T10:51:20.1968970Z                                                                            ^
2025-06-17T10:51:20.1970000Z /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h:771:76: note: candidate template ignored: invalid explicitly-specified argument for 2nd template parameter
2025-06-17T10:51:20.1971220Z inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 unique_ptr<_Tp> make_unique(size_t __n) {
2025-06-17T10:51:20.1971840Z                                                                            ^
2025-06-17T10:51:20.1972870Z /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h:777:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter '_Args'
2025-06-17T10:51:20.1973900Z void make_unique(_Args&&...) = delete;
2025-06-17T10:51:20.1974250Z      ^
2025-06-17T10:51:20.1974570Z FAILED
2025-06-17T10:51:13.4483950Z         for i in range(len(names)):
2025-06-17T10:51:13.4484260Z >           setattr(c, 'm_'+names[i], i)
2025-06-17T10:51:13.4484610Z E           TypeError: C++ type cannot be converted to memory

and

2025-06-18T11:21:28.4712460Z >       assert cppyy.addressof(cppyy.gbl.std.vector[int].at.__overload__(':any:', False))
2025-06-18T11:21:28.4713180Z E       AssertionError: assert 0
2025-06-18T11:21:28.4713890Z E        +  where 0 = <built-in function addressof>(<cppyy.CPPOverload object at 0x10bc1d740>)
2025-06-18T11:21:28.4714920Z E        +    where <built-in function addressof> = <module 'cppyy' from '/Users/sftnight/ROOT-CI/build/lib/cppyy/__init__.py'>.addressof
2025-06-18T11:21:28.4716510Z E        +    and   <cppyy.CPPOverload object at 0x10bc1d740> = <built-in method __overload__ of cppyy.CPPOverload object at 0x10b498fc0>(':any:', False)
2025-06-18T11:21:28.4717960Z E        +      where <built-in method __overload__ of cppyy.CPPOverload object at 0x10b498fc0> = <cppyy.CPPOverload object at 0x10b498fc0>.__overload__
2025-06-18T11:21:28.4719250Z E        +        where <cppyy.CPPOverload object at 0x10b498fc0> = <class cppyy.gbl.std.vector<int> at 0x74dbdc810>.at

Currently these tests only fail on mac beta and pass on the stable SDKs on ARM. I believe we need to annotate mac-beta to OS X 26 in the pytest message, move ahead with this PR, and resolve these problems incrementally (some of which should be solved with updating the modules)

aaronj0 avatar Jun 18 '25 10:06 aaronj0

Sorry for my persistence on this topic: is there progress on this issue, where is it tracked? I don't see a GitHub issue as I suggested...

hahnjo avatar Jun 30 '25 09:06 hahnjo

Sorry for my persistence on this topic: is there progress on this issue, where is it tracked? I don't see a GitHub issue as I suggested...

Hello, the issue was opened here: https://github.com/root-project/root/issues/19122. It was not linked to this PR unfortunately

aaronj0 avatar Jun 30 '25 09:06 aaronj0