<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/57783>57783</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Control file parsing error during libfuzzer merge.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          kobrineli
      </td>
    </tr>
</table>

<pre>
    Hi! I was trying to merge corpus with libfuzzer's `-merge=1` and faced the following problem.
During corpus merging libfuzzer gave this error on every attempt it tried to merge:

        MERGE-OUTER: attempt 17539
        INFO: Running with entropic power schedule (0xFF, 100).
        INFO: Seed: 1716583057
        INFO: Loaded 1 modules   (234270 inline 8-bit counters): 234270 [0x2380230, 0x23b954e), 
        INFO: Loaded 1 PC tables (234270 PCs): 234270 [0x1ab3e28,0x1e47008), 
        INFO: -max_len is not provided; libFuzzer will not generate inputs larger than 1048576 bytes        
        MERGE-INNER: using the control file '/tmp/libFuzzerTemp.Merge14.txt'
        MERGE: failed to parse the control file (unexpected error)

And this error was continuing to popup until all attempts were expired.

Steps to reproduce the error:

1. Build docker container from here: https://github.com/ispras/oss-sydr-fuzz/tree/master/projects/capstone

        sudo docker build -t oss-sydr-fuzz-capstone .

2. Run built docker container:

        sudo docker run --rm -v `pwd`:/fuzz -it oss-sydr-fuzz-capstone /bin/bash

3. Make directory for new corpus and run corpus merging:

        mkdir /new_corpus
        /fuzz_disasmnext -merge=1 /new_corpus /corpusnext

By the way, if we make corpus smaller, for example, consisting of 300 files, merge succeeds with the very first attempt.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyFVdtyozgQ_Rr80gUFyBj84IfcvJuqTWZqLs8pAY2tjUCUJGJ7vn67wU7sGmfWD9iyus_py-mmNPVh9bcK0gQeYScdeHtQ3Qa8gRbtBqEyth8c7JTfglZlM_z6hTZIcwfBIg5Hm0DcJ3QA2dXQyApr8FuExmhtdozVW1NqbKMgvg_im_vB8p9HXAbg4zs0bOQbEoBygNYaC6YDfEN7AOk9tr0H5SlIxSzHGANxM0FPTzh-nh6-_fUQfvn54-EbWby7J3kmlpeWj8_rL2zybeg6DmZMFjtvTa8q6M2OwnLVFutBIwRpEe_X6yC9gySOg3QZXQf7jljzd5Ini6wQcZZft_vHyJqSSaA1jO_oiihSMU_zGFSnVYdQhCVlXZmh82gdcbLj0STIbuN9Koo4FTEHxYdymc2Rzej8P6xf78DLknk_WL_eXeNIZCkwLQiTfuM8j-PijxRhK_cvGjugVnbGswzeVM1FueV2r6d275TW4_UGO7TSI-XcD96BltRaS0qQHRV6XmT5AsqDHws0fq51-_H5eer24EYVb1nA3EgNjRqblwfp2rc9Pd9j-EG6iJ5YSck88nvPRr9jM2ojCWQUXi-tw2v4xdDhvsfKk90oYK7RmTpvuvpc3TxyjKC64Th2vemHHqjTSoOk2hx1SyOIFoGwlcU6Oof87rF37GqRalwP1RTYxH45G0kEt4PSNdSmeqXqMrUkhVlorGlhSxSc59b73rFrSjpfb2gchjKqTEsH5XorSR5r41zoDrUNeW65qBZJcutWOs8LYk2h_EtlYNNK9s6bDq9NqRtqc4qmHEMLPVxghyd3uMg6jXheRx__WzqfrIRzMkvOYWhbCN94lfW7mp5TzswKofo0DjIpVcdP6bbnPCKCJ_mKUFOPKm9oaTXU4w53p3XHK5KJL7ffJ9G2r4TDZATwMnlcGhxDfamVk64l3Xn42MiXjnyafrHZOdvtYVTLTh54lFVDOoOWkzg6upZUyB29G5PBvWx7jXykajvlPOvWNCDieJwBx1fTu8MNVUVb8Pj2YJZxkTfKOn_SdTTDVbJYCCEKIdJZvRL1UizlzCuvcXV3Plw8c0w2TU49vUc-XhwjZzQbrF79Qb9av52-wqNER1W7gSNfZ3leiNl2JaSUcVOVZbYQpaCVL8q8LIrFspD1PEvSmZYlareizRhk9zO1SuM0jZfJIpmnmUgjFGXTxBKzIm-KpsiCeYwtbY-IiSNjNzO7GmMoh42jS02FdB-X0jm16RBP-HLwW2NXr6akpFGr2Rjwaoz2P_C_bcU">