[FUZZING] Avoid %YDB-E-ZGBLDIRACC messages from flooding the syslog during fuzz testing
Background
-
During fuzz testing, we noticed that the syslog had millions of lines of the following form.
YDB-YOTTADB[25513]: %YDB-I-TEXT, %YDB-E-ZGBLDIRACC, Cannot access global directory YDB/fuzzing/env/Follower2/mumps.gld. Cannot continue. -- generated from 0x00007F5E481EEC0B.
-
This made the syslog really huge in just a short amount of fuzz testing and filled up the filesystem that housed the syslog file (usually /var/log/syslog).
Issue
-
As part of GTM-7759 in GT.M V6.3-012 (a release that was recently merged into the YottaDB master branch), various error messages were changed so anytime that particular error occurs, a syslog message is also sent.
-
The
ZGBLDIRACC
message was one of those messages. -
During fuzz testing, we run without a global directory and/or database file at this point. So any database reference (which there are lots of) that happens during fuzz testing will issue a
ZGBLDIRACC
message that gets also logged in the syslog. And with time this will lead to a huge syslog file and a full filesystem.
Fix
-
sr_unix/gtm_putmsg_list.c
is modified to set themustlog
variable toFALSE
that way we do not log any message likeZGBLDIRACC
to the syslog during fuzz testing. This is achieved by creating a new patch filefuzzing/gtm_putmsg_list.c.patch
.