Factual error: Several times the movie shows two torpedoes side by side, fired off simultaneously. This was not possible in German U-Boats, a simple timer prevented this and delayed firing the second or more torpedo by a few seconds. Torpedoes in WWII were prone to premature detonation and without this mechanism, one premature detonation could ignite a whole salvo, a significant risk of killing the sub that fired them.
Factual error: It takes a whole of two minutes from the discovery of the boarding party and the cry "Alarm" till the first Americans even enter the command central of U-571, and another almost 90 seconds till they secure the radio room. German subs were under strict orders to destroy all secret material the instant they had reason to believe a boarding was probable. To that end, all code books were printed in water-soluble inks on water-soluble paper, and even the electrical connections inside the rotors of the enigma machine were seawater-soluble. (Admittedly the latter was more with the idea of enemies salvaging sunk boats in mind, and I have no information on how fast that decay would have happened) All it would have taken is to lift up one of the floor plates and drop the stuff into the bilge below. And yes, since German subs of the era didn't have answering machines, the radio room would be manned around the clock. For that reason, boarding actions of that sort had to be above all lightning-fast. Dramatic as the fight scene is, in reality it would have ensured that the boarding party came away empty-handed. (00:38:30 - 00:41:45)
Factual error: Submariners are trained to always listen to the sounds of the boat, since anything out of the ordinary could mean death. Given that training, the small size of a German U-boat and the less-than-skeleton crew aboard it is not possible that the sounds of the fight in the forward torpedo room, or the sounds of the German commander operating the chain on the torpedo loading rail would have gone unnoticed or uninvestigated for so long.
Factual error: At the beginning of the film the diesel fuel in the German U-boat is shown being ignited by a spark and bursting into flames during the depth charge attack as if it were gasoline. In reality diesel fuel is quite hard to ignite when not compressed and does not burn quite so readily as shown in the film. (00:06:05)
Factual error: The movie used 3 "dive" commands and 3 blasts of the klaxon to dive. This is incorrect. The command to dive is repeated twice and the diving klaxon is sounded twice. Command to surface is 3 and 3.
Factual error: When the German "destroyer" is attacking, it drops a steady stream of depth charges. I reality, depth charge attacks were made by locating the sub on sonar and dropping a pattern of five or ten charges at a time when the escort ship was above the target. These were set for the estimated depth and would have gone off at roughly the same time.
Factual error: When Rabbit first checks the German sub's torpedo tubes, we catch a glimpse of the torpedo loaded in the tube, its propulsion screws visible. It is loaded incorrectly and missing the piston-type device put in behind the torpedo which pushes the torpedo out via compressed air. This torpedo wouldn't go anywhere when fired. (00:53:12)
Factual error: The American crew tries to fool the German destroyer by launching a corpse and debris through the torpedo tubes. However, at more than 150 meters depth this would have been pretty much suicide. The outer torpedo doors of a Type VII sub were not designed to be opened in depths exceeding 20 meters. At 150 meters, the crew probably would have been unable to open them in the first place, but even if they did the brutal water pressure would have likely severely destroyed the outer and inner torpedo doors and caused the submarine to be flooded and crushed in seconds.
Factual error: At the beginning of the movie, the German commander wants to send an emergency message with coordinates to the BdU, the German Submarine Command, to send help. The scene is subtitled in English with "To Berlin: Location 85-32." However, the command post at the time was based in Lorient, France and not in Berlin. (00:08:05)
Suggested correction: He didn't send the message to the BdU, his message was send to the OKM (OberKommando der Marine), which had its headquarters in Berlin, because it involved the enigma code (although the movie is only loosely based on historic events). These kinds of messages were always send to Berlin. This is because the OKM answered to the OKH, which in turn answered to Hitler who was of course also in Berlin. This is their concern, not that of the BdU.
Of course he does, the commander literally says to the radioman "Ruf an BdU absetzen: Position AL 85-32. Alle Maschinen ausgefallen, manövrierunfähig, erwarten Hilfe" or "Send transmission to BdU: Position AL 85-32. All engines out of service, unable to manoeuvre, we expect help." This was correct procedure, proper chain of command would always be to contact the BdU, not the OKM. Also the integrity of the enigma was probably not a concern at that time, the crew would have ample time to destroy all sensitive materials if they were in danger. The German commander's main concern was to get his sub back up and running.
Right, I couldn't understand that part before. But you are right.