[gelöst] fpspreadsheet SIGSEGV mit Frames - Lazarus 2 RC2

Rund um die LCL und andere Komponenten

[gelöst] fpspreadsheet SIGSEGV mit Frames - Lazarus 2 RC2

Beitragvon af0815 » 31. Okt 2018, 08:04 [gelöst] fpspreadsheet SIGSEGV mit Frames - Lazarus 2 RC2

Ich verwende fpspreadsheet innerhalb von Frames (in Frames), die zur Laufzeit geladen werden.

Wenn ich jetzt dasselbe Programm mit Lazarus 1.8.5 / mit fpc 3.1.1 58495 laufen lasse so funktioniert es. Verwende ich zum konpileren Lazarus 2.0RC2 /fixes20) mit fpc (fixes3.2) so gibt es eine SIGSEGV in der laz_avl_tree.pp line 1410. fpspreadsheet aus dem OPM V1.10.1 (gleiches Problem mit 1.9.0).

Dort in der laz_avl_tree.pp hat sich aber nicht wirklich was geändert, wenn ich mir den SVN ansehe.

Ich rufe dort nur sWorksheetGrid1.AutoColWidth(i) auf. Wobei i eine vorhandene Spalte ist.

Call Stack ist
Code: Alles auswählen
#0 TAVLTREENODE__SUCCESSOR(<error reading variable>) at laz_avl_tree.pp:1410
#1 TSROWCOLENUMERATOR__MOVENEXT(<error reading variable>) at .\common\fpsclasses.pas:311
#2 TSCUSTOMWORKSHEETGRID__AUTOADJUSTCOLUMN(0, <error reading variable>) at .\visual\fpspreadsheetgrid.pas:1402
#3 TSCUSTOMWORKSHEETGRID__AUTOCOLWIDTH(0, <error reading variable>) at .\visual\fpspreadsheetgrid.pas:1361
#4 TFRAMExxxxxxyyyyyXLS__CB_CHANGE(0x0, <error reading variable>) at .\firgendwo.pas:312


Wie gesagt, mit der älteren Version von Lazarus läuft alles. Ich gehe auch davon aus, das es keine Probleme gibt, wenn ich keine Frames verwenden würde.

Any Hint ?!
Zuletzt geändert von af0815 am 4. Dez 2018, 07:41, insgesamt 1-mal geändert.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3501
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon wp_xyz » 31. Okt 2018, 10:36 Re: fpspreadsheet SIGSEGV mit Frames - Lazarus 2 RC2

Versuche mal ein Demoprojekt zu erstellen, an dem ich den Fehler nachvollziehen kann. Wenn ich in den svn-Logs nichts übersehen habe, war die letzte Änderung in Bezug auf Frames im Mai 2017 (r5868), sollte also in der OPM-Version enthalten sein.
wp_xyz
 
Beiträge: 2696
Registriert: 8. Apr 2011, 08:01

Beitragvon af0815 » 31. Okt 2018, 10:53 Re: fpspreadsheet SIGSEGV mit Frames - Lazarus 2 RC2

Das mit dem Frames im Mai 2017 kenne ich :-)

Ich habe versucht mal das in der App einzugrenzen, der Fehler tritt bei verschiedenen Bereichen auf, auch scheinbar beim Zeichnen. Der SIGSEGV liegt aber immer hier
TAVLTREENODE__SUCCESSOR(<error reading variable>) at laz_avl_tree.pp:1410 nur dort ist auch schon länger nichts gemacht worden.

Weisst du was im the AVL-Tree drinnen liegen soll ? Ich vermute das es da wieder Probleme mit dem Parent beim Traversieren gibt, der beim Übergang Komponnete -> Frame --> Form aus dem Tritt kommt.

Ich versuche mal ein Beispiel zu machen, mal sehen ob der Fehler dort einfacher zu sehen ist.

Danke,
Andi
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3501
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon af0815 » 2. Nov 2018, 21:58 Re: fpspreadsheet SIGSEGV mit Frames - Lazarus 2 RC2

Erstes Konklusio:

Der Fehler ist sehr substil. :-( Es hängt mit den Suchen der nachfolgenden Zelle zusammen.

Aber:
EIn Beispiel erstellt mit der aktuellen Lazarus/FPC Konfiguration zeigt den fehler nicht.
Ein Beispiel mit der alten Lazarus/FPC Version zeigt den Fehler auch nicht.

Wenn ich das Frame herauslöse so zeigt sich der Fehler nur bedingt zur Laufzeit. Es hat IMHO irgendwie mit der Erkennung der Spaltenbreite beim Textfeldern zu tun. Wenn das Grid mit keiner sWorkbooksource verbunden ist gehts. Wenn ich die beiden verbinde kracht es. Logik ist aber noch nicht bekannt.

Wird also noch dauern bis ich das Problem weiter eingegrenzt habe.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3501
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon af0815 » 4. Dez 2018, 07:40 Re: fpspreadsheet SIGSEGV mit Frames - Lazarus 2 RC2

Zur Info:
In Lazarus 2.0.0RC2 r59724 FPC 3.2.0 i386-win32-win32/win64 (FPC fixes 3.2. Rev. 40301) ist das Problem nicht mehr vorhanden.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3501
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon wp_xyz » 4. Dez 2018, 09:33 Re: [gelöst] fpspreadsheet SIGSEGV mit Frames - Lazarus 2 RC

Oje, die schlimmsten Fehler sind die, die sich selbst reparieren...
wp_xyz
 
Beiträge: 2696
Registriert: 8. Apr 2011, 08:01

Beitragvon af0815 » 4. Dez 2018, 09:45 Re: [gelöst] fpspreadsheet SIGSEGV mit Frames - Lazarus 2 RC

Es hatt dezitiert mit der Berechnung der Spaltenbreite von Text zu tun, soviel habe ich herausbekommen. Es ist was passiert beim Traversieren, da ist die Ermittlung des Parent(Forms) fehlgeschlagen. Soweit bin ich gekommen. Nur zum Debuggen hätte ich mir auch eine FPC-Installation mit aktivierten Debugging aufbauen müssen, das habe ich auf die Weihnachtsferien verschoben. Habe jetzt Zeit für was anderes in den Ferien :-)
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3501
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

• Themenende •

Zurück zu Komponenten und Packages



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste

porpoises-institution
accuracy-worried