esa-tu-darmstadt / tapasco

The Task Parallel System Composer (TaPaSCo)
GNU Lesser General Public License v3.0
106 stars 25 forks source link

`tapasco-build-libs` not working with rust `1.69.0` #358

Closed jrmejiaa closed 1 year ago

jrmejiaa commented 1 year ago

Steps to Reproduce

  1. Create a working directory and source tapasco-setup.sh
  2. Install last version of Rust 1.69.0 using the command in the documentation.
  3. Run tapasco-build-libs
  4. Tapasco build failed because of two dependencies "failed to open"
  5. The strange part is that if you try again tapasco-build-libs in the same working directory without deleting anything, the error is no longer there.

Expected Behavior

$ `tapasco-build-libs
...
[ 92%] Linking CXX executable tapasco-benchmark
[ 92%] Built target tapasco-benchmark
[ 92%] Built target tapasco_debug_cargo_build_release
[ 95%] Linking CXX executable tapasco-debug
[ 95%] Built target tapasco-debug
[ 95%] Built target libtapasco_svm_cargo_build_release
[ 97%] Linking CXX executable libtapasco_svm
[ 97%] Built target libtapasco_svm
[ 97%] Built target libtapasco_tests_cargo_build_release
[100%] Linking CXX executable libtapasco_tests
[100%] Built target libtapasco_tests
Install the project...
-- Install configuration: "Release"
-- Installing: /workdir/test/build/install/usr/local/share/Tapasco/scripts/pcie/program_pcie.tcl
...
-- Installing: /workdir/test/build/install/usr/local/share/Tapasco/bin/libtapasco_tests
-- Installing: /workdir/test/build/install/usr/local/share/Tapasco/bin/libtapasco_svm
-- Installing: /workdir/test/build/install/usr/local/share/Tapasco/bin/tapasco-debug

Current Behavior

[ 92%] Built target memtest_parallel
[ 92%] Built target tapasco-benchmark
error: failed to unpack package `itertools v0.10.3`

Caused by:
  failed to open `/home/stud/jm21dame/.cargo/registry/src/github.com-1ecc6299db9ec823/itertools-0.10.3/.cargo-ok`

Caused by:
  File exists (os error 17)
make[2]: *** [examples/Rust/libtapasco_svm/CMakeFiles/libtapasco_svm_cargo_build_release.dir/build.make:71: examples/Rust/libtapasco_svm/CMakeFiles/libtapasco_svm_cargo_build_release] Error 101
make[1]: *** [CMakeFiles/Makefile2:957: examples/Rust/libtapasco_svm/CMakeFiles/libtapasco_svm_cargo_build_release.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
error: failed to unpack package `libc v0.2.120`

Caused by:
  failed to open `/home/stud/jm21dame/.cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.120/.cargo-ok`

Caused by:
  File exists (os error 17)
make[2]: *** [examples/Rust/libtapasco_tests/CMakeFiles/libtapasco_tests_cargo_build_release.dir/build.make:71: examples/Rust/libtapasco_tests/CMakeFiles/libtapasco_tests_cargo_build_release] Error 101
make[1]: *** [CMakeFiles/Makefile2:879: examples/Rust/libtapasco_tests/CMakeFiles/libtapasco_tests_cargo_build_release.dir/all] Error 2
warning: unnecessary parentheses around match arm expression
   --> /scratch/jm21dame/tapasco/tapasco_src/runtime/libtapasco/src/allocator.rs:521:24
    |
521 |             Some(a) => (a % IOMMU_PAGESIZE), // position of data within page
    |                        ^                  ^
    |
    = note: `#[warn(unused_parens)]` on by default
help: remove these parentheses
    |
521 -             Some(a) => (a % IOMMU_PAGESIZE), // position of data within page
521 +             Some(a) => a % IOMMU_PAGESIZE, // position of data within page
    |

[ 92%] Built target tapasco_debug_cargo_build_release
make: *** [Makefile:156: all] Error 2
Tapasco build failed!

Context (Environment)

$ lscpu
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         39 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  12
  On-line CPU(s) list:   0-11
Vendor ID:               GenuineIntel
  Model name:            Intel(R) Core(TM) i5-10400 CPU @ 2.90GHz
    CPU family:          6
    Model:               165
    Thread(s) per core:  2
    Core(s) per socket:  6
    Socket(s):           1
    Stepping:            5
    CPU max MHz:         4300.0000
    CPU min MHz:         800.0000
    BogoMIPS:            5799.77
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc a
                         rt arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid ss
                         e4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ssbd ibrs ibpb stibp ibrs_enhance
                         d tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1
                          xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp pku ospke md_clear flush_l1d arch_capabilities
Virtualization features: 
  Virtualization:        VT-x
Caches (sum of all):     
  L1d:                   192 KiB (6 instances)
  L1i:                   192 KiB (6 instances)
  L2:                    1.5 MiB (6 instances)
  L3:                    12 MiB (1 instance)
NUMA:                    
  NUMA node(s):          1
  NUMA node0 CPU(s):     0-11
Vulnerabilities:         
  Itlb multihit:         KVM: Mitigation: VMX disabled
  L1tf:                  Not affected
  Mds:                   Not affected
  Meltdown:              Not affected
  Mmio stale data:       Mitigation; Clear CPU buffers; SMT vulnerable
  Retbleed:              Mitigation; Enhanced IBRS
  Spec store bypass:     Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:            Mitigation; Enhanced IBRS, IBPB conditional, RSB filling, PBRSB-eIBRS SW sequence
  Srbds:                 Mitigation; Microcode
  Tsx async abort:       Not affected
cahz commented 1 year ago

Cannot reproduce. From the error message it seems like a local issue and no issue of TaPaSCo.

We have Rustc 1.69.0 in the CI (example)