Issue with Only Vulkan-Related Test Codes Failing on Android Device

I've progressed through building IREE and running tests on Android, but I've encountered an issue where only Vulkan-related test codes are consistently failing. I've checked the Vulkan information on Android and didn't find any apparent issues, leaving me unsure of the cause.
Environment Details:
Android Version: 13
Vulkan apiVersion: 1.1.128
Build Steps:
Retrieved the code through Git using the x64_x86 Cross Tools Command Prompt for VS 2022.
Executed vcvarsall.bat x64.
Set the Android NDK path.
Cloning and Submodule Update:
Git clone and git submodule update --init.
Building for Host:
cmake -GNinja -B ../iree-build/ \   -DCMAKE_INSTALL_PREFIX=../iree-build/install \   -DCMAKE_BUILD_TYPE=RelWithDebInfo \   . cmake --build ../iree-build/ --target install
Building for Android:
cmake -GNinja -B ../iree-build-android/ \   -DCMAKE_TOOLCHAIN_FILE="%ANDROID_NDK%/build/cmake/android.toolchain.cmake" \   -DIREE_HOST_BIN_DIR="%CD%/../iree-build/install/bin" \   -DANDROID_ABI="arm64-v8a" \   -DANDROID_PLATFORM="android-31" \   -DIREE_BUILD_COMPILER=OFF . cmake --build ../iree-build-android/
Testing:
Built test dependencies with cmake --build ../iree-build-android/ --target iree-test-deps.
Ensured the Android device was visible with adb devices.
Ran tests using ctest --test-dir ../iree-build-android/ --output-on-failure.
Result:
The detailed results are lengthy, but in summary, all tests related to Vulkan failed, whereas others passed successfully. This discrepancy is puzzling, especially given that the Vulkan setup on the Android device seems correct according to specifications.
I'm seeking insights into why this might be happening, whether it's a known issue with specific Android versions or Vulkan API levels, or if there are additional configurations or steps I should consider to resolve these test failures.
`
Total Test time (real) = 457.62 sec
The following tests FAILED:
5 - iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir_on_android_device (Failed)
6 - iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_i4_to_f32.mlir_on_android_device (Failed)
8 - iree/tests/e2e/linalg/check_winograd_vulkan-spirv_vulkan_conv2d.mlir_on_android_device (Failed)
21 - iree/tests/e2e/linalg_ext_ops/check_vulkan-spirv_vulkan_scatter.mlir_on_android_device (Failed)
22 - iree/tests/e2e/linalg_ext_ops/check_vulkan-spirv_vulkan_sort.mlir_on_android_device (Failed)
23 - iree/tests/e2e/linalg_ext_ops/check_vulkan-spirv_vulkan_winograd_input.mlir_on_android_device (Failed)
24 - iree/tests/e2e/linalg_ext_ops/check_vulkan-spirv_vulkan_winograd_output.mlir_on_android_device (Failed)
61 - iree/tests/e2e/regression/check_regression_vulkan-spirv_dynamic_abs.mlir_on_android_device (Failed)
62 - iree/tests/e2e/regression/check_regression_vulkan-spirv_dynamic_add.mlir_on_android_device (Failed)
63 - iree/tests/e2e/regression/check_regression_vulkan-spirv_dynamic_dot.mlir_on_android_device (Failed)
64 - iree/tests/e2e/regression/check_regression_vulkan-spirv_dynamic_reduce_min.mlir_on_android_device (Failed)
65 - iree/tests/e2e/regression/check_regression_vulkan-spirv_dynamic_torch_index_select_high_rank.mlir_on_android_device (Failed)
66 - iree/tests/e2e/regression/check_regression_vulkan-spirv_dynamic_torch_index_select_negative.mlir_on_android_device (Failed)
67 - iree/tests/e2e/regression/check_regression_vulkan-spirv_dynamic_torch_index_select_scalar.mlir_on_android_device (Failed)
68 - iree/tests/e2e/regression/check_regression_vulkan-spirv_dynamic_torch_index_select_vector.mlir_on_android_device (Failed)
69 - iree/tests/e2e/regression/check_regression_vulkan-spirv_i1_inlined_constant.mlir_on_android_device (Failed)
70 - iree/tests/e2e/regression/check_regression_vulkan-spirv_linalg_ops.mlir_on_android_device (Failed)
71 - iree/tests/e2e/regression/check_regression_vulkan-spirv_reduction_broadcast_elementwise.mlir_on_android_device (Failed)
72 - iree/tests/e2e/regression/check_regression_vulkan-spirv_scalar_computation.mlir_on_android_device (Failed)
73 - iree/tests/e2e/regression/check_regression_vulkan-spirv_softmax.mlir_on_android_device (Failed)
74 - iree/tests/e2e/regression/check_regression_vulkan-spirv_strided_slice.mlir_on_android_device (Failed)
75 - iree/tests/e2e/regression/check_regression_vulkan-spirv_transpose.mlir_on_android_device (Failed)
196 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_abs.mlir_on_android_device (Failed)
197 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_add.mlir_on_android_device (Failed)
198 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_batch_norm_inference.mlir_on_android_device (Failed)
199 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_bitcast_convert.mlir_on_android_device (Failed)
200 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_broadcast.mlir_on_android_device (Failed)
201 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_broadcast_add.mlir_on_android_device (Failed)
202 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_broadcast_in_dim.mlir_on_android_device (Failed)
203 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_clamp.mlir_on_android_device (Failed)
204 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_compare.mlir_on_android_device (Failed)
205 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_complex.mlir_on_android_device (Failed)
206 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_concatenate.mlir_on_android_device (Failed)
207 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_constant.mlir_on_android_device (Failed)
208 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_convert.mlir_on_android_device (Failed)
209 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_convolution.mlir_on_android_device (Failed)
210 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_cosine.mlir_on_android_device (Failed)
211 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_divide.mlir_on_android_device (Failed)
212 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_dot.mlir_on_android_device (Failed)
213 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_dot_bf16.mlir_on_android_device (Failed)
214 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_dot_general.mlir_on_android_device (Failed)
215 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_dynamic_slice.mlir_on_android_device (Failed)
216 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_dynamic_update_slice.mlir_on_android_device (Failed)
217 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_exponential.mlir_on_android_device (Failed)
218 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_exponential_minus_one.mlir_on_android_device (Failed)
219 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_finite.mlir_on_android_device (Failed)
220 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_floor.mlir_on_android_device (Failed)
221 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_gather.mlir_on_android_device (Failed)
222 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_iota.mlir_on_android_device (Failed)
223 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_log.mlir_on_android_device (Failed)
224 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_log_plus_one.mlir_on_android_device (Failed)
225 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_maximum.mlir_on_android_device (Failed)
226 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_minimum.mlir_on_android_device (Failed)
227 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_multiply.mlir_on_android_device (Failed)
228 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_negate.mlir_on_android_device (Failed)
229 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_pad.mlir_on_android_device (Failed)
230 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_philox.mlir_on_android_device (Failed)
231 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_pow.mlir_on_android_device (Failed)
232 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_reduce.mlir_on_android_device (Failed)
233 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_reduce_window.mlir_on_android_device (Failed)
234 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_remainder.mlir_on_android_device (Failed)
235 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_reshape.mlir_on_android_device (Failed)
236 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_rng_normal.mlir_on_android_device (Failed)
237 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_rng_uniform.mlir_on_android_device (Failed)
238 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_round.mlir_on_android_device (Failed)
239 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_rsqrt.mlir_on_android_device (Failed)
240 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_scatter.mlir_on_android_device (Failed)
241 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_scatter_dynamic.mlir_on_android_device (Failed)
242 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_select.mlir_on_android_device (Failed)
243 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_sine.mlir_on_android_device (Failed)
244 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_slice.mlir_on_android_device (Failed)
245 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_sort.mlir_on_android_device (Failed)
246 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_sqrt.mlir_on_android_device (Failed)
247 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_subtract.mlir_on_android_device (Failed)
248 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_tanh.mlir_on_android_device (Failed)
249 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_three_fry.mlir_on_android_device (Failed)
250 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_torch_index_select.mlir_on_android_device (Failed)
251 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_transpose.mlir_on_android_device (Failed)
252 - iree/tests/e2e/stablehlo_ops/check_vulkan-spirv_vulkan_while.mlir_on_android_device (Failed)
266 - iree/tests/e2e/tensor_ops/check_vulkan-spirv_vulkan_extract_slice.mlir_on_android_device (Failed)
267 - iree/tests/e2e/tensor_ops/check_vulkan-spirv_vulkan_tensor_insert_slice.mlir_on_android_device (Failed)
390 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_abs.mlir_on_android_device (Failed)
391 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_add.mlir_on_android_device (Failed)
392 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_arithmetic_right_shift.mlir_on_android_device (Failed)
393 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_bitwise_and.mlir_on_android_device (Failed)
394 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_bitwise_or.mlir_on_android_device (Failed)
395 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_bitwise_xor.mlir_on_android_device (Failed)
396 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_ceil.mlir_on_android_device (Failed)
397 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_clamp.mlir_on_android_device (Failed)
398 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_clz.mlir_on_android_device (Failed)
399 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_const.mlir_on_android_device (Failed)
400 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_equal.mlir_on_android_device (Failed)
401 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_exp.mlir_on_android_device (Failed)
402 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_floor.mlir_on_android_device (Failed)
403 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_fully_connected.mlir_on_android_device (Failed)
404 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_gather.mlir_on_android_device (Failed)
405 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_greater.mlir_on_android_device (Failed)
406 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_greater_equal.mlir_on_android_device (Failed)
407 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_if.mlir_on_android_device (Failed)
408 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_log.mlir_on_android_device (Failed)
409 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_logical_left_shift.mlir_on_android_device (Failed)
410 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_logical_right_shift.mlir_on_android_device (Failed)
411 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_matmul.mlir_on_android_device (Failed)
412 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_max_pool.mlir_on_android_device (Failed)
413 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_maximum.mlir_on_android_device (Failed)
414 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_minimum.mlir_on_android_device (Failed)
415 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_mul.mlir_on_android_device (Failed)
416 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_mul_shift.mlir_on_android_device (Failed)
417 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_negate.mlir_on_android_device (Failed)
418 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_pad.mlir_on_android_device (Failed)
419 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_reciprocal.mlir_on_android_device (Failed)
420 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_reduce.mlir_on_android_device (Failed)
421 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_reshape.mlir_on_android_device (Failed)
422 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_rsqrt.mlir_on_android_device (Failed)
423 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_select.mlir_on_android_device (Failed)
424 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_sigmoid.mlir_on_android_device (Failed)
425 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_sub.mlir_on_android_device (Failed)
426 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_table.mlir_on_android_device (Failed)
427 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_tanh.mlir_on_android_device (Failed)
428 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_transpose.mlir_on_android_device (Failed)
429 - iree/tests/e2e/tosa_ops/check_vulkan-spirv_vulkan_while.mlir_on_android_device (Failed)
430 - iree/tests/e2e/vulkan_specific/check_vulkan-spirv_vulkan_f16_add_f16.mlir_on_android_device (Failed)
431 - iree/tests/e2e/vulkan_specific/check_vulkan-spirv_vulkan_f16_dot_f16.mlir_on_android_device (Failed)
432 - iree/tests/e2e/vulkan_specific/check_vulkan-spirv_vulkan_conv_conv.mlir_on_android_device (Failed)
433 - iree/tests/e2e/vulkan_specific/check_vulkan-spirv_vulkan_i64_emulation_add_i64.mlir_on_android_device (Failed)
434 - iree/tests/e2e/vulkan_specific/check_vulkan-spirv_vulkan_i64_emulation_mul_i64.mlir_on_android_device (Failed)
435 - iree/tools/test/iree_run_module_correctness_test_on_android_device (Failed)
519 - iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test_on_android_device (Failed)
520 - iree/hal/drivers/vulkan/cts/vulkan_command_buffer_dispatch_test_on_android_device (Failed)
521 - iree/hal/drivers/vulkan/cts/vulkan_command_buffer_push_constants_test_on_android_device (Failed)
524 - iree/hal/drivers/vulkan/cts/vulkan_event_test_on_android_device (Failed)
526 - iree/hal/drivers/vulkan/cts/vulkan_file_test_on_android_device (Failed)
528 - iree/hal/drivers/vulkan/cts/vulkan_semaphore_test_on_android_device (Failed)
545 - iree/modules/check/test/check_vulkan-spirv_vulkan_success.mlir_on_android_device (Failed)
572 - iree/samples/simple_embedding/simple_embedding_vulkan_test_on_android_device (Failed)
Errors while running CTest
`

Thanks for the detailed report.
Were you able to see output logs for any of the failing tests, with specific errors? I see you set  --output-on-failure 🤔
These would be a good starting point as they just exercise the Vulkan code, while the other tests use the full runtime and compiled code:
519 - iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test_on_android_device (Failed)
520 - iree/hal/drivers/vulkan/cts/vulkan_command_buffer_dispatch_test_on_android_device (Failed)
521 - iree/hal/drivers/vulkan/cts/vulkan_command_buffer_push_constants_test_on_android_device (Failed)
524 - iree/hal/drivers/vulkan/cts/vulkan_event_test_on_android_device (Failed)
526 - iree/hal/drivers/vulkan/cts/vulkan_file_test_on_android_device (Failed)
528 - iree/hal/drivers/vulkan/cts/vulkan_semaphore_test_on_android_device (Failed)

For reference, here is a recent CI run on a Pixel 6 that includes Vulkan tests: https://github.com/openxla/iree/actions/runs/7219849588/job/19672528897 (Mostly to show that the tests can pass)

I have only been setting up complete local environments and running code locally without using GitHub Actions, so I'm currently learning about Actions to execute the given GitHub Action... Honestly, the increasing tasks are draining my motivation. I had just succeeded in building the environment on Windows following IREE's site, so this is quite challenging for me...

I wouldn't worry about what the action is doing or trying to reproduce that. I'd just use it as a reference for what logs can look like when successful.
I'd expect your local environment has error logs for each failing test if you scroll up a bit, or maybe they are visible in logcat somewhere.

Understood, I am in the process of deleting all projects and rebuilding the environment for running Actions on my forked project. I will recreate everything up to the point where the error occurs again.

Also, just as an additional note, I was building on a PC with Japanese language settings and encountered a Unicode error with CMake and clang while trying to build IREE in a non-English environment. It might be helpful to include this in the documentation if you are considering users from non-English speaking regions.

Also, just as an additional note, I was building on a PC with Japanese language settings and encountered a Unicode error with CMake and clang while trying to build IREE in a non-English environment. It might be helpful to include this in the documentation if you are considering users from non-English speaking regions.

Ooooo that's one I haven't heard before :D . Can you share the error? We should be able to fix that.

The error C4819 occurred in the file iree\third_party\llvm-project\clang\include\clang/AST/ExprOpenMP.h. Despite confirming that the file was saved in UTF-8, the error persisted even after reopening it in a memo app and saving it again in UTF-8. The solution to this issue was to change the PC's regional language settings to English. This change in the language setting resolved the C4819 error. This suggests that certain language settings might affect how tools like CMake or clang handle character encoding in source files.
Given that similar errors might occur in other parts of the code due to language settings, it's advisable to set the language configuration of your PC to English permanently.
 D:\A_Jupyter\IREE\iree\third_party\llvm-project\clang\lib\Lex\Lexer.cpp(1574): note: while trying to match the argument list '(const llvm::sys::UnicodeCharRange [])' D:\A_Jupyter\IREE\iree\third_party\llvm-project\clang\lib\Lex\Lexer.cpp(1573): note: while trying to match the argument list '(const llvm::sys::UnicodeCharRange [])' [2651/7240] Building CXX object llvm-project\tools\clang\lib\Parse\CMakeFiles\obj.clangParse.dir\ParseInit.cpp.obj D:\A_Jupyter\IREE\iree\third_party\llvm-project\clang\include\clang/AST/ExprOpenMP.h(1): warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss [2652/7240] Building CXX object llvm-project\tools\clang\lib\Parse\CMakeFiles\obj.clangParse.dir\ParseHLSL.cpp.obj D:\A_Jupyter\IREE\iree\third_party\llvm-project\clang\include\clang/AST/ExprOpenMP.h(1): warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss [2653/7240] Building CXX object llvm-project\tools\clang\lib\Parse\CMakeFiles\obj.clangParse.dir\ParseStmt.cpp.obj D:\A_Jupyter\IREE\iree\third_party\llvm-project\clang\include\clang/AST/ExprOpenMP.h(1): warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss [2654/7240] Building CXX object llvm-project\tools\clang\l...MakeFiles\obj.clangParse.dir\ParseCXXInlineMethods.cpp.obj D:\A_Jupyter\IREE\iree\third_party\llvm-project\clang\include\clang/AST/ExprOpenMP.h(1): warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss [2655/7240] Building CXX object llvm-project\tools\clang\lib\Parse\CMakeFiles\obj.clangParse.dir\ParseAST.cpp.obj D:\A_Jupyter\IREE\iree\third_party\llvm-project\clang\include\clang/AST/ExprOpenMP.h(1): warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss [2656/7240] Building CXX object llvm-project\tools\clang\lib\Parse\CMakeFiles\obj.clangParse.dir\ParseExprCXX.cpp.obj D:\A_Jupyter\IREE\iree\third_party\llvm-project\clang\include\clang/AST/ExprOpenMP.h(1): warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss [2657/7240] Building CXX object llvm-project\tools\clang\lib\Parse\CMakeFiles\obj.clangParse.dir\ParseObjc.cpp.obj D:\A_Jupyter\IREE\iree\third_party\llvm-project\clang\include\clang/AST/ExprOpenMP.h(1): warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss [2658/7240] Building CXX object llvm-project\tools\clang\lib\Parse\CMakeFiles\obj.clangParse.dir\ParsePragma.cpp.obj D:\A_Jupyter\IREE\iree\third_party\llvm-project\clang\include\clang/AST/ExprOpenMP.h(1): warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss [2659/7240] Building CXX object llvm-project\tools\clang\lib\Parse\CMakeFiles\obj.clangParse.dir\ParseStmtAsm.cpp.obj D:\A_Jupyter\IREE\iree\third_party\llvm-project\clang\include\clang/AST/ExprOpenMP.h(1): warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss [2660/7240] Building CXX object llvm-project\tools\clang\lib\Parse\CMakeFiles\obj.clangParse.dir\ParseDeclCXX.cpp.obj D:\A_Jupyter\IREE\iree\third_party\llvm-project\clang\include\clang/AST/ExprOpenMP.h(1): warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss [2661/7240] Building CXX object llvm-project\tools\clang\lib\Parse\CMakeFiles\obj.clangParse.dir\ParseExpr.cpp.obj D:\A_Jupyter\IREE\iree\third_party\llvm-project\clang\include\clang/AST/ExprOpenMP.h(1): warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss [2662/7240] Building CXX object llvm-project\tools\clang\lib\Parse\CMakeFiles\obj.clangParse.dir\ParseOpenMP.cpp.obj D:\A_Jupyter\IREE\iree\third_party\llvm-project\clang\include\clang/AST/ExprOpenMP.h(1): warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss [2663/7240] Building CXX object llvm-project\tools\clang\lib\Parse\CMakeFiles\obj.clangParse.dir\ParseDecl.cpp.obj D:\A_Jupyter\IREE\iree\third_party\llvm-project\clang\include\clang/AST/ExprOpenMP.h(1): warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss

The error C4819 occurred in the file iree\third_party\llvm-project\clang\include\clang/AST/ExprOpenMP.h.

Ooof, that's in LLVM, one of our more complicated dependencies. I wonder if others upstream there have issues/workarounds/docs for it.

エラー C4819 は、ファイル iree\third_party\llvm-project\clang\include\clang/AST/ExprOpenMP.h で発生しました。

おっと、これはより複雑な依存関係の 1 つである LLVM にあります。他のアップストリームに問題/回避策/ドキュメントがあるかどうか疑問に思います。

The article I saw about avoiding the C4819 error related to LLVM was from a different project in Japanese. I believe this error likely depends on multiple projects.

I wouldn't worry about what the action is doing or trying to reproduce that. I'd just use it as a reference for what logs can look like when successful.
I'd expect your local environment has error logs for each failing test if you scroll up a bit, or maybe they are visible in logcat somewhere.

I've run the Android build of IREE again and here are the logs generated during some Vulkan-related checks
`
adb parameters: shell "cd /data/local/tmp && LD_LIBRARY_PATH=/data/local/tmp TEST_TMPDIR=/data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_i4_to_f32.mlir/test_tmpdir /data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_i4_to_f32.mlir/iree-check-module --module=/data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_i4_to_f32.mlir/check_vulkan-spirv_vulkan_i4_to_f32.mlir_module.vmfb --device=vulkan"
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from module
[ RUN      ] module.i4_to_f32_1d
Segmentation fault
    Start   7: iree/tests/e2e/linalg/check_winograd_llvm-cpu_local-task_conv2d.mlir_on_android_device

7/631 Test   #7: iree/tests/e2e/linalg/check_winograd_llvm-cpu_local-task_conv2d.mlir_on_android_device .......................................   Passed    0.77 sec
Start   8: iree/tests/e2e/linalg/check_winograd_vulkan-spirv_vulkan_conv2d.mlir_on_android_device
8/631 Test   #8: iree/tests/e2e/linalg/check_winograd_vulkan-spirv_vulkan_conv2d.mlir_on_android_device .......................................***Failed    0.91 sec
Requested adb command: /data/local/tmp/iree/tests/e2e/linalg/check_winograd_vulkan-spirv_vulkan_conv2d.mlir/iree-check-module --module=/data/local/tmp/iree/tests/e2e/linalg/check_winograd_vulkan-spirv_vulkan_conv2d.mlir/check_winograd_vulkan-spirv_vulkan_conv2d.mlir_module.vmfb --device=vulkan
Using adb executable: C:\Users\owner\AppData\Local\Android\Sdk\platform-tools\adb.exe
D:/A_Jupyter/IREE/iree-build-android/tools/iree-check-module: 1 file pushed, 0 skipped. 264.1 MB/s (12243304 bytes in 0.044s)
check_winograd_vulkan-spirv_vulkan_conv2d.mlir_module.vmfb: 1 file pushed, 0 skipped. 50.5 MB/s (9190 bytes in 0.000s)
adb parameters: shell "cd /data/local/tmp && chmod +x /data/local/tmp/iree/tests/e2e/linalg/check_winograd_vulkan-spirv_vulkan_conv2d.mlir/iree-check-module"
adb parameters: shell "cd /data/local/tmp && mkdir -p /data/local/tmp/iree/tests/e2e/linalg/check_winograd_vulkan-spirv_vulkan_conv2d.mlir/test_tmpdir"
adb parameters: shell "cd /data/local/tmp && LD_LIBRARY_PATH=/data/local/tmp TEST_TMPDIR=/data/local/tmp/iree/tests/e2e/linalg/check_winograd_vulkan-spirv_vulkan_conv2d.mlir/test_tmpdir /data/local/tmp/iree/tests/e2e/linalg/check_winograd_vulkan-spirv_vulkan_conv2d.mlir/iree-check-module --module=/data/local/tmp/iree/tests/e2e/linalg/check_winograd_vulkan-spirv_vulkan_conv2d.mlir/check_winograd_vulkan-spirv_vulkan_conv2d.mlir_module.vmfb --device=vulkan"
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from module
[ RUN      ] module.conv2d_nopadding
Segmentation fault
`

Well, it's interesting that those are segfaults instead of numerical errors, at least. The segfaults don't appear to have stack traces though.
(Also FYI, I'll personally be on vacation for a bit and I expect others will be less responsive over holidays as well. Wish I could help more...)

A few more things to try...

If you aren't specifically interested in Vulkan / GPU on Android, you can turn that off with -DIREE_HAL_DRIVER_VULKAN=OFF in your CMake configure command
Try other Vulkan applications, like https://play.google.com/store/apps/details?id=de.saschawillems.vulkancapsviewer to see if Vulkan is recent and working on your device (also note that an Android emulator will not likely support Vulkan)
If other Vulkan applications work, then IREE is likely using newer Vulkan features than your device supports. I'd start by running the iree/hal/drivers/vulkan/cts/ tests one at a time (ctest -R [test name]) and trying to get logs (either nice error messages or a crash stacktrace) to see what is happening.

The Vulkan version on the actual device, as well as its operation, have been confirmed as specified in the issue summary. Both the version and functionality have been verified. Additionally, as examples, I have listed below two cases: one of a successful test and another of a failed test.
check_winograd_llvm-cpu_local-task_conv2d
D:\A_Jupyter\IREE\iree>ctest --test-dir ../iree-build-android/ -R check_winograd_llvm-cpu_local-task_conv2d.mlir_on_android_device --output-on-failure Internal ctest changing into directory: D:/A_Jupyter/IREE/iree-build-android Test project D:/A_Jupyter/IREE/iree-build-android     Start 7: iree/tests/e2e/linalg/check_winograd_llvm-cpu_local-task_conv2d.mlir_on_android_device 1/1 Test #7: iree/tests/e2e/linalg/check_winograd_llvm-cpu_local-task_conv2d.mlir_on_android_device ...   Passed    1.21 sec 100% tests passed, 0 tests failed out of 1 Label Time Summary: driver=local-task        =   1.21 sec*proc (1 test) iree/tests/e2e/linalg    =   1.21 sec*proc (1 test) Total Test time (real) =   1.64 sec
check_vulkan-spirv_vulkan_conv2d
D:\A_Jupyter\IREE\iree>ctest --test-dir ../iree-build-android/ -R check_vulkan-spirv_vulkan_conv2d.mlir_on_android_device --output-on-failure Internal ctest changing into directory: D:/A_Jupyter/IREE/iree-build-android Test project D:/A_Jupyter/IREE/iree-build-android     Start 5: iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir_on_android_device 1/1 Test #5: iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir_on_android_device ...***Failed    1.11 sec Requested adb command: /data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/iree-check-module --module=/data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/check_vulkan-spirv_vulkan_conv2d.mlir_module.vmfb --device=vulkan Using adb executable: C:\Users\owner\AppData\Local\Android\Sdk\platform-tools\adb.exe D:/A_Jupyter/IREE/iree-build-android/tools/iree-check-module: 1 file pushed, 0 skipped. 268.5 MB/s (12243304 bytes in 0.043s) check_vulkan-spirv_vulkan_conv2d.mlir_module.vmfb: 1 file pushed, 0 skipped. 1.7 MB/s (9190 bytes in 0.005s) adb parameters: shell "cd /data/local/tmp && chmod +x /data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/iree-check-module" adb parameters: shell "cd /data/local/tmp && mkdir -p /data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/test_tmpdir" adb parameters: shell "cd /data/local/tmp && LD_LIBRARY_PATH=/data/local/tmp TEST_TMPDIR=/data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/test_tmpdir /data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/iree-check-module --module=/data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/check_vulkan-spirv_vulkan_conv2d.mlir_module.vmfb --device=vulkan" [==========] Running 1 test from 1 test suite. [----------] Global test environment set-up. [----------] 1 test from module [ RUN      ] module.conv2d_nopadding Segmentation fault 0% tests passed, 1 tests failed out of 1 Label Time Summary: driver=vulkan            =   1.11 sec*proc (1 test) iree/tests/e2e/linalg    =   1.11 sec*proc (1 test) Total Test time (real) =   1.16 sec The following tests FAILED:           5 - iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir_on_android_device (Failed) Errors while running CTest

D:\A_Jupyter\IREE\iree>ctest --test-dir ../iree-build-android/ -R check_vulkan-spirv_vulkan_conv2d.mlir_on_android_device --output-on-failure -V
Internal ctest changing into directory: D:/A_Jupyter/IREE/iree-build-android
UpdateCTestConfiguration  from :D:/A_Jupyter/IREE/iree-build-android/DartConfiguration.tcl
Add coverage exclude regular expressions.
UpdateCTestConfiguration  from :D:/A_Jupyter/IREE/iree-build-android/DartConfiguration.tcl
Test project D:/A_Jupyter/IREE/iree-build-android
Run command: cmake -E rm -rf D:/A_Jupyter/IREE/iree-build-android/test_tmpdir
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 5
Start 5: iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir_on_android_device
5: Test command: D:\A_Jupyter\IREE\iree\build_tools\cmake\run_android_test.bat "/data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/iree-check-module" "--module=/data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/check_vulkan-spirv_vulkan_conv2d.mlir_module.vmfb" "--device=vulkan"
5: Working Directory: D:/A_Jupyter/IREE/iree-build-android/tests/e2e/linalg
5: Environment variables:
5:  TEST_ANDROID_ABS_DIR=/data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir
5:  TEST_EXECUTABLE=D:/A_Jupyter/IREE/iree-build-android/tools/iree-check-module
5:  TEST_DATA=check_vulkan-spirv_vulkan_conv2d.mlir_module.vmfb
5:  TEST_TMPDIR=/data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/test_tmpdir
5: Test timeout computed to be: 60
5: Requested adb command: /data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/iree-check-module --module=/data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/check_vulkan-spirv_vulkan_conv2d.mlir_module.vmfb --device=vulkan
5: Using adb executable: C:\Users\owner\AppData\Local\Android\Sdk\platform-tools\adb.exe
5: D:/A_Jupyter/IREE/iree-build-android/tools/iree-check-module: 1 file pushed, 0 skipped. 249.4 MB/s (12243304 bytes in 0.047s)
5: check_vulkan-spirv_vulkan_conv2d.mlir_module.vmfb: 1 file pushed, 0 skipped. 50.5 MB/s (9190 bytes in 0.000s)
5: adb parameters: shell "cd /data/local/tmp && chmod +x /data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/iree-check-module"
5: adb parameters: shell "cd /data/local/tmp && mkdir -p /data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/test_tmpdir"
5: adb parameters: shell "cd /data/local/tmp && LD_LIBRARY_PATH=/data/local/tmp TEST_TMPDIR=/data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/test_tmpdir /data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/iree-check-module --module=/data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/check_vulkan-spirv_vulkan_conv2d.mlir_module.vmfb --device=vulkan"
5: [==========] Running 1 test from 1 test suite.
5: [----------] Global test environment set-up.
5: [----------] 1 test from module
5: [ RUN      ] module.conv2d_nopadding
5: Segmentation fault
1/1 Test #5: iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir_on_android_device ...***Failed    0.97 sec
Requested adb command: /data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/iree-check-module --module=/data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/check_vulkan-spirv_vulkan_conv2d.mlir_module.vmfb --device=vulkan
Using adb executable: C:\Users\owner\AppData\Local\Android\Sdk\platform-tools\adb.exe
D:/A_Jupyter/IREE/iree-build-android/tools/iree-check-module: 1 file pushed, 0 skipped. 249.4 MB/s (12243304 bytes in 0.047s)
check_vulkan-spirv_vulkan_conv2d.mlir_module.vmfb: 1 file pushed, 0 skipped. 50.5 MB/s (9190 bytes in 0.000s)
adb parameters: shell "cd /data/local/tmp && chmod +x /data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/iree-check-module"
adb parameters: shell "cd /data/local/tmp && mkdir -p /data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/test_tmpdir"
adb parameters: shell "cd /data/local/tmp && LD_LIBRARY_PATH=/data/local/tmp TEST_TMPDIR=/data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/test_tmpdir /data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/iree-check-module --module=/data/local/tmp/iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir/check_vulkan-spirv_vulkan_conv2d.mlir_module.vmfb --device=vulkan"
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from module
[ RUN      ] module.conv2d_nopadding
Segmentation fault
0% tests passed, 1 tests failed out of 1
Label Time Summary:
driver=vulkan            =   0.97 secproc (1 test)
iree/tests/e2e/linalg    =   0.97 secproc (1 test)
Total Test time (real) =   1.02 sec
The following tests FAILED:
5 - iree/tests/e2e/linalg/check_vulkan-spirv_vulkan_conv2d.mlir_on_android_device (Failed)
Errors while running CTest

D:\A_Jupyter\IREE\iree>ctest --test-dir ../iree-build-android/ -R vulkan_command_buffer_test_on_android_device --output-on-failure -V
Internal ctest changing into directory: D:/A_Jupyter/IREE/iree-build-android
UpdateCTestConfiguration  from :D:/A_Jupyter/IREE/iree-build-android/DartConfiguration.tcl
Add coverage exclude regular expressions.
UpdateCTestConfiguration  from :D:/A_Jupyter/IREE/iree-build-android/DartConfiguration.tcl
Test project D:/A_Jupyter/IREE/iree-build-android
Run command: cmake -E rm -rf D:/A_Jupyter/IREE/iree-build-android/test_tmpdir
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 578
Start 578: iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test_on_android_device
578: Test command: D:\A_Jupyter\IREE\iree\build_tools\cmake\run_android_test.bat "iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/vulkan_command_buffer_test"
578: Working Directory: D:/A_Jupyter/IREE/iree-build-android/runtime/src/iree/hal/drivers/vulkan/cts
578: Environment variables:
578:  TEST_ANDROID_ABS_DIR=/data/local/tmp/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test
578:  TEST_EXECUTABLE=D:/A_Jupyter/IREE/iree-build-android/runtime/src/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test
578:  TEST_TMPDIR=/data/local/tmp/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/test_tmpdir
578: Test timeout computed to be: 60
578: Requested adb command: iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/vulkan_command_buffer_test
578: Using adb executable: C:\Users\owner\AppData\Local\Android\Sdk\platform-tools\adb.exe
578: D:/A_Jupyter/IREE/iree-build-android/runtime/src/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test: 1 file pushed, 0 skipped. 225.0 MB/s (8629392 bytes in 0.037s)
578: adb parameters: shell "cd /data/local/tmp && chmod +x /data/local/tmp/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/vulkan_command_buffer_test"
578: adb parameters: shell "cd /data/local/tmp && mkdir -p /data/local/tmp/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/test_tmpdir"
578: adb parameters: shell "cd /data/local/tmp && LD_LIBRARY_PATH=/data/local/tmp TEST_TMPDIR=/data/local/tmp/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/test_tmpdir iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/vulkan_command_buffer_test "
578: [==========] Running 22 tests from 1 test suite.
578: [----------] Global test environment set-up.
578: [----------] 22 tests from CTS/command_buffer_test
578: [ RUN      ] CTS/command_buffer_test.Create/vulkan
578: [       OK ] CTS/command_buffer_test.Create/vulkan (76 ms)
578: [ RUN      ] CTS/command_buffer_test.BeginEnd/vulkan
578: [       OK ] CTS/command_buffer_test.BeginEnd/vulkan (16 ms)
578: [ RUN      ] CTS/command_buffer_test.SubmitEmpty/vulkan
578: Segmentation fault
1/1 Test #578: iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test_on_android_device ...***Failed    0.96 sec
Requested adb command: iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/vulkan_command_buffer_test
Using adb executable: C:\Users\owner\AppData\Local\Android\Sdk\platform-tools\adb.exe
D:/A_Jupyter/IREE/iree-build-android/runtime/src/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test: 1 file pushed, 0 skipped. 225.0 MB/s (8629392 bytes in 0.037s)
adb parameters: shell "cd /data/local/tmp && chmod +x /data/local/tmp/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/vulkan_command_buffer_test"
adb parameters: shell "cd /data/local/tmp && mkdir -p /data/local/tmp/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/test_tmpdir"
adb parameters: shell "cd /data/local/tmp && LD_LIBRARY_PATH=/data/local/tmp TEST_TMPDIR=/data/local/tmp/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/test_tmpdir iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/vulkan_command_buffer_test "
[==========] Running 22 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 22 tests from CTS/command_buffer_test
[ RUN      ] CTS/command_buffer_test.Create/vulkan
[       OK ] CTS/command_buffer_test.Create/vulkan (76 ms)
[ RUN      ] CTS/command_buffer_test.BeginEnd/vulkan
[       OK ] CTS/command_buffer_test.BeginEnd/vulkan (16 ms)
[ RUN      ] CTS/command_buffer_test.SubmitEmpty/vulkan
Segmentation fault
0% tests passed, 1 tests failed out of 1
Label Time Summary:
driver=vulkan                  =   0.96 secproc (1 test)
iree/hal/drivers/vulkan/cts    =   0.96 secproc (1 test)
Total Test time (real) =   1.02 sec
The following tests FAILED:
578 - iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test_on_android_device (Failed)
Errors while running CTest

I tried checking the LogCat of the actual device connected via USB, and I encountered a segmentation error as well. After some investigation, I suspect that this issue might be due to restrictions on Vulkan functionality because the device is not rooted. When I ran the same test on an emulator, it executed without any problems and was successful. Does this indicate that there are certain restrictions on Vulkan feature requests on the actual device? If so, using IREE as a final user-facing service would require a tricky business approach, such as rooting a large number of platforms equipped with Vulkan..
if there are no oversights in the version, I believe the current issue involves security measures on the actual device. Offering a service that leverages GPU computation would be a significant advantage, and if GPU computation is not available, it may not differ much from competitors' services. Therefore, I would like to see a clean state of operation.

I've successfully run the test on an emulator without any issues, but upon examining the execution log, it appears that the test did not actually perform the operations. Instead, it skipped the processes related to Vulkan, leading to a successful result.
`
578: Test command: D:\A_Jupyter\IREE\iree\build_tools\cmake\run_android_test.bat "iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/vulkan_command_buffer_test"
578: Working Directory: D:/A_Jupyter/IREE/iree-build-android/runtime/src/iree/hal/drivers/vulkan/cts
578: Environment variables:
578:  TEST_ANDROID_ABS_DIR=/data/local/tmp/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test
578:  TEST_EXECUTABLE=D:/A_Jupyter/IREE/iree-build-android/runtime/src/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test
578:  TEST_TMPDIR=/data/local/tmp/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/test_tmpdir
578: Test timeout computed to be: 60
578: Requested adb command: iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/vulkan_command_buffer_test
578: Using adb executable: C:\Users\owner\AppData\Local\Android\Sdk\platform-tools\adb.exe
578: D:/A_Jupyter/IREE/iree-build-android/runtime/src/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test: 1 file pushed, 0 skipped. 214.4 MB/s (8629392 bytes in 0.038s)
578: adb parameters: shell "cd /data/local/tmp && chmod +x /data/local/tmp/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/vulkan_command_buffer_test"
578: adb parameters: shell "cd /data/local/tmp && mkdir -p /data/local/tmp/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/test_tmpdir"
578: adb parameters: shell "cd /data/local/tmp && LD_LIBRARY_PATH=/data/local/tmp TEST_TMPDIR=/data/local/tmp/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/test_tmpdir iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/vulkan_command_buffer_test "
578: [==========] Running 22 tests from 1 test suite.
578: [----------] Global test environment set-up.
578: [----------] 22 tests from CTS/command_buffer_test
578: [ RUN      ] CTS/command_buffer_test.Create/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.Create/vulkan (91 ms)
578: [ RUN      ] CTS/command_buffer_test.BeginEnd/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.BeginEnd/vulkan (13 ms)
578: [ RUN      ] CTS/command_buffer_test.SubmitEmpty/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.SubmitEmpty/vulkan (13 ms)
578: [ RUN      ] CTS/command_buffer_test.CopyWholeBuffer/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.CopyWholeBuffer/vulkan (14 ms)
578: [ RUN      ] CTS/command_buffer_test.CopySubBuffer/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.CopySubBuffer/vulkan (23 ms)
578: [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size1_offset0_length1/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern1_size1_offset0_length1/vulkan (13 ms)
578: [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size5_offset0_length5/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern1_size5_offset0_length5/vulkan (19 ms)
578: [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length1/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length1/vulkan (13 ms)
578: [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length3/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length3/vulkan (14 ms)
578: [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length8/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length8/vulkan (11 ms)
578: [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset2_length8/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset2_length8/vulkan (12 ms)
578: [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern2_size2_offset0_length2/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern2_size2_offset0_length2/vulkan (14 ms)
578: [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset0_length8/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset0_length8/vulkan (16 ms)
578: [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset0_length10/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset0_length10/vulkan (16 ms)
578: [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset2_length8/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset2_length8/vulkan (13 ms)
578: [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern4_size4_offset0_length4/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern4_size4_offset0_length4/vulkan (15 ms)
578: [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern4_size4_offset16_length4/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern4_size4_offset16_length4/vulkan (15 ms)
578: [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern4_size16_offset0_length8/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern4_size16_offset0_length8/vulkan (13 ms)
578: [ RUN      ] CTS/command_buffer_test.FillBuffer_pattern4_size16_offset8_length8/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern4_size16_offset8_length8/vulkan (13 ms)
578: [ RUN      ] CTS/command_buffer_test.UpdateBufferWholeBuffer/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.UpdateBufferWholeBuffer/vulkan (11 ms)
578: [ RUN      ] CTS/command_buffer_test.UpdateBufferWithOffsets/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.UpdateBufferWithOffsets/vulkan (11 ms)
578: [ RUN      ] CTS/command_buffer_test.UpdateBufferSubspan/vulkan
578: iree/runtime/src/iree/../iree/hal/cts/cts_test_base.h:63: Skipped
578: Skipping test as default device for 'vulkan' driver is unavailable
578:
578: [  SKIPPED ] CTS/command_buffer_test.UpdateBufferSubspan/vulkan (20 ms)
578: [----------] 22 tests from CTS/command_buffer_test (411 ms total)
578:
578: [----------] Global test environment tear-down
578: [==========] 22 tests from 1 test suite ran. (413 ms total)
578: [  PASSED  ] 0 tests.
578: [  SKIPPED ] 22 tests, listed below:
578: [  SKIPPED ] CTS/command_buffer_test.Create/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.BeginEnd/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.SubmitEmpty/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.CopyWholeBuffer/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.CopySubBuffer/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern1_size1_offset0_length1/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern1_size5_offset0_length5/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length1/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length3/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset0_length8/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern1_size16_offset2_length8/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern2_size2_offset0_length2/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset0_length8/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset0_length10/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern2_size16_offset2_length8/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern4_size4_offset0_length4/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern4_size4_offset16_length4/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern4_size16_offset0_length8/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.FillBuffer_pattern4_size16_offset8_length8/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.UpdateBufferWholeBuffer/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.UpdateBufferWithOffsets/vulkan
578: [  SKIPPED ] CTS/command_buffer_test.UpdateBufferSubspan/vulkan
578: adb parameters: shell "cd /data/local/tmp && rm -rf /data/local/tmp/iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test/test_tmpdir"
1/1 Test #578: iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test_on_android_device ...   Passed    1.69 sec
The following tests passed:
iree/hal/drivers/vulkan/cts/vulkan_command_buffer_test_on_android_device
100% tests passed, 0 tests failed out of 1
Label Time Summary:
driver=vulkan                  =   1.69 secproc (1 test)
iree/hal/drivers/vulkan/cts    =   1.69 secproc (1 test)
Total Test time (real) =   1.78 sec`

Okay, this is highlighting some gaps in our logging and error handling. The CTS tests should be giving more information.
We could log the status values here, ideally with full stack traces: https://github.com/openxla/iree/blob/f97aa4dec694c6c484d8eb35fc8dc9ba14459544/runtime/src/iree/hal/cts/cts_test_base.h#L45-L66
I'd like to know why creation is failing "gracefully" in here: https://github.com/openxla/iree/blob/main/runtime/src/iree/hal/drivers/vulkan/vulkan_driver.cc.
I don't have an environment set up to test this on Android right now, but these flags on iree-run-module (e.g. iree-run-module --dump_devices) might give more info: https://github.com/openxla/iree/blob/f97aa4dec694c6c484d8eb35fc8dc9ba14459544/runtime/src/iree/tooling/device_util.c#L169-L175
I suspect this Vulkan device is missing some of the features that IREE requires (e.g. timeline semaphores - https://github.com/openxla/iree/issues/4494 has some background there, and https://github.com/KhronosGroup/Vulkan-ExtensionLayer supposedly can polyfill support for it).
As for the tests with check_ in their names, I think those are just assuming that device creation will succeed and crashing if it fails. Those should also handle/log the errors. Might just be a matter of changing which macro is used here: https://github.com/openxla/iree/blob/f97aa4dec694c6c484d8eb35fc8dc9ba14459544/runtime/src/iree/modules/check/check_test.cc#L68-L72

Thank you sincerely for the detailed suggestions. I will immediately investigate the cause of the error and explore possible solutions. Should I find any useful information, I will be sure to share it. IREE is an intriguing project, and I am wholeheartedly supportive of its progress.

I successfully executed 'iree-run-module' on the actual device. Additionally, I looked into VK_LAYER_KHRONOS_timeline_semaphore and found that it is not included in the device's Vulkan 1.1, indicating that the issues, as you suggested, seem related to this layer. I believe this problem will gradually resolve as app users transition to newer smartphones over time. Regarding the latest comment on https://github.com/openxla/iree/issues/4494 dated July 20, 2022, has there been any progress since then? I'm keen on using IREE due to its compatibility with SHARK and its support for residual connections in machine learning. However, losing all Vulkan 1.1 users in the market would be a tough decision.

I attempted to add functionality based on the provided URL using Vulkan 1.1 on physical hardware. However, it's important to note that the features presented are not intended to add functionality to all Vulkan 1.1 devices; they are meant to be compatible only with those that can be updated to Vulkan 1.2. Unfortunately, these features are not available on my physical device. This testing process took me a week. Instead of trying to show off, it's essential for our company to explicitly state that our system is not compatible with Vulkan 1.1 and may not work with the features from the URL. Thank you for not pretending without explaining the wasted time.
https://github.com/KhronosGroup/Vulkan-ExtensionLayer/tree/main


How to handle cannot find module

I am using string literals to dynamically import components based off text entered into my CMS. In the case that the user enters text for a component that does not exist, id love to be able to fallback.
In the below code i have tried using an ErrorBoundary, fallback of null, and a try/catch block, but i still get the 'Error: Cannot find module' error.
const ActualIcon = ({ icon }) => {
	try {
		const Icon = loadable(() => import(`../Icons/elements/${icon}`), {
			fallback: null,
		});
		return <Icon />;
	} catch (e) {
		return null;
	}
};

const FeatureIcon = ({ icon }) => (
	<ErrorBoundary>
		<ActualIcon icon={icon} />
	</ErrorBoundary>
);

Is there some other way i can prevent this error when trying to use loadable on a component that doesnt exist?

Have you tried a .catch on the import() call?

@foglerek what should catch return or do? i get the following error when i either return null or just window.console.log(error)
Uncaught TypeError: Cannot read property '__esModule' of undefined
    at resolveComponent (loadable.esm.js:325)
    at loadable.esm.js:215

You could do something like this, maybe even make a helper out of it if it's a pattern you use often?
import(`../${dynamicValue}`)
  .catch(err => console.error(err))
  .then(() => require('../fallbackComponent'));

@foglerek thanks for your help. The solution appears to be:
import(`../${dynamicValue}`)
  .catch(=> import('../fallbackComponent'));

otherwise the fallbackComponent is always rendered even if there is a successful import :)

Hey @haxxxton,
I'm having the same issue, did you manage to find a solid solution? If so, could you please share.
Thanks,
David


Color treshold with relative tresholds

Hi,
I am using the card for the electricity prices and I started using the color treshold feature with fixed/absolute tresholds but it is not completetely good solution.
I have the spot prices for each hour for span 24-48 hours and I would like to colorize the hours based on the value in the current span. Fixed values won't work if next week the prices are all 20 % higher thus will be all red (as bad).
Would be possible to add relative tresholds - something like lowest = dark green, second lowest = light green, middle value = yellow, second highest = orange, highest = red.

Still asking for the featur to be added


Packaging CI is running in fork repositories

https://github.com/mmurooka/QpSolverCollection/actions/runs/3667418654/jobs/6199881734#step:3:65
I think it should be disabled.

This should be fixed by the commit above (please rebase your branch to see the effet)
I only disable the upload step because I have found it useful in the past to keep the packaging job active (the packaging environment is more isolated than the regular CI environment and this helps to detect when dependencies are not specified correctly for the package we are building or when we are using incompatible CMake features)

@gergondet  Thank you, it worked. https://github.com/mmurooka/QpSolverCollection/actions/runs/3671841331


Vs Code as Default program remove custom context menus on files

When I choose VS Code as default program to open SQL files on Windows, my custom context menu elements on files are lost. Afterward, if I choose another program, the context menu items are back.

Anything?

We add those custom menu entries by adding a registry entry at "HKEY_LOCAL_MACHINE\Software\Classes\sql_auto_file\shell\...".
Here is an example :

Yeah but you're restricting them to the sql_auto_file type. VS Code will change the type to something like VSCode.sql when associating the file with it. You can add your menu entries to that type in order to still get them.

I'm not sure to understand to what type of file I should associate the menus. The VSCode.sql type does not seem to exists.

Here is the entry :

And still nothing on the context menu :

That's odd. How about under VSCodeSourceFile?

Already tried that, but no more results...

What is the value of HKCR/.sql/(Default)?

The value is sql_auto_file

I'm out of clues then. On my system, I set up the keys within sql_auto_file and they appear in the Explorer menu. :/


Add global --root and --project flags to allow ddev to run in any directory

Is your feature request related to a problem? Please describe.
Remote ddev server
Describe the solution you'd like
The ability to run ddev commands for a specific project without having to know the path of the project, navigating to the project path and then executing command in that directory.
Currently, I'm using a very complicated jq command to extract the approot of a project name. This requires actually installing jq and proxying the commands via the following script (ddev-proxy):
#!/usr/bin/env bash
# ddev-proxy [PROJECT_NAME] [DDEV COMMAND]
DDEV_PROJECT_NAME=$1 && shift
[[ -z "$DDEV_PROJECT_NAME" ]] && echo "A ddev project name must be the first argument provided" && exit 1
DDEV_PROJECT_APPROOT=$(ddev list -j | jq -r ".raw[] | select(.name | contains(\"$DDEV_PROJECT_NAME\")).approot")
[[ -z "$DDEV_PROJECT_APPROOT" || ! -d "$DDEV_PROJECT_APPROOT/.ddev" ]] && echo "Unable to determine the \"$DDEV_PROJECT_NAME\" ddev directory: $DDEV_PROJECT_APPROOT" && exit 1
cd "$DDEV_PROJECT_APPROOT"
ddev $@

This allows me to setup an alias on my local:
alias rddev='ssh <IP_ADDRESS> "source ~/.profile && ddev-proxy"'

Then I can simply execute the following on my local:
rddev quo describe

What I would prefer, is to not have to proxy the commands via a custom script at all and instead call ddev directly:
alias rddev='ssh <IP_ADDRESS> ". ~/.profile && ddev --project "'

Describe alternatives you've considered
Clearly, the above technically works... but it's just more work than is necessary to extract the approot and execute a command for that project. It would be nice if this was just supported natively.
Additional context
None

Most ddev commands take the project as the first argument. For example ddev ssh <projectname or ddev start projectname. Some take multiple projects as args. ddev describe <projectname> works.
Does that solve your problem?

Not really, no. Primarily because it has to be the first arg after the command name.
Some of my most frequently used commands don't allow that, specifically because they take their own arguments after the command name:
ddev config
ddev drush
ddev exec

ddev config can never work... because the project doesn't exist yet in most cases. It must be run in the directory where the project is.
ddev drush is a custom command, you can make it do anything you want. Simple to add any kind of argument to it.
ddev exec absolutely should have a --project arg, it would really help that.

ddev config can never work

I get what you're saying, but if you already have a project with a name, then it should work just fine (does in my example above).
If you wanted to create a new project (initializing config), then yes, a --directory or perhaps more aptly named --root argument would be the only alternative.

ddev drush is a custom command, you can make it do anything you want. Simple to add any kind of argument to it.

No, because the custom command only exists in a specific project. One would have to first navigate to the project and then run the custom command.
What I'm proposing here is that if a --project option is specified (right after ddev) then ddev looks up the approot for the project and changes directory before continuing. This would allow said custom commands to actually work.

ddev exec absolutely should have a --project arg, it would really help that.

They should all have one. That's the point I'm trying to make.
Choosing which command has this option and which doesn't would be very confusing.
Actually, I can see use cases for both:

--root - essentially a "cwd" option that allows you to specify which directory ddev should be executed in.
--project - essentially a shortcut that looks up the approot of an existing project name and uses that as the --root

A global flag is a reasonable thing. I don't see how it would hurt anything, and could really help.

I really think both flags should be added and I think it makes sense to do them at the same time.

This is a great idea. I ran into a technical challenge when trying it out, chicken-and-egg problem of when commands and flags are created. Asked about it in https://stackoverflow.com/questions/61142797/dynamic-creation-of-cobra-commands-based-on-directory-specified-by-flag

Just came across this when I was starting to implement https://github.com/ddev/ddev/issues/4416#issuecomment-1901847995 - these are basically two ways of handling the same (or at least a related) problem, and they conflict with each other.
Looks like we have two options here:

Implement https://github.com/ddev/ddev/issues/4416#issuecomment-1901847995.  What's more, that will only be available for global host commands which use the new CanRunGlobally annotation.
Implement the flag globally. All host commands are then basically implied as being able to run globally, so the work in #5702 would need to be tweaked to just always show all host commands. We could probably also do the same for all global container commands - just let them all be run globally. If there's no --project passed or the value passed in invalid throw an error, but otherwise run the command as though it's run in that project.

1 is obviously easier, and leaves the list of commands when you run ddev help tidier. But it's also a lot less powerful.
2 is more powerful, since you can now run all global commands globally - but it potentially pollutes the ddev help command list with a bunch of commands you only run once in a blue moon or for project types you don't use often, etc.
Happy to do either, but I don't want to start working on it without some input since these options are mutually exclusive.

IIRC this issue is about running a project command from anywhere and providing context to it about the project it's to run in, it's not about global commands. And it's intended for all (project-level) commands, not just custom commands.

OH! I don't think that would be practical, since you'd have to either parse the flag before the command you're using it with exists (which I don't think is possible), or include all project commands for all projects as though they're global (which would be messy at best and collision hell at best).
That said - I do think doing this for global service commands might have some merit. Do you have any thoughts on that front?

Can you give an example how you'd use it with global commands? I don't immediately understand how that would help, given the work you've already done.
I haven't thought about it carefully, but as fancy as this stuff is I'd be surprised if we couldn't capture the flag processing early. And you'd be the one to do it!

Can you give an example how you'd use it with global commands? I don't immediately understand how that would help, given the work you've already done.

The work I've already done only applies to global host commands - and it doesn't provide any information about projects e.g. through a flag or argument.
This would be a way to a) provide that extra context, and b) allow global service commands to also be used from anywhere - basically the exact same thing this issue is suggesting, except only for global commands, not project-level commands.
That said, if what you want is a flag that gets pre-processed and dynamically sets up the commands for the project named in the flag.... I can try to figure out a way to do that. At worst I'll be able to show why it isn't possible, at best we'll both get a way to do what we're trying to do 👍

I've created https://github.com/ddev/ddev/pull/5863 to tackle this


Move buttons to AppMenu, link them to focused window and fix bug with tooltip

As you can see from title, this PR is based on #97.
Fixed bugs from the main branch:

Bug with tooltip. When you open app menu, tooltip has been also showing simultaneously behind app menu. This looks weird, so now tooltip will not show when app menu is opened.
Fix for null label from PR #101 is also included because I made by changes locally with this pull-request merged.

Fixed bugs with window buttons from PR #97:

Bug with buttons position. Sometimes app menu is not initialized completely when buttons are being added and they are added before "triangle" of appmenu. I moved buttons from appmenu containter to the panel directly and now this problem is gone.
Bug with dragging buttons. If you drag window button from panel, the panel will become non-responsive until you click on appmenu. I fixed this by changing St.Button to St.Icon.

Hi,
Looks like you have a ton of interesting changes in there, but this isn't really in a shape to be reviewed. Let's start with bug fixes. Could you make PRs for each of them ? That should be mergeable fairly easily.

Yes, I made a lot of commits after this PR was created, so now it is better to split it into small ones.
But what do you think about the idea itself? As for me, buttons in AppMenu container look much micer and does not shift all icons in the right panel container when window is begin maximized/minimized. Changing button layout for window titles in dconf-editor also changes position of buttons on panel.
I've added a screenshow showing how this looks like.

Merge "tooltip fix" please (#99)

Fix bug with tooltip please


Start porting to Python 3

As an IMPROVER developer, I want to know how difficult it will be to port IMPROVER to Python 3, so that I can plan migration timescales to ensure that the necessary work is completed before Python 2 is no longer supported.
Related issues: Epic #265
Prerequisites: The code should already have been ported to Iris 2: See Epic #215
Acceptance criteria:

Use the 2to3 tool on the existing IMPROVER codebase.
Make simple updates to upgrade the codebase to be Python 3 compatible. Backwards compatibility to Python 2 is not required.
If complex compatibility issues exist, then these can be captured in follow-on work.
Estimate the amount of time required to port the remainder of the code to Python 3 – update this ticket with a plan if appropriate (non-trivial).

Ported to Python 3 in #558


[edn/dv] Randomize regwen for most tests

This PR randomizes regwen for most of our tests. Some further changes were needed to avoid failing vseqs.
Closes #19028

@vogelpi thanks for reviewing, I fixed the lint error and addressed all your comments. I'll run a full regression with coverage results and if everything looks good I think we can merge this.

EDN Simulation Results

EDN Simulation Results
Monday August 12 2024 07:11:51 UTC
GitHub Revision: 979e36ee42
Branch: edn-randomly-enable-regwen
Testplan
Simulator: VCS
Test Results

Stage
Name
Tests
Max Job Runtime
Simulated Time
Passing
Total
Pass Rate

V1
smoke
edn_smoke
1.290s
16.321us
50
50
100.00

V1
csr_hw_reset
edn_csr_hw_reset
1.270s
20.362us
5
5
100.00

V1
csr_rw
edn_csr_rw
1.230s
15.213us
20
20
100.00

V1
csr_bit_bash
edn_csr_bit_bash
6.910s
704.255us
5
5
100.00

V1
csr_aliasing
edn_csr_aliasing
1.810s
204.491us
5
5
100.00

V1
csr_mem_rw_with_rand_reset
edn_csr_mem_rw_with_rand_reset
2.450s
107.490us
20
20
100.00

V1
regwen_csr_and_corresponding_lockable_csr
edn_csr_rw
1.230s
15.213us
20
20
100.00

edn_csr_aliasing
1.810s
204.491us
5
5
100.00

V1

TOTAL

105
105
100.00

V2
firmware
edn_genbits
2.026m
10.042ms
299
300
99.67

V2
csrng_commands
edn_genbits
2.026m
10.042ms
299
300
99.67

V2
genbits
edn_genbits
2.026m
10.042ms
299
300
99.67

V2
interrupts
edn_intr
1.550s
22.232us
50
50
100.00

V2
alerts
edn_alert
2.170s
461.675us
200
200
100.00

V2
errs
edn_err
1.700s
53.896us
100
100
100.00

V2
disable
edn_disable
1.200s
13.867us
50
50
100.00

edn_disable_auto_req_mode
1.870s
44.512us
50
50
100.00

V2
stress_all
edn_stress_all
8.360s
376.693us
50
50
100.00

V2
intr_test
edn_intr_test
1.270s
211.335us
50
50
100.00

V2
alert_test
edn_alert_test
1.400s
26.082us
50
50
100.00

V2
tl_d_oob_addr_access
edn_tl_errors
5.060s
311.763us
20
20
100.00

V2
tl_d_illegal_access
edn_tl_errors
5.060s
311.763us
20
20
100.00

V2
tl_d_outstanding_access
edn_csr_hw_reset
1.270s
20.362us
5
5
100.00

edn_csr_rw
1.230s
15.213us
20
20
100.00

edn_csr_aliasing
1.810s
204.491us
5
5
100.00

edn_same_csr_outstanding
1.810s
34.628us
20
20
100.00

V2
tl_d_partial_access
edn_csr_hw_reset
1.270s
20.362us
5
5
100.00

edn_csr_rw
1.230s
15.213us
20
20
100.00

edn_csr_aliasing
1.810s
204.491us
5
5
100.00

edn_same_csr_outstanding
1.810s
34.628us
20
20
100.00

V2

TOTAL

939
940
99.89

V2S
tl_intg_err
edn_sec_cm
6.570s
653.045us
5
5
100.00

edn_tl_intg_err
3.740s
139.427us
20
20
100.00

V2S
sec_cm_config_regwen
edn_regwen
0.920s
15.410us
10
10
100.00

V2S
sec_cm_config_mubi
edn_alert
2.170s
461.675us
200
200
100.00

V2S
sec_cm_main_sm_fsm_sparse
edn_sec_cm
6.570s
653.045us
5
5
100.00

V2S
sec_cm_ack_sm_fsm_sparse
edn_sec_cm
6.570s
653.045us
5
5
100.00

V2S
sec_cm_fifo_ctr_redun
edn_sec_cm
6.570s
653.045us
5
5
100.00

V2S
sec_cm_ctr_redun
edn_sec_cm
6.570s
653.045us
5
5
100.00

V2S
sec_cm_main_sm_ctr_local_esc
edn_alert
2.170s
461.675us
200
200
100.00

edn_sec_cm
6.570s
653.045us
5
5
100.00

V2S
sec_cm_cs_rdata_bus_consistency
edn_alert
2.170s
461.675us
200
200
100.00

V2S
sec_cm_tile_link_bus_integrity
edn_tl_intg_err
3.740s
139.427us
20
20
100.00

V2S

TOTAL

35
35
100.00

V3
stress_all_with_rand_reset
edn_stress_all_with_rand_reset
49.703m
423.226ms
49
50
98.00

V3

TOTAL

49
50
98.00

TOTAL

1128
1130
99.82

Coverage Results
Coverage Dashboard

SCORE
LINE
COND
TOGGLE
FSM
BRANCH
ASSERT
GROUP

95.39
98.25
93.97
97.02
90.70
96.37
99.77
91.68

Failure Buckets

Job timed out after * minutes has 1 failures:

Test edn_stress_all_with_rand_reset has 1 failures.

10.edn_stress_all_with_rand_reset.93804031335078303766985448999752500070018427526666961059008266540639161609078
Log /home/dev/src/scratch/edn-randomly-enable-regwen/edn-sim-vcs/10.edn_stress_all_with_rand_reset/latest/run.log
  Job timed out after 180 minutes

UVM_FATAL (csr_utils_pkg.sv:584) [csr_utils::csr_spinwait] timeout edn_reg_block.main_sm_state (addr=*, Comparison=CompareOpEq, exp_data=*, call_count=9) has 1 failures:

Test edn_genbits has 1 failures.

67.edn_genbits.88099762551262341366979917474357664330102249164518626536178446647771103134480
Line 70, in log /home/dev/src/scratch/edn-randomly-enable-regwen/edn-sim-vcs/67.edn_genbits/latest/run.log
  UVM_FATAL @<PHONE_NUMBER>5 ps: (csr_utils_pkg.sv:584) [csr_utils::csr_spinwait] timeout edn_reg_block.main_sm_state (addr=0xb33f8644, Comparison=CompareOpEq, exp_data=0x161, call_count=9)
  UVM_INFO @<PHONE_NUMBER>5 ps: (uvm_report_catcher.svh:705) [UVM/REPORT/CATCHER]
  --- UVM Report catcher Summary ---

I'll have a look at the failures but I think this looks good.

So I've fixed the second failure. For the first failure I invested quite some time, but I don't think I'll find the solution any time soon without changing my setup. The issue seems to be that when the reset is triggered for the edn_stress_all_with_rand_reset test, some agent isn't killed properly and is stuck in some sort of infinite loop. The 0th endpoint on the edn_i interface is requesting entropy and is not going low. I think my time is better invested somewhere else.

Thanks @h-filali , this sounds reasonable to me. I am merging this PR now.


minor ui fix

pull both one after other even ruthwik will get the contribution mine will work i checked u can pull mine also

pull both one after other even ruthwik will get the contribution mine will work i checked u can pull mine also

if you check above on the pull-request it says files-changed 0, if that is the case, there will be no contribution reflecting on contributions also

leave let his name be in commits atleast

leave let his name be in commits atleast

pull this branch and check if nothing is wrong, if yes let me know

I only sent that code no errors u can pull

I only sent that code no errors u can pull

your responsibility!


improve ExperimentalUnpackSkikoWasmRuntimeTask Gradle Config Cache compatibility

partially fixes #2587, but does not fix the project.configurations, which requires more work.

@aSemy Hi! I was working on the same thing recently. The issue is fixed completely in the following PR: https://github.com/JetBrains/compose-jb/pull/2607
Since that PR is more complete and this one is also a draft, I'm closing this PR.
Thanks for your efforts!


[ZEPPELIN-4787] HTML output in Cassandra interpreter is broken

What is this PR for?
For a some unknown reason, previously working tags, like, <i ... />, and <div .. />,
stopped working, and were need fixing.
Besides that fix, this changeset also includes minor formatting changes for better
representation of information
What type of PR is it?
Bug Fix, Improvement
What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-4787

How should this be tested?

https://travis-ci.org/github/alexott/zeppelin/builds/709947972
tested manually

Screenshots (if appropriate)

LGTM


Tests are failing when no roles are configured for organization

Tests are failing when no roles are configured for organization. It's necessary to add at least one role.
Perhaps it makes sense to add this information to the readme or updating the test code.
I'm up for doing the pull request for this.

Class
Test Method
Error
Stack Trace

ConvertAttachmentsToFilesServiceTest
test_fail_convert_0size_attachment
System.QueryException: List has no rows for assignment to SObject
Stack Trace: Class.ConvertAttachmentsToFilesServiceTest.test_fail_convert_0size_attachment: line 130, column 1

ConvertAttachmentsToFilesServiceTest
test_no_delete
System.QueryException: List has no rows for assignment to SObject
Stack Trace: Class.ConvertAttachmentsToFilesServiceTest.test_no_delete: line 208, column 1

ConvertAttachmentsToFilesServiceTest
test_no_duplicates
System.QueryException: List has no rows for assignment to SObject
Stack Trace: Class.ConvertAttachmentsToFilesServiceTest.test_no_duplicates: line 539, column 1

ConvertAttachmentsToFilesServiceTest
test_special_characters
System.QueryException: List has no rows for assignment to SObject
Stack Trace: Class.ConvertAttachmentsToFilesServiceTest.test_special_characters: line 16, column 1

ConvertAttachmentsToFilesServiceTest
test_no_share_private_attachments_with_parent_record
System.QueryException: List has no rows for assignment to SObject
Stack Trace: Class.ConvertAttachmentsToFilesServiceTest.test_no_share_private_attachments_with_parent_record: line 373, column 1

ConvertAttachmentsToFilesServiceTest
test_yes_delete
System.QueryException: List has no rows for assignment to SObject
Stack Trace: Class.ConvertAttachmentsToFilesServiceTest.test_yes_delete: line 289, column 1

ConvertAttachmentsToFilesServiceTest
test_yes_share_private_attachments_with_parent_record
System.QueryException: List has no rows for assignment to SObject
Stack Trace: Class.ConvertAttachmentsToFilesServiceTest.test_yes_share_private_attachments_with_parent_record: line 458, column 1

Hi @nikitakarpenkov,
Interesting, don't think I've tested in an org without a role in it. I'll check it out. Feel free to submit a pull request too if you'd like.
Unless you're wanting to make changes to the source code itself, you can try installing the managed package and avoid the tests altogether.
Thanks,
Doug


Homepage Contact Us Bug

There is a bug sending an email, the email is not being sent.
Using React Email lib for this.

Test in production


Add elapse feature to VSCode to give overview of all functions that exists in a .al file

When creating multiple functions in an AL file there is no overview yet available in VSCode to shows me in one glance what functions do reside in an AL file.
Taking the example of COD70000600 in the TowersOfHanoi AL example VSCode shows me now:

The only way to find out what function the file SolveTowersOfHanoi.al contains is to browse through the file and find out.
It would be great is VSCode would show this like Visual Studio already does like it the following example:

The following mockup visualizes it somewhat:

Maybe the use of icons in front of the function (like in VS) would make it even better.
Justification
This would make a developers productivity much higher.

VS Code implements this functionality in a slightly different way:
https://code.visualstudio.com/docs/editor/editingevolved#_go-to-symbol
Try it through Go -> Go To Symbol in File ...  or keyboard shortcut Ctrl + Shift + O
If you type ":" as the first character in the prompt the symbols will be grouped by type

Hi Stanislaw,
Thanx, but it is somewhat cumbersome as you do not have overview over multiple files and the developer needs to type this every time again. Somewhat counter productive IMHO.
Or is there another trick to achieve that?

Hi Luc,
did you try an extension?  I just searched and found this:

simply press "Shift+Windows+A" and you have this kind of thing:

in a "window on the side" - and you can click and navigate to the symbol .. .

Thanx, Eric. Installed and going to use and see. First question: any idea what the "categories"  Arr, Pro, Cla, Int etc. are meaning? Looking at https://marketplace.visualstudio.com/items?itemName=igbenic.symbolstreeview I did not get any info.

Well - I know it doesn't make sense .. but ..:
Arr = Array
Cla = Class
Pro = Property
You can find out when you look at the extension-details in VSCode.. .
don't know why it makes these mappings..


Update dev deployment of biosimulators along with prod when processing simulator submissions

I have been keeping the two in sync manually by copying over the database every so often, but posting the results to dev as well would be an easier way to manage this

I can do that. Easy to change.


Openx: use bidfloor if set - prebid.js adapter behavior

Fixes bug that set bidfloor to null when customFloor not given (so almost always)
Implements behavior in https://github.com/prebid/Prebid.js/blob/master/modules/openxBidAdapter.js#L495
Ref https://github.com/prebid/prebid-server/issues/1787
Same change as https://github.com/prebid/prebid-server/pull/1795 for PBS-Go

Added unit tests and simplified the code, passing bidfloor with fallback to customFloor.
I did notice that no other adapter gives priority to incoming bidfloor from the standard place, so we may revisit this choice.


Sample utterances for chatbot

@adityagupta1 to provide a list of initial utterances for Star Wars questions

Lightsaber color
What color is ____'s lightsaber?
Home planet
What planet is ____ from?
Where is ____ from?
What planet was ____ born on?
Dialogue
Who said this line: "____"?
Who said "____"?
Favorite lightsaber combat form
What combat form did ____ prefer?
____ preferred what combat form?
Ship
What ship did ____ primarily use?
What was ____'s ship?
Species
What species is ____?
____ belongs to what species?
What kind of creature/person is ____?
Side of force
What side of the force was ____ on?
Was ____ on the Light or Dark side of the force?
Was ____ affiliated with the Jedi or the Sith?
Weapon
What weapon did ____ prefer?
What weapon did ____ use?
What was ____'s weapon?

Did ____ die in the movies?
Force
Is ____ force-sensitive?
Can ____ use the force?

Introduction
Which episode was ____ introduced in?
____ was introduced in which episode?
Which episode was ____'s first appearance?


Automated Package Upgrade

:tada: This PR is included in version 25.5.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Put colors according to directory

I moved the colors by directory (dark and light directory) for easy to access.

Thank you for your contribution, but I don't know if this is a good idea.
We would need to rewrite the script we use to make automated releases, as it expects the current directory structure.


az synapse workspace-package upload command results in TypeError: LibraryOperations.append() missing 1 required positional argument: 'content'

Related command
az synapse workspace-package upload
Describe the bug
az synape workspace upload command does not produce the same result as when few days ago. It no longer uploads the provided packages to the Azure Synapse Workspace. Instead it fails with the below traceback.

To Reproduce
Azure Synapse environment with a sparkPool set-up is required. To reproduce in a local environment. Make sure to be permitted to connect to Synapse from local. Have the package in a local dir and provide the path alongside the workspace name to az synapse command.
Example:
az synapse workspace-package upload --file 'file.whl' --workspace-name 'subscription'
Expected behavior
To succesfully upload the workspace package to the Synapse workspace.
Environment summary
ubuntu version               Ubuntu 20.04.5 LTS
azure-cli                          2.42.0
core                                 2.42.0
telemetry                         1.0.8
Dependencies:
msal                                 1.20.0
azure-mgmt-resource      21.1.0b1
Python location '/opt/az/bin/python3'
Extensions directory '/home/AzDevOps_azpcontainer/.azure/cliextensions'
Python (Linux) 3.10.8 (main, Oct 28 2022, 04:19:40) [GCC 9.4.0]
Additional context
Probably related issue then with upload batch command (https://github.com/Azure/azure-cli/issues/24700)

route to CXP team

I am facing similar issue. This is breaking release pipelines.

I think it is a bug introduced in azure-cli=2.42.0 or core=2.42.0, I just checked our logs from before and it worked with azure-cli=2.41.0 and core=2.41.0. All of our deployment pipelines crash since yesterday due to this error .

@tschouunas Thank you for reaching out, we are looking into it.

For anyone else looking, there is a work-around for Azure DevOps pipeline tasks to revert to an older version until the issue is being fixed: https://stackoverflow.com/questions/72556823/how-to-specify-version-for-az-cli-in-azure-pipelines-in-yaml

Any news when an update will be available?

Any news when an update will be available?


Can't create new users when using set-up described in Readme

I've tried following the instructions in the README, and am not successfully getting react-news to create new users after setting up my own Firebase DB.
I'm not familiar with Firebase and am probably missing something simple!
Steps to repro:

Create a new Firebase DB
Copy-and-paste Firebase config from README to Security & Rules in Firebase DB
Set Firebase url in constants.js to a new Firebase DB
Register as new user
Get "Something went wrong" error

Try what I think is the update format in the Simulator and get "No .write rule allowed the operation"

Is there another step? If so, I'm happy to screenshot doing that and submit a pull request for the README.

@juniorbird Hmm, That's interesting. I'm not exactly sure what's happening, but you might want to throw a console.log here to see what the actual error code is. I haven't used the simulate feature, but I believe it's only set up to allow writes to /users/:userId, not /users. Once the user is created, I get the UID and create the user profile. Does this help?

That got it! The console.log pointed me in the right direction -- a small Firebase config thing. I'll submit a very tiny pull request with a README update. Thanks for your help!

@juniorbird That's great, thank you!


Allow multi-step protocols

The whole idea of stepwise is to break protocols up into small pieces.  That PO₄ can only handle one protocol at a time really does not work well with that idea.
Syntax: could use ; or | as a separator.
Semantics: Would connect commands with pipes, obviously.  The hard part is grouping.  I'll need to think more about that...

One problem is that subsequent commands can't get passed the same list of constructs, because much of that information (e.g. name, concentration, etc.) doesn't apply anymore.  For example, imagine I want to do PCR followed by PCR cleanup.  The inputs to the cleanup are the products from the PCR reaction.  The database doesn't know anything about those products.
One idea is that any commands after the first would just get a number of constructs.  Or maybe a list of "AnonymousConstruct" objects that would have references to the parent object: this is better because it presents the same interface to every protocol (list of constructs), and all the information is available if necessary (e.g. the protocol could look at the upstream constructs, see that the primary protocol is PCR, and assume a concentration of 50 ng/µL based on that).  This would mean that protocols written to use information from the database couldn't come after other protocols, but that's not such a bad thing. If you really want a primary protocol in a secondary position, you can always make another database entry and specify all of its information.
A list of secondary protocols, just to see if I can find any good counter-points:

PCR cleanup
Gel purification
Bead purification
Phenol/chloroform extraction
Ethanol precipitation
Lyophilization
RNase zap
Electrophoresis

All of these would work with just the number of reactions, which would be handled pretty seamlessly by this architecture.

I could also add a CMD protocol, which would just give a command-line verbatim.  This misses out on the ability to be smart about master mixes and such, but it's a feature that should exist nonetheless.

Another consideration is that protocols are used to determine the sequence of database entries.  This is another thing that becomes unclear when there are multiple protocols.  I think I can apply the same thinking as above, though: only the primary protocol is queried for this information.
I'm starting to think that it might be better to draw a more explicit distinction between "protocols" and "cleanup steps".  For instance, making them separate columns in the database.  Basically, a protocol would be something that changes the sequence, while a cleanup step would be something that doesn't.  It follows that there can only be one "protocol" (might want to think of a more specific name, maybe "synthesis"), but multiple cleanups.  It also follows that the inputs to the cleanup steps should be the constructs in question, because the sequence is known once the primary protocol completes.


Put data files in PREFIX/share on non-Windows platforms

This is primarily just #264 by @d235j - I just cherry-picked, let kdiff auto-resolve conflicts, and tweaked Win behavior.
A quick thumbs-up/thumbs-down would be good to make sure I didn't break things in ways that Travis-CI isn't testing.
Closes some subset of the issues listed in #265.

Works, though is $BUILDDIR/data a good place to put these files in the build tree? Or should they stay in bin? (share doesn't exist in the build tree...)

Well, it doesn't actually matter - we could have share exist in the build tree, that would be fine. The main goal was just to make it possible to run from both a build tree and an install tree without much pain, and Visual Studio (slash multi-configuration generators - I have no idea how a modern XCode organizes its output files) is typically the stumbling block for that goal.

I decided to have them copied in a build tree to a parallel location as they'd be in an install tree, to hopefully simplify search logic.


hooks: startsWith not working

Describe the bug
When hooks are not called, and sfsu search is used directly, the search is performed as startsWith (normal/expected behavior), but when a hook is used, and sfsu is called with scoop search, startsWith no longer works.
To Reproduce
Steps to reproduce the behavior:

Enable hooks
sfsu search ...
scoop search ...

Expected behavior
startsWith searching
Full Output

Version 1.4.2

for me it's happening with any query

Ah this is my bad, I had an issue with my hooks, and didn't realize, sry for the trouble


feat: UI updates

Add status bar
Update network tags

:tada: This PR is included in version 1.182.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Dev fixed drone integration

currently this dev plants new builds into brbuxton's docker hub.  We need to create a shared space for the team.

The build is failing.
[info] decrypting encrypted secrets: square/go-jose: error in cryptographic primitive
I pinged Hank in Spark.  I am not going to bother noting an issue unless I cannot fix it in the next day or two.


Use SLF4J Logger in more places

Use only an SLF4J Logger instead of the Gradle Logger in places where it is enough. This is going to make this code more easy to reuse as it doesn't depend on :logging anymore.

Where did you stop using the SLF4J logger instead of the Gradle logger? It seems that there are many more places which could use the SLF4J logger.

I initially tried to convert as much as possible, but we do expose our own Logger on Task and Project and a couple other places, and it seeps further down. There's also a bunch of places where we use LIFECYCLE or LogLevel that I didn't feel comfortable changing.
I switched mostly the types that I expect will be needed outside Gradle soon, where cutting ties with :logging makes sense. This is by no means a full conversion.


rio_* crates are not actively maintained - maybe instead use oxrdf

The maintainer of rio_api, rip_turtle and rio_xml no longer actively maintain those packages and has shifted to instead use component from his own Oxigraph project - e.g. oxrdf.
Please consider switching from rio_* to ox* crates.

Thanks for reporting this issue.
Moving to ox* crate is indeed planned, and covered by #162.


Camera

Am I understanding correctly that the orthographic camera is always at 0,0,0, and the mesh is what gets moved into place during pncc_processor.py?
I’m trying to see if I can get the saved .obj imported into a 3D program like Blender or C4D, with an ortho cam, and have it match the placement of the input image.

Answering my own question:

The mesh is moved from 0,0,0.
The location is determined by the width/height of the footage.
You can normalize the location, and make it resolution independent

                    # Store data at the correct frame index                     norm_factor = 640/width                     vertices = head.vertices.copy()                        vertices *= norm_factor                     vert_center = np.mean(vertices, axis=0)

Then the camera is focal point 0, haperture 640, vaperture 480

Exporting a Nuke camera for the .obj. Others could use this for different 3D DCCs.
`def export_nuke_camera(output_path, fps, width, height):
"""Export camera data in a format readable by Nuke's Camera [3D] node"""
nk_file_path = output_path.replace('.abc', '_camera.nk')

# Calculate camera parameters based on screen dimensions
translate_x = -(width/2)
translate_y = height/2
translate_z = -1500  # Move camera back to avoid clipping
rotate_x = 0
rotate_y = 180  # Rotate 180 degrees around Y axis
rotate_z = 0

# Write Nuke script with Camera3D node
with open(nk_file_path, 'w') as f:
    f.write("Camera2 {\n")
    f.write(" inputs 0\n")
    f.write(f" translate {{{translate_x} {translate_y} {translate_z}}}\n")
    f.write(f" rotate {{{rotate_x} {rotate_y} {rotate_z}}}\n")
    f.write(" projection_mode \"orthographic\"\n")
    f.write(f" focal {1}\n")
    f.write(f" haperture {width}\n")
    f.write(f" vaperture {height}\n")
    f.write(" near 0.1\n")
    f.write(" far 10000\n")
    f.write(" name Camera1\n")
    f.write("}\n")

print(f"Exported Nuke camera data to: {nk_file_path}")`


Change grey 3

What is the context of this PR?
Fixes: #1027 and #1026
How to review

Check grey 3 looks correct
Check grey on:

Collapsiable
Doanloads
Download resources
Sortable Table
Paternlib example
Footer hr

 Issue #1026: footer__hr is too dark.  Suggest using a new $color-grey-3 (#ACACAC)

 Issue #1027: $color-grey-4 is too close to $color-grey-3 in level of lightness.


Fixing enum34 requirement for python versions <= 3.4 in setup.py

Was running into error on Python3.6 and pip 18.1
error in absl-py setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Expected version spec in enum34;python_version<='3.4' at ;python_version<='3.4'

Using the install_requires and extra_requires fixed my problems, and is ostensibly a better way to do this see reference here.

I signed it!

Hi Alex,
Thanks for the PR, but I'm prepping a different fix.
btw, this is being trackd in https://github.com/abseil/abseil-py/issues/79
Please chime in with your OS, Python version, pip version, and setuptools version (see issue for commands on how to get these) if it isn't already listed there.

Oh, and that bug also has a link to the upcoming fix that you can try; if it doesn't work for you, please chime in on the bug to let me know.

Closing, since the other commit fixed this.


Primary and Secondary Reviewers

Description
Reviewers are shifting when they have submitted a review. Primary reviewer should always appear on top, over secondary reviewer. Please remove 'Avg. Score' from reviewer panel.
Related
https://github.com/HyphaApp/hypha/pull/3548

'Avg. Score' is now inly visible if it is not 0, since OTF no longer use score it would never be visible for OTFs submissions.

@fourthletter  Can you link to an submission on test where this problem with spring is in effect?

@fourthletter Opinions are always show below the review they are related to.

Thank you for clarifying