[MDEV-11332] 32-bit system error or x64 instance of MariaDB Created: 2016-11-22  Updated: 2016-11-24  Resolved: 2016-11-24

Status: Closed
Project: MariaDB Server
Component/s: Platform Windows
Affects Version/s: 10.1.19
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Jakub Olszak Assignee: Unassigned
Resolution: Not a Bug Votes: 0
Labels: crash, innodb
Environment:

Windows Server 2012


Attachments: PNG File mariadbWOOT.png    

 Description   

So I've installed MariaDB in x64 version on my Windows Server (which also is x64 and has 10GB of RAM memory available), yet when I adjust innodb_buffer_pool_size variable to over 4GB I get the:

[ERROR] innobase_buffer_pool_size can't be over 4GB on 32-bit systems

I most definitely used the https://downloads.mariadb.org/interstitial/mariadb-10.1.19/winx64-packages/mariadb-10.1.19-winx64.msi/from/http%3A//mariadb.kisiek.net/ installer.

Windows Control Panel indicates MariaDB is in x64 version, also mysql --version command returns:
C:\xampp\mysql\bin>mysql --version
mysql Ver 15.1 Distrib 10.1.19-MariaDB, for Win32 (AMD64)

The one thing that might be important is that while installing this version I've overwritten default XAMPP MySQL instance, which is x86.

Any clues?



 Comments   
Comment by Vladislav Vaintroub [ 2016-11-22 ]

You probably have not overwritten the default XAMPP instance. you can check the service definition and whether its mysqld.exe points to 64bit mysqld.exe

C:\xampp\mysql\bin>mysql --version
mysql Ver 15.1 Distrib 10.1.19-MariaDB, for Win32 (AMD64)

it does not prove that server is 64bit. it is client's output.

Comment by Jakub Olszak [ 2016-11-23 ]

It doesn't really look like it :/ I've checked properties of the service and it leads to mysqld.exe which modification time corresponds with time of MariaDB installation I've run

Comment by Vladislav Vaintroub [ 2016-11-23 ]

I installed it on my machine. I can definitely use bufferpool larger than 4GB

Can you run that query below to see any difference

mysql -uroot -e "show variables like 'version%';select @@innodb_buffer_pool_size"

--------------------------------------------------------+

Variable_name Value

--------------------------------------------------------+

version 10.1.19-MariaDB
version_comment mariadb.org binary distribution
version_compile_machine x64
version_compile_os Win64
version_malloc_library system
version_ssl_library YaSSL 2.4.2

--------------------------------------------------------+
---------------------------

@@innodb_buffer_pool_size

---------------------------

5242880000

---------------------------

Comment by Jakub Olszak [ 2016-11-24 ]

It shows 32 bits. All other variables are the same as in your case though, so it's definitely running 10.1.19. Is it possible that during "update" installer detected x86 MySQL and instead of overwriting it with x64 it installed x86 instance???

Comment by Vladislav Vaintroub [ 2016-11-24 ]

We do not have 32bit binaries in x64 package, except 3rd party merge modules, i.e HeidiSQL. What is the mysqld version from XAMPP? My guess is that you're still using it.

Comment by Jakub Olszak [ 2016-11-24 ]

Hmm alright! I've unpacked the x64 msi installer and copied mysqld.exe manally to overwite the one which was in /bin folder. It might not have been overwritten during installation. Now MariaDB is running in x64 mode, accepting buffer pool size > 4G. Looks like a problem solved! Thanks for your help

Comment by Vladislav Vaintroub [ 2016-11-24 ]

I would not recommend to install files over the package from different vendor. I'm surprised it works at all. Even if it appeared to work, there are file versioning rules by which MSI might choose either to replace a file or not, there are file locking issues (i.e you cannot replace a currently running executable), and other possibly interesting side-effects.

Generated at Thu Feb 08 07:49:07 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.