Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.11.19
-
None
-
Can result in unexpected behaviour
-
Description
From fiddaman - https://jira.mariadb.org/browse/MDEV-38671?focusedCommentId=336602&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-336602
Having just upgraded mariadb on a system running illumos, this change has bitten me:
2026-08-04 12:21:11 0 [ERROR] InnoDB: Cannot map innodb_buffer_pool_size_max=8388608m
|
2026-08-04 12:21:11 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
|
On Linux a `PROT_NONE` anonymous mapping costs nothing, but on illumos any anonymous mapping without `MAP_NORESERVE` reserves swap at map time regardless of protection (https://man.omnios.org/man4/swap).
I fixed it by explicitly adding smaller limits to `my.cnf` for am also planning to apply the following patch:
--- a~/mysys/my_largepage.c 1970-01-01 00:00:00
|
+++ a/mysys/my_largepage.c 1970-01-01 00:00:00
|
@@ -492,7 +492,11 @@ char *my_large_virtual_alloc(size_t *size)
|
ptr= mmap(NULL, *size, PROT_READ | PROT_WRITE,
|
MAP_PRIVATE | OS_MAP_ANON, -1, 0);
|
# else
|
- ptr= mmap(NULL, *size, PROT_NONE, MAP_PRIVATE | OS_MAP_ANON, -1, 0);
|
+ ptr= mmap(NULL, *size, PROT_NONE, MAP_PRIVATE | OS_MAP_ANON
|
+# ifdef __illumos__
|
+ | MAP_NORESERVE
|
+# endif /* __illumos__ */
|
+ , -1, 0);
|
# endif
|
if (ptr == MAP_FAILED)
|
ptr= NULL;
|
Attachments
Issue Links
- relates to
-
MDEV-38671 SET GLOBAL innodb_buffer_pool_size cannot be increased by default
-
- Closed
-
- links to