Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-208

Server does not run on Windows XP due to a missing export "CallbackMayRunLong" in kernel32.dll

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.5.21, 5.5.22
    • Fix Version/s: 5.5.24
    • Component/s: None
    • Labels:
      None
    • Environment:
      Windows XP SP3 32bit

      Description

      Initially reported in the knowledge base:
      http://kb.askmonty.org/en/mariadb-5522-release-notes/comments/279

      I got the same problem trying to start server on XP, the error message is something like "The entry point into CallbackMayRunLong not found in kernel32.dll" (sorry for the rough quote, I only have it in Russian).

      Tried MariaDB 5.5.21 and 5.5.22, got it on both.

      No problem with MariaDB 5.3.5 or MySQL 5.5.22.

      See also https://bugs.launchpad.net/maria/+bug/973113

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            serg Sergei Golubchik added a comment -

            Wlad, I've added your WEAK_SYMBOL() wrapper for CallbackMayRunLong. mysqld.exe started to load, but in uncovered another problem. thread scheduler is set to pool-of-threads on windows by default, and it immediately crashes on XP.

            I've put a workaround in mysqld.cc, but please review it and feel free to fix it differently.

            http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/3364

            Show
            serg Sergei Golubchik added a comment - Wlad, I've added your WEAK_SYMBOL() wrapper for CallbackMayRunLong. mysqld.exe started to load, but in uncovered another problem. thread scheduler is set to pool-of-threads on windows by default, and it immediately crashes on XP. I've put a workaround in mysqld.cc, but please review it and feel free to fix it differently. http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/3364
            Hide
            wlad Vladislav Vaintroub added a comment -

            The workaround by Serg is actually a correct fix. Threadpool is not supposed to work on downlevel Windows versions (XP and Win2003) and thread-handling should be silently converted to thread-per-connection, as per documentation.

            I'm quite sure that similar check for Vista+ used to be in place during development of threadpool feature (and I even tested XP back in the days using a VM), yet it somehow disappeared when feature was checked in

            Show
            wlad Vladislav Vaintroub added a comment - The workaround by Serg is actually a correct fix. Threadpool is not supposed to work on downlevel Windows versions (XP and Win2003) and thread-handling should be silently converted to thread-per-connection, as per documentation. I'm quite sure that similar check for Vista+ used to be in place during development of threadpool feature (and I even tested XP back in the days using a VM), yet it somehow disappeared when feature was checked in

              People

              • Assignee:
                wlad Vladislav Vaintroub
                Reporter:
                elenst Elena Stepanova
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 0 minutes
                  0m
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 2 hours
                  2h