У меня возникает похожая ошибка. Во всяком случае, когда я добавляю в разные места программы следующий код, ошибка исчезает или перебегает на другое место:## Код:
```
TYPE T = POINTER TO RECORD END;
VAR t: T;
BEGIN
  NEW(t);
```

Ошибка возникает в Линуксовской версии Блэкбокса («BlackBox-Freenix»)http://gitlab.molpit.org/oberon/blackbox-freenix. Я уже изложил её суть в другой ветке форума (http://forum.oberoncore.ru/viewtopic.php?f=29&t=5664#p95476). Привожу это сообщение ниже:> -- kekc_leader писал(а):
> У меня с этим SDL_RectFill какая-то чертовщина происходит. Он то работает, то нет. Сейчас перестал совсем.Точнее, на Виндоусе всё работает, а на Линуксовской сборке Блэкбокса - нет. Выдаёт NIL dereference или вот такой трап:Происходит это на следующей строке:s - это SDL.Surface (указатель), rr - это SDL.Rect (не указатель)...Я в тупике. На Виндоусе всё работает прекрасно, а на Линуксе вот такая ошибка и хоть убей.Прилагаю компоненты к сообщению. Их два:1) Graph (внутри: Sdl.odc и Lib.odc; Lib использует Sdl) и2) SDLTest (внутри файл SDLTest.odc; использует GraphLib и GraphSdl).Линуксовская и Виндоуская версия отличаются только в одном месте - разными ссылками на DLL/SO:
Ещё добавлю, что Виндоусскую версию я тестирую через виртуальную машину, а в ней флаг rendererAccelerated при создании прорисовщика приводит к краху программы, поэтому я его заменяю на rendererSoftware. На Линуксовской версии Блэкбокса - наоборот, renderAccelerated может работать в тех случаях, когда renderSoftware выдаёт ошибку.

Иван Денисов предположил, что проблема в Линуксовской версии SDL2, но я проверял, это не так.