Patch to the Rescue

Previously I had blogged about a problem with reports spawned by our application. Some testers received errors from the reports. The error message stated that there existed uncompiled Program units in the report. I felt some responsibility for this problem since it was my application that launched the reports. And I found out about the problem before our reports developer got in that morning. So I did some research. I shared the results of my research with our resident reports developer when she got in. Her plan was to defer the problem to the DBA Team. She thought the DBAs might reinstall the Oracle client to resolve the problem. That made no sense to me. So I continued in my investigation of the problem.

Yesterday I had fully understood the behavior of the problem. But I was at a loss for how to resolve it. It felt like a machine configuration issue. So I resorted to the evil advice of requesting the testers reinstall the Reports Server on their machine. It is the Report Server programs that actually run the reports and were displaying the error messages. I figured it was worth a try. I knew we were in trouble when the testers replied that a reinstall of Reports Server did not fix the problem. I decided to leave for the day because I was getting nowhere with this problem.

At home I took a nap in the evening. Then I woke up in the middle of the night. I tried to get back to sleep but could not. This reports problem was in my mind. Sometimes you need to forget all the details and all your ideas about a problem to generate novel approaches to solve the problem. So I went all the way back to the initial description of the problem. The testers got an error message stating that there were uncompiled Program units in the reports. Now the reports developer had encountered this same problem in the past. However the prognosis was that the reports developer installed the Reports Builder tool. And that installation affected the Reports Server. The fix for that problem was the installation of the latest patch for Reports Builder. That somehow also corrected the Reports Server on the developer’s machine. However a big deal was made about this patch. The party line was that this was only required on developers’ machines which had the Report Builder installed. If this was fact, then there would be no need to install the latest patch on the tester machines. However I wondered if this was indeed fact or just conjecture.

The next morning I shared a plan with our reports developer. I told her that we could try applying the latest Reports Builder patch to the tester workstations. Then we could use the results to further understand the nature of the problem. The reports developer had a copy of the patch executable on the network drive. So she ran over to the tester machine and had then install the patch. The test team visited me, happily showing off the successful prints from the reports. Apparently this fixed the problem. Now we need to worry about pushing out the patch to all our users. However the mystery of the reports problem had been solved. I had mixed feelings about the success. It was good that this was not a coding problem that required a software fix. However this now meant that we had to push out a big patch to a lot of customer machines. My team lead did not worry about this too much. We were already planning to push a big install which upgraded customer workstations. One more patch would not hurt according to him. I wonder if, having resolved this troubling problem, I can go home for the day.