J'expérimente libFuzzer du projet LLVM en essayant de générer des entrées pour une bibliothèque de traitement du signal audio. Par souci de simplicité, j'ai commencé avec un PCM de 64 kb à constante constante comme corpus initial, en utilisant -max_len = 65536. La consommation de mémoire par appel de bibliothèque est d'environ 200 Ko, ce qui devrait être libéré comme prévu.LLVM libFuzzer rss augmentation de la mémoire
Ce que je me demande est la consommation de mémoire apparaît comme rss dans le journal fuzzer:
#1024 pulse cov: 26153 ft: 40811 corp: 783/33Mb exec/s: 7 rss: 541Mb
#2048 pulse cov: 26154 ft: 40811 corp: 783/33Mb exec/s: 8 rss: 573Mb
#4096 pulse cov: 26154 ft: 40811 corp: 783/33Mb exec/s: 8 rss: 574Mb
#4895 NEW cov: 26156 ft: 40815 corp: 784/33Mb exec/s: 8 rss: 576Mb L: 26935 MS: 1 InsertRepeatedBytes-
#8192 pulse cov: 26157 ft: 40815 corp: 784/33Mb exec/s: 8 rss: 578Mb
#11875 NEW cov: 26157 ft: 40816 corp: 785/33Mb exec/s: 8 rss: 579Mb L: 59394 MS: 1 InsertByte-
#12862 NEW cov: 26157 ft: 40817 corp: 786/33Mb exec/s: 8 rss: 579Mb L: 51404 MS: 3 EraseBytes-EraseBytes-CopyPart-
#15357 NEW cov: 26157 ft: 40818 corp: 787/33Mb exec/s: 8 rss: 579Mb L: 64536 MS: 3 CopyPart-ChangeBit-InsertRepeatedBytes-
#16384 pulse cov: 26157 ft: 40818 corp: 787/33Mb exec/s: 8 rss: 579Mb
#23171 NEW cov: 26157 ft: 40820 corp: 788/33Mb exec/s: 8 rss: 579Mb L: 49412 MS: 2 InsertRepeatedBytes-CMP- DE: "\x00\x00\x00\x00\x00\x00\x00\x00"-
#25426 NEW cov: 26158 ft: 40825 corp: 789/33Mb exec/s: 8 rss: 579Mb L: 64443 MS: 2 CMP-CMP- DE: "\x00\x00\x00\x00"-"\xff\xff"-
Pourquoi la métrique rss en constante augmentation?
Notez que l'augmentation semble converger (similaire à la cov et pieds quantités), de sorte que la mémoire ne soit pas divulgué par appel cible fuzzer.
Est-ce un problème de configuration ou une fuite qui augmente la mémoire rss?
Sinon, quelle est la raison pour laquelle une option -rss_limit_mb est disponible pour le fuzzer, si la consommation de mémoire n'est pas annulée après chaque invocation de cible de fuzzer?
Vous avez une fuite. – Joky