Thank you for all your help and good luck with improving finder! With
regards to memory, I have a measly 4GB of ram so that is probally slowing
finder down and I do expect it to be slow (I do plan on upgrading in case
you are wondering). However, I do not believe what I am experiencing is the
same as what Alessandro is experiencing. Again, Thanks for all your help!
On Thursday, December 21, 2017 at 8:14:39 PM UTC, Colin Cross wrote:
>
> Yeah, this is showing very slow lstat calls:
> [pid 4007] <... lstat resumed> {st_mode=S_IFDIR|0777, st_size=4096, ...})
> = 0 <0.020417>
> vs. mine:
> [pid 219359] <... lstat resumed> {st_mode=S_IFREG|0640, st_size=323161,
> ...}) = 0 <0.000046>
>
> I don't know why yours would be so much slower, maybe just round trip
> latency to the external drive and not enough memory to keep them all in
> the inode cache?
>
> We can improve finder to drastically reduce the number of lstat calls, but
> ninja is going to have to stat most of the files to determine what needs
> building so I don't know how much improvement you will see.
>
>
> On Thu, Dec 21, 2017 at 11:56 AM, Peter Warrington <[email protected]
> <javascript:>> wrote:
>
>> Sorry about that. Is this attached strace any better?
>>
>> On Thursday, December 21, 2017 at 7:36:22 PM UTC, Colin Cross wrote:
>>>
>>> I don't see the data I'd expect with -T, it should have a time in angle
>>> brackets after each finished syscall:
>>> [pid 219359] <... lstat resumed> {st_mode=S_IFREG|0640, st_size=323161,
>>> ...}) = 0 <0.000046>
>>>
>>>
>>> On Thu, Dec 21, 2017 at 3:05 AM, Peter Warrington <[email protected]>
>>> wrote:
>>>
>>>> Attached is a much longer strace with the -T option used.
>>>>
>>>> On Wednesday, December 20, 2017 at 11:16:53 PM UTC, Colin Cross wrote:
>>>>>
>>>>> The results of the finder are cached in out/.module_paths/files.db, so
>>>>> once the command has completed successfully once the next runs will be
>>>>> much
>>>>> faster. You could try wiping that file to reproduce it again, or run
>>>>> with
>>>>> a different value for OUT_DIR (OUT_DIR=out2 lunch ...).
>>>>>
>>>>> On Wed, Dec 20, 2017 at 1:58 PM, Peter Warrington <[email protected]
>>>>> > wrote:
>>>>>
>>>>>> Hello, the command has now started to work like normal after leaving
>>>>>> it for a while, so my problem might not be the same as Alessandro's.
>>>>>> Unfortunately, I cannot upload a bigger stack trace until tomorrow
>>>>>> because
>>>>>> of the time in my timezone. Sorry!
>>>>>>
>>>>>> On Wednesday, December 20, 2017 at 9:48:34 PM UTC, Colin Cross wrote:
>>>>>>>
>>>>>>> Can you attach a longer strace with -T ?
>>>>>>>
>>>>>>> On Wed, Dec 20, 2017 at 1:28 PM, Peter Warrington <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Thank you! That is very interesting. In case it helps, I
>>>>>>>> benchmarked my external HDD and it has an average read rate of 92.0
>>>>>>>> MB/s
>>>>>>>> and an average access time of 16.37 msec. However, I didn't have any
>>>>>>>> trouble with this previously.
>>>>>>>>
>>>>>>>> On Wednesday, December 20, 2017 at 9:06:16 PM UTC, Colin Cross
>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> Nothing looks wrong in that strace, it is making forward
>>>>>>>>> progress. It needs to read every directory and stat every file in
>>>>>>>>> the
>>>>>>>>> tree, is your filesystem very slow for some reason?
>>>>>>>>>
>>>>>>>>> One difference I see between the old implementation using the find
>>>>>>>>> tool and the new implementation is that find seems to be able to
>>>>>>>>> avoiding
>>>>>>>>> calling stat on every directory entry, because the relevant
>>>>>>>>> information
>>>>>>>>> (whether the entry is a subdirectory or a file) is contained in the
>>>>>>>>> return
>>>>>>>>> from the getdents64 syscall. The Go implementation is ignoring that
>>>>>>>>> information and has to call lstat to get it.
>>>>>>>>>
>>>>>>>>> On Wed, Dec 20, 2017 at 11:32 AM, Peter Warrington <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> Attached is a partial strace.
>>>>>>>>>>
>>>>>>>>>> On Wednesday, December 20, 2017 at 7:06:31 PM UTC, Colin Cross
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> From the stack trace after ctrl-c, lunch will be waiting for the
>>>>>>>>>>> child soong_ui process to complete. An strace of that process
>>>>>>>>>>> would be
>>>>>>>>>>> interesting.
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Dec 18, 2017 at 4:12 PM, Alessandro Brucato <
>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> This is the output of strace attached to the process in which I
>>>>>>>>>>>> execute "lunch".
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> <https://lh3.googleusercontent.com/-Rk-T1kCPUnA/WjhYORJYCKI/AAAAAAAAGSY/LIzqOc58jvkTpj7dowKqjz1OsKoAy0dZQCLcBGAs/s1600/strace.PNG>
>>>>>>>>>>>>
>>>>>>>>>>>> When "lunch" is stuck, the output of strace ends with
>>>>>>>>>>>> "wait4(-1,". All the remaining part appears when I abort "lunch"
>>>>>>>>>>>> with
>>>>>>>>>>>> CTRL+C.
>>>>>>>>>>>>
>>>>>>>>>>>> Maybe this issue is due to the fact that I'm using a guest in
>>>>>>>>>>>> Virtualbox?
>>>>>>>>>>>>
>>>>>>>>>>>> Il giorno lunedì 18 dicembre 2017 23:45:48 UTC+1, Colin Cross
>>>>>>>>>>>> ha scritto:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Can you capture the full output of all the stack traces?
>>>>>>>>>>>>>
>>>>>>>>>>>>> It's getting stuck while trying to walk all the checked-out
>>>>>>>>>>>>> code looking for various build files. If it was completely
>>>>>>>>>>>>> deadlocked then
>>>>>>>>>>>>> it would have died on its own, so it's probably stuck in a loop
>>>>>>>>>>>>> somehow.
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Mon, Dec 18, 2017 at 8:12 AM, Alessandro Brucato <
>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hello, I'm trying to build the Android source code for my
>>>>>>>>>>>>>> Hikey 960 board.
>>>>>>>>>>>>>> I'm following this video tutorial
>>>>>>>>>>>>>> https://www.youtube.com/watch?v=RD_NZRKiZBU in parallel to
>>>>>>>>>>>>>> the official Android guide
>>>>>>>>>>>>>> https://source.android.com/setup/devices#hikey-boards.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Everything went fine until I reached the command "lunch
>>>>>>>>>>>>>> hikey960-userdebug". It blocks, without returning any output. I
>>>>>>>>>>>>>> left it
>>>>>>>>>>>>>> "working" for 1 hour and then I aborted it (even if I know that
>>>>>>>>>>>>>> this
>>>>>>>>>>>>>> command should take few seconds). If I execute only "lunch" it
>>>>>>>>>>>>>> shows the
>>>>>>>>>>>>>> list of available build targets, and when I select
>>>>>>>>>>>>>> "hikey960-userdebug" it
>>>>>>>>>>>>>> blocks. When I abort it with CTRL+C, it says "Still alive,
>>>>>>>>>>>>>> killing
>>>>>>>>>>>>>> subprocesses" and then it shows a lot of messages referring to
>>>>>>>>>>>>>> threads.
>>>>>>>>>>>>>> Here is the screenshot https://ibb.co/k32KQR
>>>>>>>>>>>>>> I noticed that also the "make" command (inside the AOSP
>>>>>>>>>>>>>> directory) has the same behaviour.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> This is the list of commands I've used during the process:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> sudo apt-get install openjdk-7-jdk
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> sudo apt-get install git-core gnupg flex bison gperf
>>>>>>>>>>>>>> build-essential zip curl zlib1g-dev gcc-multilib g++-multilib
>>>>>>>>>>>>>> libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev
>>>>>>>>>>>>>> lib32z-dev
>>>>>>>>>>>>>> ccache libgl1-mesa-dev libxml2-utils xsltproc unzip
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> mkdir output
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> export OUT_DIR_COMMON_BASE=/home/brucedh/output/
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> mkdir ~/bin
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> PATH=~/bin:$PATH
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> curl https://storage.googleapis.com/git-repo-downloads/repo
>>>>>>>>>>>>>> > ~/bin/repo
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> chmod a+x ~/bin/repo
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> mkdir dev
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> cd dev
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> mkdir hikey960
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> cd hikey960
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> git config --global user.name "<REDACTED>"
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> git config --global user.email "<REDACTED>"
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> repo init -u
>>>>>>>>>>>>>> https://android.googlesource.com/platform/manifest -b master
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> repo sync –j4
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> git clone
>>>>>>>>>>>>>> https://android.googlesource.com/kernel/hikey-linaro
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> cd hikey-linaro
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> git checkout -b android-hikey-linaro-4.9
>>>>>>>>>>>>>> origin/android-hikey-linaro-4.9
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> make ARCH=arm64 menuconfig
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> make ARCH=arm64 hikey960_defconfig
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> PATH=/home/brucedh/dev/hikey960/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/:$PATH
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> make ARCH=arm64 CROSS_COMPILE=aarch64-linux-android- -j4
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> cp arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dtb
>>>>>>>>>>>>>> ../device/linaro/hikey-kernel/hi3660-hikey960.dtb-4.9
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> cp arch/arm64/boot/Image.gz
>>>>>>>>>>>>>> ../device/linaro/hikey-kernel/Image.gz-hikey960-4.9
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> cd ~/dev/hikey960
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> . ./build/envsetup.sh
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> lunch hikey960-userdebug
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I'm using Ubuntu 16.04 LTS as guest on Virtualbox. I tried to
>>>>>>>>>>>>>> do all the process once again from the beginning with a new
>>>>>>>>>>>>>> virtualbox
>>>>>>>>>>>>>> image, but I found the same problem.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks in advance!
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> 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].
>>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>> --
>>>>>>>>>>>> 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].
>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>> --
>>>>>>>>>> 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].
>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>> --
>>>>>>>> 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].
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>> --
>>>>>> 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].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>> --
>>>> --
>>>> 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].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>> --
>> You received this message because you are subscribed to the "Android
>> Building" mailing list.
>> To post to this group, send email to [email protected]
>> <javascript:>
>> To unsubscribe from this group, send email to
>> [email protected] <javascript:>
>> 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] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
--
--
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].
For more options, visit https://groups.google.com/d/optout.