How to handle new "not reproducible" bug, that is known to exist but not known how
I'm writing this as a developer hoping to get feedback from the QA community.
We've got a client facing web application, for a very small development team. Assume we have a product manager and developer, with the Product Manager handling most client interaction, and the developer fixing most issues. There is no dedicated QA team.
Recently we had a couple client reported bugs (via email), that included a screenshot representing the problem in the web app. It was clear that an error alert occurred, on what page, etc. But it was not clear the exact steps how it occurred.
As a developer, I've been unable to reproduce the bug, after several attempts, each trying as many possible variations of the section in question, and having them all work as expected. It works in every case I've tried. The difficulty is that all the bug report includes is the screenshot, and the Product Manager is requesting it fixed obviously.
My question is, how should I as a developer handle the situation where a bug is "not reproducible" after a detailed investigation, specifically when the Product Manager expects it fixed? Obviously it should be fixed, but who's responsibility should it be to find the reproducible steps when it isn't specified and can't be determined? I've asked the PM to help find the steps, and he responded that he wouldn't be able to do any more than I to find it, so would be not helpful to try.
At what point is it considered acceptable to stop the bug fix investigation when the Client Request obviously needs to be handled somehow?
First, it is absolutely professional to ask for more information when you've made a number of attempts to reproduce the problem and haven't been able to do so. You've effectively eliminated the most obvious potential problems with your attempts to reproduce, so the cause is something less obvious: it could be the customer using a different configuration, it could be browser-specific, it could be related to the interaction of browser and operating system, a compatibility issue with something the customer is running on their machine... there are many potential causes.
For something like this, I'd ask your Product Manager to contact the customer with a request for more information, and at the same time (if possible) offer to add more logging to the application so that the next time the problem occurs, the system logs will give you more detail on what happened.