If pipeline has created programs those will be disposed first inside context dispose loop https://github.com/pex-gl/pex-context/blob/master/index.js#L1198 then pipeline gets disposed too decreases program.refCount to 0 and tries to dispose it again. Context can't find it in the resource array and thinks that the program is from another context.
Trying to dispose resource from another context
If pipeline has created programs those will be disposed first inside context dispose loop https://github.com/pex-gl/pex-context/blob/master/index.js#L1198 then pipeline gets disposed too decreases program.refCount to 0 and tries to dispose it again. Context can't find it in the resource array and thinks that the program is from another context.