Skip to content

[fpGUI 2.0, Linux] Access violation at examples start #143

@rchastain2

Description

@rchastain2

Hello Graeme (and again thank you very much for that new version).

I don't know why I get a violation access when I start an example. (I tried with three examples.)

Here is how I compiled fpGUI:

$ pasbuild compile -p unix,agg
[INFO] PasBuild 1.2.0
[INFO] Copyright (c) 2025 by Graeme Geldenhuys

[INFO] Executing goal: reactor-compile
[INFO] Building 2 modules in dependency order
[INFO] Building module 1/2: fpgui-framework
[INFO] Executing goal: process-resources
[INFO] Processing resources from src/main/resources...
[INFO]   Filtering enabled
[INFO]   Filtered: languages/fpgui.zh_CN.po
[INFO]   Filtered: languages/fpgui.po
[INFO]   Filtered: languages/fpgui.he.po
[INFO]   Filtered: languages/fpgui.en.po
[INFO]   Filtered: languages/fpgui.pt_BR.po
[INFO]   Filtered: languages/fpgui.fr.po
[INFO]   Filtered: languages/fpgui.ms.po
[INFO]   Filtered: languages/fpgui.pt.po
[INFO]   Filtered: languages/fpgui.uk.po
[INFO]   Filtered: languages/fpgui.et.po
[INFO]   Filtered: languages/README.txt
[INFO]   Filtered: languages/fpgui.de.po
[INFO]   Filtered: languages/fpgui.it.po
[INFO]   Filtered: languages/fpgui.lo.po
[INFO]   Filtered: languages/fpgui.ru.po
[INFO]   Filtered: languages/fpgui.af.po
[INFO]   Filtered: languages/fpgui.pl.po
[INFO]   Filtered: languages/fpgui.es.po
[INFO]   Filtered: VERSION_FILE.inc
[INFO] Resources processed successfully
[INFO] Executing goal: compile
[INFO] Compiling project...
[INFO] Generating bootstrap program for library...
[INFO] Discovered 114 units
[INFO] Bootstrap program generated: target/bootstrap_program.pas
[INFO] Found 266 source file(s)
[INFO] Found 64 include file(s)
[INFO] Activating profile: unix
[INFO] Activating profile: agg
[DEBUG] user defined UnitPath: corelib/x11
[DEBUG] user defined UnitPath: corelib/render/software
[INFO] Build successful (see target/pasbuild-status/compile/fpc.log for details)
[INFO] Module build successful: fpgui-framework
[INFO] Building module 2/2: uidesigner
[INFO] Executing goal: process-resources
[INFO] Processing resources from src/main/resources...
[INFO]   Copied: uidesigner.desktop
[INFO]   Copied: icon_16.png
[INFO]   Copied: uidesigner.exe.manifest
[INFO]   Copied: icon_32.png
[INFO]   Copied: images/tabsheet.bmp
[INFO]   Copied: images/radiobutton.bmp
[INFO]   Copied: images/stringgrid.bmp
[INFO]   Copied: images/gauge.bmp
[INFO]   Copied: images/newform_16.bmp
[INFO]   Copied: images/groupbox.bmp
[INFO]   Copied: images/checkdateedit.bmp
[INFO]   Copied: images/shape_align_top.bmp
[INFO]   Copied: images/treeview.bmp
[INFO]   Copied: images/shape_align_left.bmp
[INFO]   Copied: images/listview.bmp
[INFO]   Copied: images/splitter.bmp
[INFO]   Copied: images/dateedit.bmp
[INFO]   Copied: images/editdirectory.bmp
[INFO]   Copied: images/valuebar.bmp
[INFO]   Copied: images/trackbar.bmp
[INFO]   Copied: images/pagecontrol.bmp
[INFO]   Copied: images/editcurrency.bmp
[INFO]   Copied: images/colorlistbox.bmp
[INFO]   Copied: images/editbutton.bmp
[INFO]   Copied: images/colorwheel.bmp
[INFO]   Copied: images/hyperlink.bmp
[INFO]   Copied: images/tscrollbox.png
[INFO]   Copied: images/editinteger.bmp
[INFO]   Copied: images/menubar.bmp
[INFO]   Copied: images/progressbar.bmp
[INFO]   Copied: images/ledmatrix.bmp
[INFO]   Copied: images/editfont.bmp
[INFO]   Copied: images/editfloat.bmp
[INFO]   Copied: images/editfilename.bmp
[INFO]   Copied: images/shape_align_right.bmp
[INFO]   Copied: images/scrollframe.bmp
[INFO]   Copied: images/toggle.bmp
[INFO]   Copied: images/richtextview.bmp
[INFO]   Copied: images/listbox.bmp
[INFO]   Copied: images/shape_align_bottom.bmp
[INFO]   Copied: languages/uidesigner.en.po
[INFO]   Copied: languages/uidesigner.pl.po
[INFO]   Copied: languages/uidesigner.po
[INFO]   Copied: languages/uidesigner.ms.po
[INFO]   Copied: languages/uidesigner.pt.po
[INFO]   Copied: languages/uidesigner.et.po
[INFO]   Copied: languages/uidesigner.uk.po
[INFO]   Copied: languages/uidesigner.pt_BR.po
[INFO]   Copied: languages/uidesigner.ru.po
[INFO]   Copied: languages/uidesigner.af.po
[INFO]   Copied: uidesigner.png
[INFO] Resources processed successfully
[INFO] Executing goal: compile
[INFO] Compiling project...
[INFO] Found 15 source file(s)
[INFO] Found 2 include file(s)
[WARNING] Profile not found: unix
[WARNING] Profile not found: agg
[INFO] Build successful (see target/pasbuild-status/compile/fpc.log for details)
[INFO] Module build successful: uidesigner
[INFO] Reactor build complete: 2/2 modules built

Here is how I compiled an example:

$ fpc @extrafpc.cfg aboutdialog.pp
Note: DWARF debug information cannot be used with smart linking on this target, switching to static linking
Free Pascal Compiler version 3.2.2 [2023/03/05] for x86_64
Copyright (c) 1993-2021 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling aboutdialog.pp
Compiling fabout.pas
fabout.pas(122,29) Warning: Symbol "SetPosition" is deprecated: "Use Left, Top, Width, Height properties instead"
fabout.pas(134,30) Warning: Symbol "SetPosition" is deprecated: "Use Left, Top, Width, Height properties instead"
fabout.pas(147,30) Warning: Symbol "SetPosition" is deprecated: "Use Left, Top, Width, Height properties instead"
fabout.pas(159,30) Warning: Symbol "SetPosition" is deprecated: "Use Left, Top, Width, Height properties instead"
fabout.pas(171,31) Warning: Symbol "SetPosition" is deprecated: "Use Left, Top, Width, Height properties instead"
aboutdialog.pp(55,30) Warning: Symbol "SetPosition" is deprecated: "Use Left, Top, Width, Height properties instead"
aboutdialog.pp(61,32) Warning: Symbol "SetPosition" is deprecated: "Use Left, Top, Width, Height properties instead"
Linking aboutdialog
431 lines compiled, 3.1 sec
7 warning(s) issued
1 note(s) issued

Here is what happens when I launch the example:

$ ./aboutdialog
An unhandled exception occurred at $0000000000587A1E:
EAccessViolation: Access violation
  $0000000000587A1E  FONT_ENGINE_FREETYPE_BASE__DESTRUCT,  line 874 of src/main/pascal/corelib/render/software/agg_font_freetype.pas
  $000000000050E495  TFPGAGG2DFONTRESOURCE__DESTROY,  line 1325 of src/main/pascal/corelib/render/software/Agg2D.pas
  $000000000050E411  TFPGAGG2DFONTRESOURCE__CREATE,  line 1320 of src/main/pascal/corelib/render/software/Agg2D.pas
  $00000000004F0128  TFPGFONTMANAGER__GETFONT,  line 114 of src/main/pascal/corelib/fpg_fontmanager.pas
  $00000000004F02AA  TFPGFONTMANAGER__GETDEFAULTFONT,  line 150 of src/main/pascal/corelib/fpg_fontmanager.pas
  $00000000004F01E1  TFPGFONTMANAGER__GETFONT,  line 130 of src/main/pascal/corelib/fpg_fontmanager.pas
  $00000000004F02AA  TFPGFONTMANAGER__GETDEFAULTFONT,  line 150 of src/main/pascal/corelib/fpg_fontmanager.pas
  $00000000004F01E1  TFPGFONTMANAGER__GETFONT,  line 130 of src/main/pascal/corelib/fpg_fontmanager.pas
  $00000000004F02AA  TFPGFONTMANAGER__GETDEFAULTFONT,  line 150 of src/main/pascal/corelib/fpg_fontmanager.pas
  $00000000004F01E1  TFPGFONTMANAGER__GETFONT,  line 130 of src/main/pascal/corelib/fpg_fontmanager.pas
  $00000000004F02AA  TFPGFONTMANAGER__GETDEFAULTFONT,  line 150 of src/main/pascal/corelib/fpg_fontmanager.pas
  $00000000004F01E1  TFPGFONTMANAGER__GETFONT,  line 130 of src/main/pascal/corelib/fpg_fontmanager.pas
  $00000000004F02AA  TFPGFONTMANAGER__GETDEFAULTFONT,  line 150 of src/main/pascal/corelib/fpg_fontmanager.pas
  $00000000004F01E1  TFPGFONTMANAGER__GETFONT,  line 130 of src/main/pascal/corelib/fpg_fontmanager.pas
  $00000000004F02AA  TFPGFONTMANAGER__GETDEFAULTFONT,  line 150 of src/main/pascal/corelib/fpg_fontmanager.pas
  $00000000004F01E1  TFPGFONTMANAGER__GETFONT,  line 130 of src/main/pascal/corelib/fpg_fontmanager.pas
  $00000000004F02AA  TFPGFONTMANAGER__GETDEFAULTFONT,  line 150 of src/main/pascal/corelib/fpg_fontmanager.pas

Liberation Sans is installed:

$ fc-list
...
/usr/share/fonts/TTF/liberation/LiberationMono-BoldItalic.ttf: Liberation Mono:style=Bold Italic
/usr/share/fonts/TTF/liberation/LiberationMono-Bold.ttf: Liberation Mono:style=Bold
/usr/share/fonts/TTF/liberation/LiberationMono-Italic.ttf: Liberation Mono:style=Italic
/usr/share/fonts/TTF/liberation/LiberationMono-Regular.ttf: Liberation Mono:style=Regular
/usr/share/fonts/TTF/liberation/LiberationSans-BoldItalic.ttf: Liberation Sans:style=Bold Italic
/usr/share/fonts/TTF/liberation/LiberationSans-Bold.ttf: Liberation Sans:style=Bold
/usr/share/fonts/TTF/liberation/LiberationSans-Italic.ttf: Liberation Sans:style=Italic
/usr/share/fonts/TTF/liberation/LiberationSans-Regular.ttf: Liberation Sans:style=Regular
/usr/share/fonts/TTF/liberation/LiberationSerif-BoldItalic.ttf: Liberation Serif:style=Bold Italic
/usr/share/fonts/TTF/liberation/LiberationSerif-Bold.ttf: Liberation Serif:style=Bold
/usr/share/fonts/TTF/liberation/LiberationSerif-Italic.ttf: Liberation Serif:style=Italic
/usr/share/fonts/TTF/liberation/LiberationSerif-Regular.ttf: Liberation Serif:style=Regular
$ urpmq -i "fonts-ttf-liberation"
Name        : fonts-ttf-liberation
Version     : 2.1.5
Release     : 2.mga9
Group       : System/Fonts/True type
Size        : 4404378                      Architecture: noarch
Source RPM  : fonts-ttf-liberation-2.1.5-2.mga9.src.rpm
URL         : https://pagure.io/liberation-fonts/
Summary     : Fonts to replace commonly used Microsoft Windows Fonts
Description :
The Liberation Fonts are intended to be replacements for the three
most commonly used fonts on Microsoft systems: Times New Roman,
Arial, and Courier New.

Would you have an idea of what happens?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions