After a few days of trial-and-error troubleshooting, I have narrowed down the list of suspects to the Subtitle stream that is causing --> Fatal Error- Code 6 - Graphic buffer underflow. OK.
That "OK" is what I always interpret as a software developer's ultimate expression of contempt for their customers.
This is a 25fps 1920x1080 project that is destined for BluRay. The project passes the "Check" process, and it previews in Encore without any issues. The subtitle stream, which I have imported and re-processed a number of times is Chinese - font "SimSun" 24 point. There are 1461 titles (feature length production). I created the subtitle stream in MacCaption in 25fps for a successful SD PAL DVD, and exported it from Encore, hoping to use it for the BluRay.
Perhaps there is some kind of attribute that is incompatible with trying to use it in a 1920x1080 project (and yes, I fixed all the 5 frame gaps so that Encore would allow me to start the build).
However, the project also tries to load a "Black PAL 1920x1080i -MPG2.m2v" file, which does not exist.
After 5 days of this. I am finally ready to declare WTF?
If you're making the subtitles in MacCaption, try the Time Code > Set Blank Frames feature, set it to 6. This ensures at least 6 empty frames between any two subtitles. Not sure why Encore needs it but it seems to help get past this error.
However I still had an issue where straight play of the Blu-ray would work with subtitles, but any Next/Prev chapter or FFwd/Rew during playback would cause the subtitles to stop working until the disc was stopped and started again from the beginning.
[Jason Livingston]"ensures at least 6 empty frames between any two subtitles. Not sure why Encore needs it but it seems to help get past this error."
Great tip. The gap is necessary for processing time apparently. However, the subtitle gap issue has already been addressed on the Encore subtitle stream, and passes the project analysis.
My own guess is that there's a possibility that even though its a text file, and font size needs to be re-assigned on import, there may be a screen resolution attribute that is somehow passed through... obviously still working on it.