The following should work, but take a backup first (as with all production-type fixes)
Switch the database to simple recovery.
Run a checkpoint
Switch back to full recovery
Take a full backup
Test log backups to see if they work.
If so, take the shrink out of the log backup job. It's not a good idea. Recommendation with the log is to set it to the size it needs to be based on the frequency of your log backups and the activity of the database and then leave it alone.
Check windows event logs and any hardware logs. Corruption's usually a problem with the IO subsystem.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability