Open Bug 1708138 Opened 3 years ago Updated 1 year ago

[QM_TRY] Failures in dom/localstorage/ActorsParent.cpp:QuotaClient::InitOrigin

Categories

(Core :: Storage: Quota Manager, defect, P3)

defect

Tracking

()

People

(Reporter: jstutte, Unassigned)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

This is most probably a false alarm, caused by having a topmost frame as ERROR right after the WARNING that would have invalidated this stack:

    {
        "submit_timeabs": 1619180038043,
        "session_start_time": "2021-04-23T11:13:00",
        "submission_date": "2021-04-23",
        "build_id": "20210422190146",
        "client_id": "0971cb28-0187-4451-a259-940168b6fcde",
        "session_id": "417ffb72-8c2e-4aca-9e3f-39ad86ea8cce",
        "event_timestamp": 4581,
        "seq": 10,
        "context": "Initialization::TemporaryStorage",
        "source_file": "dom/quota/ActorsParent.cpp",
        "source_line": "4739",
        "severity": "WARNING",
        "result": "NS_ERROR_FILE_IS_LOCKED"
    },
    {
        "submit_timeabs": 1619180038043,
        "session_start_time": "2021-04-23T11:13:00",
        "submission_date": "2021-04-23",
        "build_id": "20210422190146",
        "client_id": "0971cb28-0187-4451-a259-940168b6fcde",
        "session_id": "417ffb72-8c2e-4aca-9e3f-39ad86ea8cce",
        "event_timestamp": 4581,
        "seq": 11,
        "context": "Initialization::TemporaryStorage",
        "source_file": "dom/quota/ActorsParent.cpp",
        "source_line": "4739",
        "severity": "ERROR",
        "result": "NS_ERROR_FILE_IS_LOCKED"
    },

We could mitigate this, if we include severity in the identifier of a stack frame. Currently we have only the combination of revision + source + line + errorcode.

Severity: -- → S3
Priority: -- → P3

There are two things happening here at the same time that lead to this result:

  • We have a QM_OR_ELSE_WARN inside a QM_TRY which first reports the error as WARNING and then re-throws it as an ERROR to the enclosing QM_TRY, see bug 1708643
  • This happens all on the same line in the code which makes the two stack frames appear to be the same, but they aren't (it is just the closing parenthesis of the two nested macros), tricking the analyzing script to split the stack wrongly.

Bug 1708643 will mitigate this (giving us two identical ERROR frames), in the meantime we might want to avoid to have multiple closing parenthesis of nested QM_TRY macros on the same line.

See Also: → 1708643

(In reply to Jens Stutte [:jstutte] from comment #1)

This is most probably a false alarm, caused by having a topmost frame as ERROR right after the WARNING that would have invalidated this stack

This means also that the error we see here is a real error that needs further investigation.

Clients Sessions Hits Anchor Stack
2 11 11 dom/localstorage/ActorsParent.cpp:QuotaClient::InitOrigin dom/localstorage/ActorsParent.cpp#8089:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4871:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4943:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4947:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4950:NS_ERROR_FILE_IS_LOCKED
1 4 4 dom/localstorage/ActorsParent.cpp:QuotaClient::InitOrigin dom/localstorage/ActorsParent.cpp#8089:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4871:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4943:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4947:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4950:NS_ERROR_FILE_IS_LOCKED
1 1 1 dom/localstorage/ActorsParent.cpp:QuotaClient::InitOrigin dom/localstorage/ActorsParent.cpp#8129:NS_ERROR_FILE_IS_LOCKED <- dom/localstorage/ActorsParent.cpp#8137:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4871:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4943:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4947:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4950:NS_ERROR_FILE_IS_LOCKED
1 1 1 dom/localstorage/ActorsParent.cpp:QuotaClient::InitOrigin dom/localstorage/ActorsParent.cpp#8129:NS_ERROR_FILE_IS_LOCKED <- dom/localstorage/ActorsParent.cpp#8137:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4871:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4943:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4947:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4950:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4154:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4160:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4198:NS_ERROR_FILE_IS_LOCKED
Clients Sessions Hits Anchor Stack
1 15 15 dom/localstorage/ActorsParent.cpp:QuotaClient::InitOrigin dom/localstorage/ActorsParent.cpp#8089:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4871:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4943:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4947:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4950:NS_ERROR_FILE_IS_LOCKED
Clients Sessions Hits Anchor Stack
1 3 3 dom/localstorage/ActorsParent.cpp:QuotaClient::InitOrigin dom/localstorage/ActorsParent.cpp#8083:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4866:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4938:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4942:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4945:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4734:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4734:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4757:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4761:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4764:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4224:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4227:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#6220:NS_ERROR_FILE_IS_LOCKED
Clients Sessions Hits Anchor Stack
1 2 2 dom/localstorage/ActorsParent.cpp:QuotaClient::InitOrigin dom/localstorage/ActorsParent.cpp#8083:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4866:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4938:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4942:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4945:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4734:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4734:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4757:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4761:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4764:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4224:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#4227:NS_ERROR_FILE_IS_LOCKED <- dom/quota/ActorsParent.cpp#6220:NS_ERROR_FILE_IS_LOCKED
Depends on: 1712582
You need to log in before you can comment on or make changes to this bug.