[php-src] Issue #12302: CONF Var log_limit and fpm_log_write show error "the log buffer is full ..."
| From: | 0bi-w6n-K3nobi | Date: | Tue, 26 Sep 2023 14:39:49 +0000 |
| Subject: | [php-src] Issue #12302: CONF Var log_limit and fpm_log_write show error "the log buffer is full ..." | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-245435@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/12302
Author: 0bi-w6n-K3nobi
### Description
Hello everybody.
Hum... I trying understand why so old bug/unexpected-behavior yet reside FPM software slice.
I can see that Config Variable
log_limit to be set, but ... **none code** for using it
value!
Several and several reports at foruns... but no definitive solution for that.
I'm crazy, or blind... or something like that.... But, for me ... a simple patch would be solve
years of complaints about this almost "miserable" behavior in Log generation.
Yes... I looked into code for every version at Git...
I be using 8.1, but lasted version seems the same problem.
So... Thinking simply, and perhaps stupid... My patch to would be:
```
--- a/fpm_log.c 2023-09-05 16:37:17.740605434 -0300
+++ b/fpm_log.c 2023-09-26 11:16:43.204109918 -0300
@@ -19,11 +19,19 @@
#include "fastcgi.h"
#include "zlog.h"
+# Really?! MAX_LINE_LENGTH is no always defined...
+# And Else coditional below limits everything!
+/*
#ifdef MAX_LINE_LENGTH
# define FPM_LOG_BUFFER MAX_LINE_LENGTH
#else
# define FPM_LOG_BUFFER 1024
#endif
+*/
+
+# Well.... It is not better code, but will be work...
+
+#define FPM_LOG_BUFFER fpm_global_config.log_limit
static char *fpm_log_format = NULL;
static int fpm_log_fd = -1;
@@ -98,7 +106,7 @@
int fpm_log_write(char *log_format) /* {{{ */
{
char *s, *b;
- char buffer[FPM_LOG_BUFFER+1];
+ char *buffer = alloca(FPM_LOG_BUFFER+1);
int token, test;
size_t len, len2;
struct fpm_scoreboard_proc_s proc, *proc_p;
```
Please... tell me I'm wrong...
A solution is needed for this problem that has been going on since version 7.