^@^@ character in syslog

I observe the following strange characters ^@ in syslog at the time when my machine freezes.

Then i have to hardboot my machine.

What could be wrong any ideas?

Oct 12 12:20:52 nanak-P570WM anacron[1074]: Normal exit (1 job run)
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@

Oct 12 12:24:28 nanak-P570WM kernel: imklog 5.8.11, log source = /proc/kmsg started.
Oct 12 12:24:28 nanak-P570WM rsyslogd: [origin software="rsyslogd" swVersion="5.8.11" x-pid="543" x-info="http://www.rsyslog.com"] start

Solution 1:

What is wrong is that at the time that your machine was reset the data for the log file had not been written from memory (the kernel's disc cache) to disc, but the metadata recording its current size had been. So you end up with a log file that has a few disc blocks of zero bytes, filling in the parts of the file that were allocated from free space but not in fact written to, followed by the new log data written from the next bootstrap onwards.

Solution 2:

Those are ascii NUL characters, aka \0. They might be a sign of memory corruption or some software bugs. I would run memcheck.