If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

ABORT: corrupted actor state: file ipc/ipdl/PGrallocBuffer.cpp, line 34

RESOLVED WORKSFORME

Status

Firefox OS
General
RESOLVED WORKSFORME
4 years ago
4 years ago

People

(Reporter: dhylands, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

4 years ago
Lately, when killing a child process, I often see an ABORT in the main process and the main process restarts.

ABORT: corrupted actor state: file <leading-dir-removed>/ipc/ipdl/PGrallocBuffer.cpp, line 34

I see this on my unagi, running debug builds using master.
Master could be affected by gfx layer fefactoring.
Dave, is this the scenario where we kill a process because of the memory pressure or something like that?  Benoit, Bas, is this something that makes sense?
Flags: needinfo?
(Reporter)

Comment 3

4 years ago
No memory pressure. I'm just launching a single app, and then when I decide to update it, it needs to kill the old app.

I'm seeing the ABORT when I kill the old app. Obviously, memory pressure is one of the common ways to trigger an app being killed, but in this case, it's just me killing it.

In particular, I'm doing:

    BUILD_APP_NAME=ds-test ./flash.sh gaia

which winds up doing:

    adb shell kill PID
Flags: needinfo?

Comment 4

4 years ago
I could also reproduced this issue in my leo device.
Can you put in the detailed STR?  I'm a bit fuzzy on the "kill the old app" - just doing the flash as above twice doesn't trigger this for me, but it seems that it's easy to reproduce for the others.
(Reporter)

Comment 6

4 years ago
So I did the following today:

BRANCH=master ./config.sh unagi
./build.sh && ./flash.sh

Launch an app (I tried Gallery and Settings)

adb shell b2g-ps
adb shell kill PID

and I'm now seeing this everytime:

ABORT: bad Shmem: file /home/work/B2G-unagi/objdir-gecko-debug-birch/ipc/ipdl/PLayerTransactionParent.cpp, line 718

So it's crashing a little differently now than when I reported this problem. It's also crashing each and everytime, whereas a few days ago it was only crashing about 50% of the time.
(Reporter)

Comment 7

4 years ago
Oh yeah - I was doing a build with:

export B2G_DEBUG=1

in my .userconfig (may or may not be relevant)
Still have trouble reproducing, but perhaps because I keep running into the crash in bug 868180 instead.
I get the same as in comment 6 all the time now, e.g. starting the camera app.

Also, we now consistently fail to allocate gralloc buffers, so we're effectively never using gralloc anymore, see bug 868556.
Depends on: 868556
Benoit, can you still get this crash?
Flags: needinfo?(bjacob)
"Corrupted actor state" means one of these use-after-free-of-IPDL-actor bugs that we had typically when we were using SurfaceDescriptors unsafely. 

I haven't seen such crashes in a very long time, and given how many similar crashes have been fixed, how often they used to happen, and how long it's been since I saw one the last time, I assume that this has been fixed.
Flags: needinfo?(bjacob)
OK, but I don't want to close it until somebody that could crash it before confirms they can't crash it anymore :)
Flags: needinfo?(dhylands)
(Reporter)

Comment 13

4 years ago
I just tested with my unagi running a debug build on master and I'm not seeing the problem any more.
Flags: needinfo?(dhylands)
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.