Steps to reproduce:
1. Schedule a capture which will fail (for instance, a one-minute-long capture which starts less than a minute after another capture finishes --the capture agent delays the starting time one minute, so the capture remains with a 0 minutes length, and it's skipped – this behaviour could be a bug by itself).
A RecordingImpl object is never created (the recording is simply skipped). Therefore, nobody will ever notify that recording's state and the core "guesses" that it failed because it does not report to be "capturing" when it's suppossed to. However, even though the recording is shown as "failed", it appears under the "Upcoming" tab
The problem persists even though it has somehow been handled by showing a warning message in the UI. As those recordings will never report their state (because the object representing them is never created), then that warning message will never disappear, even though the agent is connected and reporting to the core.
Per http://opencast.3480289.n2.nabble.com/JIRA-Ticket-Cleanup-proposal-td7475080.html, this has been bulk resolved as won't fix. If this is still important to you please reopen and we can triage as appropriate.