Listening and Fixing: One Tough Photoshop Bug

The Adobe Photoshop team prides itself on listening to customers through all forms of customer support and social media channels. One of the most interesting issues that was reported was the following thread from our customer feedback site:

Adobe Community Help Keeps Popping Open

The backstory

Lunch room conversations usually revolve around the latest episode of a favorite TV show, but in the Photoshop Team’s Minnesota office, we often end up talking about our customer’s needs and the issues they face.

One of the oldest issues that was reported for Photoshop was one where on Windows occasionally, and seemingly randomly, the Photoshop help would launch in your default browser in the middle of a different Photoshop operation. Many times throughout the years, developers and quality engineers would try to reproduce and debug this particular issue to no avail. Occasionally, without trying, someone on the team would see the Photoshop help pop up and invariably think that they accidentally pressed “F1″ which is the key that does launch the help from within Photoshop.

A breakthrough – Consistently reproducible steps

One day the automation was run with a flag that is normally reserved for our code coverage machines calld “Disable Quitting App”. Upon returning the next morning we saw the default browser had launched with a tab showing the Photoshop help. Having discussed this issue as one we’d desperately love to reproduce, we knew this was our chance to finally track it down and fix it!

We immediately took a picture of the screen and checked the logs for what was different between this automation run and the ones we normally run in our automation lab. It turned out that the combination of running all of the automation tests end to end in multiple loops as well as not quitting the application in-between groups of tests, caused the issue to be reproducible 100% of the time.

Debugging and slaying the bug

The next step was to narrow down the thousands of tests into a smaller atomic set that could be run while using a debugger. The Photoshop automation suite is vast and it takes most of the day especially if you are running all of the tests. After another couple days, there was a specific layer styles test that reproduced the issue but only when it was run in succession after a number of other tests completed first. If you ran the test individually, everything worked as expected.

At this point it was time to bring in the developers to look at the code in the debugger at the exact moment that it was reproducing. Developers are very good at fixing issues once they can consistently reproduce it, and this was no exception. Within 10 minutes the issue was fixed.

It turned out that an extra 3 lines of code were still in the product from an older Photoshop help system. When the new system was put in place for a a newer version of Photoshop, one extra “case” statement was left in the code and was executing occasionally when it shouldn’t have been when certain other variables lined up.

The Photoshop team was able to release a patch for Photoshop CC (14.2) as well as Photoshop CS6 (13.0.1.3) to resolve this issue. Customers have confirmed that this fix is working and the team can now return to musing over other customer issues to tackle.

Providing feedback

The quality of Photoshop wouldn’t be what it is today without our passionate and loyal customers around the world. Giving us regular feedback helps us to find and fix issues that we may otherwise not know about. We are listening.

Here are a few ways that you can send us feedback:

Thanks,
Jeff Sass

Engineering Manager, Photoshop

Leave a Reply

Your email address will not be published. Required fields are marked *


one + 5 =

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>