In general, the actual shared file (either it is .shared or .pgo or any shared files) structure does not get corrupted. Actual file corruption is generally caused by hardware issues or malicious code. What it was noticed is that shared objects stored in the file are sometimes not complete, or containing garbage characters. The most likely causes of this is that the shared file handling was lacking when it comes to high amounts of concurrent reading /writing and unexpected events like server restarts/crashes or resource exhaustion.
Most other common reasons for file corruption are:
Improper shutdowns, such as caused by power outages or performing a hard restart: pressing and holding the power button.
Hardware problems or failures, including hard drive failures, bad sectors, bad RAM.
Failure to eject external hard drives and related storage devices before disconnecting them or powering them off.
Bad programming, particularly if it results in either hard restarts or data that is saved incorrectly.
When Antivirus trying to access same file when the file is in use. Running real-time anti-virus protection on the server degrades the performance of QlikView Server. It is recommended that the user documents, source documents, log directories, and .pgo files are excluded from the anti-virus scanning.)
High workload/resource exhaustion of the machine resource
Sectors are divisions of a hard disk. When a user tries to save a file, the computer searches for a sector on the hard disk to save the data. If the computer saves a file to a "bad sector," the file is likely to become corrupt or inaccessible. Bad sectors can be caused by physical damage (i.e., the hard disk losing magnetism and hence its ability to store data) or bad parity checks on the disk. A computer does not know which sectors are bad or unstable, so the user must scan hard disks (such as the C Drive) to check for bad sectors. This can be done by right-clicking on the drive from "My Computer," selecting "Properties," "Tools" and selecting "Check Now" under the heading "Error-checking."
Cross-Linked Files or Lost Clusters
In computer systems, a "cluster" is the smallest amount of disk space needed to store a file. Files are allocated individual clusters, which can range from one sector (512 bytes) to 128 sectors (64 kilobytes). A cross-linked file occurs when two or more files have been allocated the same cluster, which will corrupt all files saved to the same cluster. Lost clusters may also cause corrupt files; when a file is deleted from the computer's directory listing, but the File Allocation Table (FAT) still shows clusters allocated to that file, the clusters become "lost" and data which is saved to this cluster will show as "cross-linked," even if the directory listing has already been deleted.
Infected Files and Viruses
Viruses can delete files, infect the computer registry, change volume labels, mark sectors as bad on the drive, mark clusters as bad in the FAT, create cross-linked files or create new partitions on the disk drive. A virus can easily change how files are saved and read on a computer, causing corrupt files to occur even if no problem exists with a hard drive. Viruses can, for example, mark sectors as bad when they are functioning normally, and cause all files to become corrupt or inaccessible for the user in that sector.
System crashes can be caused by various factors on a computer system. Logical crashes (i.e., complete shut down, or the "Blue Screen of Death" for Windows users) occur when programs use conflicting memory, or when new hardware is corrupt. Programs are normally allocated memory from the system and cannot share a portion of memory; if one program accesses another program's allocated memory, a crash may occur. If programs using kernel memory (trusted programs, such as the operating system or hardware drivers) access another kernel program's memory, a system crash/shutdown will occur. In both cases, if a file is being saved, accessed or sometimes open, the file may become corrupt from a sudden shutdown.