Hi   力召.

Used to high performance machines, changed some configs on the service end, 
and modified the code under "build/make", I can now build a test module 
with a cpp file on the remote server.

For the code I modified under "build/make", it is as below. I don't 
understand what's the purpose of the "container-image=docker" platform 
property. What is it used for?

    diff --git a/core/rbe.mk b/core/rbe.mk
    index fd3427abf4..2baff7302c 100644
    --- a/core/rbe.mk
    +++ b/core/rbe.mk
    @@ -64,7 +64,7 @@ ifneq ($(filter-out false,$(USE_RBE)),)
         d8_exec_strategy := remote_local_fallback
       endif

    -  platform := 
container-image=docker://gcr.io/androidbuild-re-dockerimage/android-build-remoteexec-image@sha256:582efb38f0c229ea39952fff9e132ccbe183e14869b39888010dacf56b360d62
    +  platform :=
       cxx_platform := $(platform),Pool=$(cxx_pool)
       java_r8_d8_platform := $(platform),Pool=$(java_pool)



it seems that two platforms properties are set in requests:
1. Pool=default
2.  
container-image=docker://gcr.io/androidbuild-re-dockerimage/android-build-remoteexec-image@sha256:582efb38f0c229ea39952fff9e132ccbe183e14869b39888010dacf56b360d62

When start the worker on the server end, I can use "--platform 
Pool=default", but with "--platform Pool=default --platform 
container-image=docker://gcr.io/androidbuild-re-dockerimage/android-build-remoteexec-image@sha256:582efb38f0c229ea39952fff9e132ccbe183e14869b39888010dacf56b360d62",
 
something went wrong. Also I don't know the purpose of this property to be 
set in my worker.


Best Regards,
Zhu Faqiang.
On Friday, April 7, 2023 at 12:52:04 PM UTC+8 Faqiang Zhu wrote:

> Hi  力召.
>
> it may really related to the network speed, but I'm not sure about it.
>
> I switched to two high performance machines, one works as client end, and 
> one works as server end. this time, the cas storage size grows faster. 
> although it still fails at last, but this time, the fail log is from the 
> server end.
>
> Best Regards,
> Zhu Faqiang.
> 在2023年4月6日星期四 UTC+8 22:26:16<Faqiang Zhu> 写道:
>
>> Oh, thank you, 力召.
>>
>> last time I didn't wait for long enouth when the log blocks. also there 
>> are some issues with the serivce end, which made me misunderstand.
>>
>> Now there could be failure logs like below:
>>
>>
>>     reclient[1a42b3d9-0a8c-4c83-860f-7fa398daf641]: 
>> RemoteErrorResultStatus: failed to upload 
>> /home/faqiang/android13/prebuilts/clang/host/linux-x86/clang-r450784d/bin/ld64.lld:
>>  
>> retry budget exhausted (6 attempts): context deadline exceeded
>>
>>
>> I can see that the cas storage size keeps rising when dependencies are 
>> bing transfrred from client end to server end, and then preceding logs 
>> occur.
>>
>> what does this mean usually? Does it mean the dependencies fail to be 
>> sent to the server end in time (i.e. network speed issue)? can I change the 
>> 6 attempts to a higher number to relieve this and how can I do that?
>>
>> Best Regards,
>> Zhu Faqiang.
>> 在2023年4月4日星期二 UTC+8 22:23:27<李力召> 写道:
>>
>>> Sorry for a late reply.
>>>
>>>  * The client distribute actions to the service, the service schedules 
>>> the actions to the workers, the workers does the actions.*
>>> *    In android build system, there is a limitation of using the host 
>>> installed tools, many tools under "prebuilts/" directory like clang++ is 
>>> used, how can a worker get the environment as the local build?*
>>>
>>> No,  the reproxy in the aosp will send all the depends to the CAS as 
>>> normal input. So the worker can be very light weight.
>>>
>>> *    I set "RBE_CXX_EXEC_STRATEGY" to be "remote" then try to build a 
>>> test module with RBE, the log shows that it blocks on "clang++ 
>>> test_source_file.cpp", while on the service end, it can be known that there 
>>> is input requests,  but the worker seems does nothing.*
>>> *    I guesss it's related to the clang++ tool, although I installed 
>>> clang++ on the worker machine. but android should use its own.*
>>>
>>> Maybe the worker is not completely implement the  remote api 
>>> <https://github.com/bazelbuild/remote-apis> . 
>>>
>>> On Saturday, March 4, 2023 at 3:08:04 AM UTC+8 Faqiang Zhu wrote:
>>>
>>>> Hi  力召,
>>>>
>>>> Thank you, now the reproxy can be started.
>>>>
>>>> then I have another issue:
>>>>     The client distribute actions to the service, the service schedules 
>>>> the actions to the workers, the workers does the actions.
>>>>     In android build system, there is a limitation of using the host 
>>>> installed tools, many tools under "prebuilts/" directory like clang++ 
>>>> is used, how can a worker get the environment as the local build?
>>>>
>>>>     I set "RBE_CXX_EXEC_STRATEGY" to be "remote" then try to build a 
>>>> test module with RBE, the log shows that it blocks on "clang++ 
>>>> test_source_file.cpp", while on the service end, it can be known that 
>>>> there 
>>>> is input requests,  but the worker seems does nothing.
>>>>     I guesss it's related to the clang++ tool, although I installed 
>>>> clang++ on the worker machine. but android should use its own.
>>>>
>>>> Best Regards,
>>>> Zhu Faqiang.
>>>> 在2023年2月23日星期四 UTC+8 02:28:59<李力召> 写道:
>>>>
>>>>> hi Faqiang 
>>>>>
>>>>> Reproxy is call the rbe service by https with credential .  You can 
>>>>> disable it by enviroment  "export RBE_service_no_security=true"
>>>>>
>>>>> On Wednesday, February 22, 2023 at 12:45:06 PM UTC+8 Faqiang Zhu wrote:
>>>>>
>>>>>> I'm trying to build android13 with RBE.
>>>>>>
>>>>>> As suggested in this post: Build AOSP 11 with Google RBE service 
>>>>>> <https://groups.google.com/g/android-building/c/jOd1Z7C6xxk/m/v1os5xbKFgAJ>,
>>>>>>  
>>>>>> I am trying an alternative option of BuildGrid listed here - 
>>>>>> https://bazel.build/community/remote-execution-services.
>>>>>>
>>>>>> I setup the BuildGrid server based on the document, with bazel as the 
>>>>>> client to build C++ tutorial examples, the build action can be 
>>>>>> distributed 
>>>>>> from a machine to the GuildGrid Server, then I tried build android 13 
>>>>>> with 
>>>>>> RBE and this BuildGrid server with below steps:
>>>>>>
>>>>>>    - modify the file "build/soong/docs/rbe.json" as below:
>>>>>>
>>>>>>     diff --git a/docs/rbe.json b/docs/rbe.json
>>>>>>     index f6ff10772..3f4c4ccf3 100644
>>>>>>     --- a/docs/rbe.json
>>>>>>     +++ b/docs/rbe.json
>>>>>>     @@ -10,8 +10,8 @@
>>>>>>              "RBE_R8": "1",
>>>>>>              "RBE_D8": "1",
>>>>>>
>>>>>>     -        "RBE_instance": "[replace with your RBE instance]",
>>>>>>     -        "RBE_service": "[replace with your RBE service 
>>>>>> endpoint]",
>>>>>>     +        "RBE_instance": "main",
>>>>>>     +        "RBE_service": "grpc://10.193.102.33:50051",
>>>>>>
>>>>>>              "RBE_DIR": "prebuilts/remoteexecution-client/live",
>>>>>>
>>>>>>
>>>>>>    - create a credential file of 
>>>>>>    "$HOME/.config/gcloud/application_default_credentials.json" with 
>>>>>> below 
>>>>>>    command:
>>>>>>
>>>>>>     gcloud auth application-default login --no-launch-browser 
>>>>>> --disable-quota-project
>>>>>>
>>>>>>
>>>>>>    - try to start the build with below commands:
>>>>>>
>>>>>>     ANDROID_BUILD_ENVIRONMENT_CONFIG=rbe 
>>>>>> ANDROID_BUILD_ENVIRONMENT_CONFIG_DIR=build/soong/docs make
>>>>>>
>>>>>>
>>>>>> but I got below failure and seems no related source code can be found:
>>>>>>
>>>>>>     18:58:52 Unable to start RBE reproxy
>>>>>>     FAILED: RBE bootstrap failed with: exit status 10
>>>>>>     E0221 18:58:52.597734 1344945 bootstrap.go:96] Unable to start 
>>>>>> reproxy: "E0221 18:58:50.166111 1344959 main.go:205] Failed to 
>>>>>> initialize 
>>>>>> remote-execution client: rpc error: code = Unavailable desc = rpc error: 
>>>>>> code = Unavailable desc = retry budget exhausted (6 attempts): all 
>>>>>> SubConns 
>>>>>> are in TransientFailure, authentication type (identity) 
>>>>>> used=\"application 
>>>>>> default credentials\"\n"
>>>>>>
>>>>>>     Try restarting the build after running the following command:
>>>>>>         gcloud auth application-default login --no-launch-browser 
>>>>>> --disable-quota-project
>>>>>>
>>>>>>
>>>>>> Dose anyone tried the alternative RE service options listed in 
>>>>>> https://bazel.build/community/remote-execution-services? 
>>>>>> what RE service is choosed? 
>>>>>> Is there similar or the same issue encountered as me? 
>>>>>> Are there any fixes for the issue I encountered?
>>>>>>
>>>>>> Best Regards,
>>>>>> Zhu Faqiang.
>>>>>>
>>>>>

-- 
-- 
You received this message because you are subscribed to the "Android Building" 
mailing list.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-building?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"Android Building" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/android-building/c67700aa-1e6d-4bbe-8941-bdb5c523ea03n%40googlegroups.com.

Reply via email to