salesforce/reactive-grpc

`reactor-grpc-1.2.4-osx-x86_64.exe` is removed from mac on intel

velykanov opened this issue · 1 comments

Hello guys!
I haven't found any identical issues so creating a new one.
I have an issue installing com.salesforce.servicelibs:reactor-grpc:1.2.4.

What seems to be a problem

reactor-grpc-1.2.4-osx-x86_64.exe is constantly being removed which then causes the following error while trying to generate code from proto:

% ./gradlew generateProto
> Task :generateProto FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':generateProto'.
> protoc: stdout: . stderr: --reactor_out: protoc-gen-reactor: Plugin killed by signal 9.

The folder where lib executables must be is empty

% ls -R -la ~/.gradle/caches/modules-2/files-2.1/com.salesforce.servicelibs/reactor-grpc/1.2.4
total 0
drwxr-xr-x  4 user  group  128 Mar 29 14:19 .
drwxr-xr-x  3 user  group   96 Mar 29 14:19 ..
drwxr-xr-x  3 user  group   96 Mar 29 14:19 78dede6b59e1d96aa496fc4a2dff371bc83f2267
drwxr-xr-x  2 user  group   64 Mar 29 14:19 92c09cd8e8390f169b1e9b17d9688a93b6fee0e8

~/.gradle/caches/modules-2/files-2.1/com.salesforce.servicelibs/reactor-grpc/1.2.4/78dede6b59e1d96aa496fc4a2dff371bc83f2267:
total 8
drwxr-xr-x  3 user  group    96 Mar 29 14:19 .
drwxr-xr-x  4 user  group   128 Mar 29 14:19 ..
-rw-r--r--  1 user  group  3790 Mar 29 14:19 reactor-grpc-1.2.4.pom

~/.gradle/caches/modules-2/files-2.1/com.salesforce.servicelibs/reactor-grpc/1.2.4/92c09cd8e8390f169b1e9b17d9688a93b6fee0e8:
total 0
drwxr-xr-x  2 user  group   64 Mar 29 14:19 .
drwxr-xr-x  4 user  group  128 Mar 29 14:19 ..

Earlier versions

What's more interesting is that this issue is not present in lib version 1.2.3 (./gradlew generateProto finishes successfully and executable is still present in the folder)

% ls -R -la ~/.gradle/caches/modules-2/files-2.1/com.salesforce.servicelibs/reactor-grpc/1.2.3
total 0
drwxr-xr-x  4 user  group  128 Mar 29 14:22 .
drwxr-xr-x  4 user  group  128 Mar 29 14:22 ..
drwxr-xr-x  3 user  group   96 Mar 29 14:22 17aa60ee5a3e3c9f979c664aa55bb935b8ebccc2
drwxr-xr-x  3 user  group   96 Mar 29 14:22 7787c2987d7a68446a2b42fd830eae6ab088ae8a

~/.gradle/caches/modules-2/files-2.1/com.salesforce.servicelibs/reactor-grpc/1.2.3/17aa60ee5a3e3c9f979c664aa55bb935b8ebccc2:
total 14368
drwxr-xr-x  3 user  group       96 Mar 29 14:22 .
drwxr-xr-x  4 user  group      128 Mar 29 14:22 ..
-rwxr--r--  1 user  group  7354700 Mar 29 14:22 reactor-grpc-1.2.3-osx-x86_64.exe

~/.gradle/caches/modules-2/files-2.1/com.salesforce.servicelibs/reactor-grpc/1.2.3/7787c2987d7a68446a2b42fd830eae6ab088ae8a:
total 8
drwxr-xr-x  3 user  group    96 Mar 29 14:22 .
drwxr-xr-x  4 user  group   128 Mar 29 14:22 ..
-rw-r--r--  1 user  group  3790 Mar 29 14:22 reactor-grpc-1.2.3.pom

OS and environment

  • processor - intel
  • macOS - Sonoma 14.4.1
  • kernel - Darwin Kernel Version 23.4.0: Fri Mar 15 00:11:05 PDT 2024; root:xnu-10063.101.17~1/RELEASE_X86_64 x86_64

What might be the cause of an issue

I don't see any specific reason but I suspect that mac's gatekeeper removes an executable (perhaps I'm wrong on that).
Please let me know if there's anything else I can help you with (or provide more information)

Thanks in advance!

Hi @rmichela
We believe that reactor-grpc-1.2.4-osx-x86_64 is missing some attributes after build, which prevents it from being installed and removed by Gatekeeper or XProtect.
An interesting fact is that reactor-grpc-1.2.4-osx-aarch_64.exe is not removed on the same machine.
https://repo1.maven.org/maven2/com/salesforce/servicelibs/reactor-grpc/1.2.4/

Reproduce:
Download:

  1. reactor-grpc-1.2.4-osx-aarch_64.exe and reactor-grpc-1.2.4-osx-x86_64.exe
  2. Run chmod +x for both files
  3. Run files: ./reactor-grpc-1.2.4-osx-aarch_64.exe and ./reactor-grpc-1.2.4-osx-x86_64.exe
  4. reactor-grpc-1.2.4-osx-aarch_64.exe is still present on the machine but reactor-grpc-1.2.4-osx-x86_64.exe was removed

Could you help to understand if there is any difference in the build process that can be fixed in a subsequent release?
Thanks!