Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7620bcb5 authored by Alex Buynytskyy's avatar Alex Buynytskyy
Browse files

Better error message for missing page reads.

>missing reads count 15, timestamp delta 10ms

Bug: 181876064
Test: atest PackageManagerShellCommandIncrementalTest
Change-Id: I9c5a7ef62d10feee3512d934f7ad3ba9f402448c
parent af9181a6
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -643,7 +643,7 @@ private:
        }

        TracedRead last = {};
        auto lastSerialNo = mLastSerialNo;
        auto lastSerialNo = mLastSerialNo < 0 ? pageReads[0].serialNo : mLastSerialNo;
        for (auto&& read : pageReads) {
            const auto expectedSerialNo = lastSerialNo + last.count;
#ifdef VERBOSE_READ_LOGS
@@ -676,8 +676,7 @@ private:

            // Second, report missing reads, if any.
            if (read.serialNo != expectedSerialNo) {
                const auto readsMissing = read.serialNo - expectedSerialNo;
                traceMissingReads(readsMissing);
                traceMissingReads(expectedSerialNo, read.serialNo);
            }

            last = TracedRead{
@@ -721,9 +720,13 @@ private:
        ATRACE_END();
    }

    void traceMissingReads(int64_t count) {
        const auto trace = android::base::StringPrintf("missing_page_reads: count=%lld",
                                                       static_cast<long long>(count));
    void traceMissingReads(int64_t expectedSerialNo, int64_t readSerialNo) {
        const auto readsMissing = readSerialNo - expectedSerialNo;
        const auto trace =
                android::base::StringPrintf("missing_page_reads: count=%lld, range [%lld,%lld)",
                                            static_cast<long long>(readsMissing),
                                            static_cast<long long>(expectedSerialNo),
                                            static_cast<long long>(readSerialNo));
        ATRACE_BEGIN(trace.c_str());
        ATRACE_END();
    }
@@ -874,7 +877,7 @@ private:
    std::atomic<bool> mStopReceiving = false;
    std::atomic<bool> mReadLogsEnabled = false;
    std::chrono::milliseconds mWaitOnEofInterval{WaitOnEofMinInterval};
    int64_t mLastSerialNo{1};
    int64_t mLastSerialNo{-1};
    /** Tracks which files have been requested */
    std::unordered_set<FileIdx> mRequestedFiles;
};