We have discovered a bug which goes against the Core 3.3+ spec, by attaching two different sized textures (also same happens with renderbuffers) to a Frame Buffer Object.
By the spec, if attachments are different size, then the renderable area will be the intersection of all attachment sizes (largest rectangle to fit in all).
Also the GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT enum is part of the EXT_framebuffer_object extension, which we are definitely not using or loading function pointers to.
We use OpenGL 4.5 with DSA, and were able to reproduce the bug both on 64bit Linux (driver 387.34) and 64bit Windows (driver 391.01).
Here’s a repository directory with an apitrace file and the screenshot of the relevant trace, and a Linux binary
And a full source code of the binary in my engine repository; no visual studio solution for the example yet, but will come soon (also requires building the engine as a dependency, with openssl)