Will investigate. Hints appreciated
Yeah, doesn't look correct. The most likely reason is that the MIS weights corresponding to the different techniques for constructing a path don't sum up to one. This in turn is probably due to incorrect/inconsistent path pdf computation. What has helped me greatly in the past to debug such issues has been to debug one path length at a time.
Here are some more specific tips:
1. Start with an entirely diffuse scene. The pdfs are simpler.
2. Have a unidirectional path tracer that you're sure converges to the right solution.
3. Have a unidirectional light tracer that you're sure converges to the right solution. Compare against the images produced by the path tracer.
4. In the bidirectional path tracer, start by rendering direct illumination only, i.e. paths of length two (segments). There are already three ways to construct each such path. Make sure you compute the correct path pdfs, with solid-angle-to-area conversion factors (Jacobians) etc.
5. Only after you're sure the direct illumination converges to the same result as the path tracer and light tracer, move on to debugging one path longer. And one longer, etc.
6. Once you can correctly render a diffuse scene with your bidirectional tracer, add more complex materials.
Hope this helps!