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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 0.4.12
    • RosDlls
    • VirtualBox 5.2.26.

    Description

      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.

      Attachments

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

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: