Premiere Pro 26.3.2 crashes in Source Monitor after repeated UXP ClipProjectItem in/out updates and overwrite edits
Issue
Premiere Pro crashed in native Source Monitor code after a UXP automation ran two successive timeline rebuilds. Each rebuild temporarily changed a ClipProjectItem's in/out points, used SequenceEditor.createOverwriteItemAction() to place the selected source range, and then cleared the project item's in/out points.
The first rebuild completed. A follow-up edit replaced the first result and rebuilt the same sequence. Premiere crashed after the second rebuild while the Source Monitor was processing a master-clip change and recalculating its timebar bounds.
Steps to reproduce
1. Create a project and import a normal video clip.
2. Open that project item in the Source Monitor.
3. From a UXP script, get the active Project, a target Sequence, its SequenceEditor, and the source ClipProjectItem.
4. In a project transaction, call ClipProjectItem.createSetInOutPointsAction(inPoint, outPoint).
5. In a second transaction, call SequenceEditor.createOverwriteItemAction(projectItem, timelineTime, 0, 0).
6. In a third transaction, call ClipProjectItem.createClearInOutPointsAction().
7. Remove the resulting timeline items with SequenceEditor.createRemoveItemsAction(...) and repeat steps 4–6 with a different source range, while the Source Monitor remains in use.
8. Continue working briefly in Premiere.
Expected result
Supported UXP transactions should complete without destabilizing Premiere. The Source Monitor should safely refresh when a project item's in/out points change, including when the actions are repeated.
Actual result
Premiere terminated with EXC_BAD_ACCESS (code=1, address=0xb) on the main thread. The relevant native stack was:
dvacore::utility::DictionaryStorageImpl<...>::Find
dvacore::utility::Dictionary::DoGetP0
BE::Clip::GetPlaybackSpeed
BE::Clip::GetCurrentUntrimmedDuration
BE::MasterClip::GetMaxCurrentUntrimmedDuration
UIF::ZoomLimiter::ConstrainTimePerPixel
UIF::ZoomLimiter::CalculateZoomFactors
UIF::TimeBarControlImpl::UpdateZoombarFromTimelineValues
HandlerSourceMonitor::SourceTransportView::SetBoundsSelf
HandlerSourceMonitor::SourceTransportView::EnableControls
This indicates that the Source Monitor attempted to read clip playback/duration state from an invalid native object while refreshing after a master-clip change.
Environment
- Adobe Premiere Pro 26.3.2, build 2 (Premiere Pro@26.3.2+2)
- macOS 26.6.1, build 25G76
- Apple silicon (arm64)
- 24 GB RAM
- Metal integrated GPU
Candidate mitigation
Closing all Source Monitor clips with SourceMonitor.closeAllClips() and allowing pending monitor callbacks to settle before changing project-item marks appears to avoid the crash path. This is a defensive workaround, not a substitute for validating the native object before the Source Monitor reads its playback speed and duration.
