Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-16121

[0.4.12-RC] Regression: reproducible heap assertion at 2nd setup stage when adding additional keyboard layouts



    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 0.4.12
    • Component/s: Applications
    • Labels:
    • Environment:

      VirtualBox 5.2.26.

    • Module:
    • Guilty Commit:


      It's reproducible only in 0.4.12-RC builds, 0.4.12-dev-1082-ge0e5363 and 0.4.13-dev-445-gbf249bd are not affected. Although I tested it only with latest 0.4.12-RC-32-g152ee20 for now, I probably need to find guilty commit in releases/0.4.12 branch.

      Steps to reproduce:

      1. Pass 1st setup stage with Russian localization (Русский) and English (USA) keyboard layout. For me it is reporducible only with these settings.
      2. At 2nd setup stage, pass "Welcome" (Добро пожаловать в мастер установки ReactOS) and "License" (Подтверждение лицензии) steps as usually too, and click "Next" (Далее) for getting on "Regional Settings" (Региональные настройки) step.
      3. Click the first "Customize..." (Настроить...) button opposite "To change system or user locale settings, click "Customize"" (Для изменения языка системы нажмите "Настроить").
      4. In "Location" (Расположение) groupbox of appeared window (Язык и региональные стандарты), select "Ukraine" location (Украина). (I'm not sure that it may affect the problem, but did it each time).
      5. Click "Apply" (Применить) and then "OK".
      6. Click the second "Customize..." (Настроить...) button opposite "To change the keyboard layout, click "Customize"" (Для изменения раскладки нажмите "Настроить").
      7. Below the list of current keyboard layouts, Click "Add" (Добавить).
      8. Select "Ukrainian" in "Input language" (Язык ввода) from the dropdown list, "Украинская" in "Keyboard layout" (Раскладка клавиатуры) and click OK.
      9. Click "Apply" (Применить). Will appear a question dialog "Reboot now?" (Перезагрузить сейчас?). Click "No" (Нет).
      10. Click "OK". That dialog will appear again. Click "No" (Нет) again. Now heap assertion will appear:

      *** Assertion failed: Heap->u.FreeListsInUseBytes[Index] & Bit
      ***   Source File: ../sdk/lib/rtl/heap.c, line 242

      If to ignore that assert, 2nd setup stage will continue without any errors. If to break it once, appears breakpoint exception. If to click "Cancel" (Отмена), error dialog closes and installation continues successfully too.

      Tested on VirtualBox 5.2.26.

      log2lines.log - log with translated addresses via log2lines is attached also.


        1. 0.4.12-dev-1082-ge0e5363.png
          17 kB
          Oleg Dubinskiy
        2. 0.4.12-RC-26-g486fd83-ok.png
          17 kB
          Oleg Dubinskiy
        3. 0.4.12-RC-27-g89f3036.log
          76 kB
          Oleg Dubinskiy
        4. 0.4.12-RC-27-g89f3036.png
          16 kB
          Oleg Dubinskiy
        5. 0.4.12-RC-27-g89f3036-break-once.png
          19 kB
          Oleg Dubinskiy
        6. 0.4.12-RC-32-g152ee20.log
          176 kB
          Oleg Dubinskiy
        7. 0.4.12-RC-32-g152ee20.png
          16 kB
          Oleg Dubinskiy
        8. 0.4.12-RC-32-g152ee20-break-once.png
          19 kB
          Oleg Dubinskiy
        9. 0.4.13-dev-445-gbf249bd.png
          17 kB
          Oleg Dubinskiy
        10. fixed.png
          17 kB
          Oleg Dubinskiy
        11. log2lines.log
          177 kB
          Oleg Dubinskiy



            • Assignee:
              learn_more Mark Jansen
              Oleg Dubinskij Oleg Dubinskiy
            • Votes:
              2 Vote for this issue
              2 Start watching this issue


              • Created: