I think one of the most frustrating parts about being a computer programmer is the tiny errors that occur over and over again. At the time it didn't feel like such a big deal and it was just a tiny error that was easily fixed but then there was another and another and it just keeps going. At the end of the day you are really annoyed because all these tiny errors built up and made you mad.
Another problem I think can be very frustrating is third party API's. You rely on them a lot sometimes and then you notice an issue with it or need a new feature but that particular API doesn't give you any source to fix the issue yourself, so you need to ask the author of the API nicely and hope for the best.
Cross-platform development can be a very frustrating thing because it requires you to learn X(depending on how many platforms you support) different ways of doing the exact same most of the time. That can be very frustrating. On top of that cross-compiling can also give you annoying headaches.
Using the wrong program to manage your huge pile of code such as subversion and so forth. It can be very frustrating when you choose the wrong program for your solution and notice mid-development that this program causes more trouble than the missing documentation.
Developing your solution around a version of a third party API just to see that a very awesome update was released that is not backwards compatible, making you have to re-write half of the solution just because you like the clean API or maybe even the performance boost.
False design choices that meant good but are absolutely troublesome during development and because too much time was spent on realizing these designs they can no longer be reverted.
Not having a build server and forgetting to compile your project on all profiles - ending up with errors that are very hard to trace back because there has been a dozen changes before anything was compiled to see if it even works.
False documentation: This especially applies if the programmer who created the solution did not document it and another programmer had to make a documentation for the solution.
Programmers relying almost infinitely on goto, using it everywhere possible and thus making the code impossible to track.
Bloating a single file with insane amounts of code, especially classes, making it not humanly possible to keep track of what the class is actually supposed to do at all.
Programming languages that do not even care about syntax at all. This especially applies to PHP for me, it can be very frustrating to read people's code when the syntax is simply impossible on your eyes.
Your boss having very high expectations of you and your collegues but there not being enough time/resources to even come close to these expectations.
Your sponsor rushing your development and making it impossible for you to complete the initial software the way you desired.
That's a couple of the frustrating things that I come around while being a programmer. I guess it really depends on what people consider frustrating.