View Issue Details

IDProjectCategoryView StatusLast Update
0035991LazarusLCLpublic2019-08-21 00:19
ReporterMartin FriebeAssigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
Platform64bit IntelOSwin 10OS Version10
Product Version2.1 (SVN)Product Build 
Target VersionFixed in Version 
Summary0035991: Crash (sigsegv) or Exception caused by TProcessUtf8
DescriptionCompiling either
 - LazUtils,
 - or the RTL
with -O4 will cause TProcessUtf8 to fail.

It can either
- raise an exception
- write to memory out of bounds, causing random errors (including SigSegv) at a later time.

This is caused by trying to "guess" the byte offset of a private field and modify it.

However with -O4 FPC may change the order of fields.

This is also extremely unstable with regards to future changes in fpc.
This may also fail, if WPO is used (not verified).


This is a result of the fix for 0028991 revision 50595
TagsNo tags attached.
Fixed in Revision
LazTarget-
WidgetsetWin32/Win64
Attached Files

Relationships

related to 0028991 resolvedMattias Gaertner IDE cannot compile projects with FPC if path has national symbols 

Activities

Martin Friebe

2019-08-21 00:19

manager   ~0117754

Attempt to minimize crashes in
Revision: 61736
Date: 21 August 2019 00:16:37
Try to minimize (NOT a fix) the risks of TProcessUtf8 crashes. Crash introduced in r50595 for issue 28991 / See also issue 035991

This may still not catch everything. And especially there in knowing what will happen with future fpc releases

It will also still leave the process to fail with an exception, where it should actually work.

Issue History

Date Modified Username Field Change
2019-08-21 00:13 Martin Friebe New Issue
2019-08-21 00:14 Martin Friebe Description Updated View Revisions
2019-08-21 00:14 Martin Friebe LazTarget => -
2019-08-21 00:14 Martin Friebe Widgetset Win32/Win64 => Win32/Win64
2019-08-21 00:19 Martin Friebe Note Added: 0117754
2019-08-21 00:19 Martin Friebe Relationship added related to 0028991