View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0035991||Lazarus||LCL||public||2019-08-21 00:13||2019-08-21 00:19|
|Reporter||Martin Friebe||Assigned To|
|Platform||64bit Intel||OS||win 10||OS Version||10|
|Product Version||2.1 (SVN)||Product Build|
|Target Version||Fixed in Version|
|Summary||0035991: Crash (sigsegv) or Exception caused by TProcessUtf8|
|Description||Compiling either |
- 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
|Tags||No tags attached.|
|Fixed in Revision|
Attempt to minimize crashes in
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.
|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|