TApplication.HandleException Access violation

10 posts / 0 new
Last post
KC2VIC
TApplication.HandleException Access violation

Hi,
 
Whenever I try to scroll through the QSO List history to earlier than 02/06/2018 I get a "TApplication.HandleException Access violation" error and the CQRLOG GUI freezes and goes gray.  I also noticed that this coincides with a higher load on the CPU (1.0-2.0) when the loads are typically around .5 so not sure if that has anything to do with it.  One of the things I tried to correct this was increasing the innodb buffer from 80M to 128M, but that had no noticable affect and resulted in the same error.
There also appears to be some mysqld errors from missing tables, but they don't seem to affect anything as far as I can tell.  I did try troubleshooting those as well, but none of the solutions in the CQRLOG forums helper.
  
I'm running Arch Linux on a Lenovo T450S
I've disabled RBN autoconnect to cut down on log entries
I've disabled DXcluster autoconnect to cut down on log entries
I shut down rigctld so constant polling wouldn't clog log, however "Sending: fmv" was still throughout the log.  I've removed repeated lines.
 
**** DEBUG LEVEL 1 ****
 
SSL libraries:
   /usr/lib64/libssl-compat.so.1.0.0
   /usr/lib64/libcrypto.so.1.0.0
Loading libmysqlclient: /usr/lib64/libmysqlclient.so.18
**************************
MySQL version: 10.
**************************
**********************************
MySQL version assigned: 5.6
**********************************
Loaded 114537 LoTW users
Loaded 112998 eQSL users
Loaded 41568 SCP calls
/home/rob/.config/cqrlog/database/arch.pid
Command: 
kill 10420
*
User home directory:    /home/rob/
Program home directory: /home/rob/.config/cqrlog/
Data directory:         /home/rob/.config/cqrlog/database/
Memebers directory:     /usr/share/cqrlog/members/
ZIP code directory:     /usr/share/cqrlog/zipcodes/
Binary dir:             /usr/bin/
Share dir:              /usr/share/cqrlog/
TConnection to MySQL:   5.6
*
56 us states loaded
/usr/sbin/mysqld --defaults-file=/home/rob/.config/cqrlog/database/mysql.cnf --datadir=/home/rob/.config/cqrlog/database/ --socket=/home/rob/.config/cqrlog/database/sock --port=64000
Trying to connect to database
TMySQL56Connection : Server connect failed.
Trying:1
select * from tables where table_schema = 'cqrlog_common'
 
SELECT log_nr,log_name FROM cqrlog_common.log_list order by log_nr
 
use cqrlog001
 
use cqrlog001
 
use cqrlog001
 
use cqrlog001
 
use cqrlog001
 
SELECT * FROM cqrlog_config
 
select * from db_version
 
select * from cqrlog_common.db_version
 
SELECT * FROM cqrlog_common.dxcc_ref ORDER BY ADIF
 
SELECT * FROM cqrlog_common.dxcc_ref ORDER BY ADIF
 
 
Settings:
-----------------------------------------------------
RigCtldPath:/usr/bin/rigctld
RigCtldArgs:-m 229 -r /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900I9K7-if00-port0 -t 4531  -s 38400  --set-conf=stop_bits=2
RunRigCtld: FALSE
RigDevice:  /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900I9K7-if00-port0
RigCtldPort:4531
RigCtldHost:127.0.0.1
RigPoll:    500
RigSendCWR: FALSE
RigId:      229
 
rigctld started!
Connected to 127.0.0.1:4531
 
Settings:
-----------------------------------------------------
RotCtldPath:/usr/bin/rotctld
RotCtldArgs:
RunRotCtld: FALSE
RotDevice:  
RotCtldPort:4533
RotCtldHost:localhost
RotPoll:    500
RotId:      1
 
rotctld started!
Connected to localhost:4533
select id,freq,mode,bandwidth from freqmem order by id
 
Sending: fmv
 
CW init
address: 127.0.0.1
port:    4531
CW speed changed to:30
Command line: /usr/bin/xplanet -config /home/rob/.config/cqrlog/xplanet/geoconfig  -glare 28 -light_time -range 2.5 -wait 5  -geometry 100x100+10+10 -window_title "CQRLOG - xplanet" -longitude -74.0417 -latitude 40.1875 -projection azimuthal
SELECT * FROM profiles WHERE visible > 0 ORDER BY nr
 
SELECT * FROM profiles WHERE nr = 1
 
SELECT * FROM profiles WHERE visible > 0 ORDER BY nr
 
SELECT * FROM profiles WHERE nr = 1
 
select locator from profiles where nr Ex:BandMapItems[1].Freq: 0.0000000000000000E+000
Ex:BandMapItems[1].Call:
Ex:BandMapItems[1].Position:0
Deleted data on position:1
Ex:BandMapItems[1].Freq: 0.0000000000000000E+000
Ex:BandMapItems[1].Call:
Ex:BandMapItems[1].Position:0
Deleted data on position:1
Ex:BandMapItems[1].Freq: 0.0000000000000000E+000
Ex:BandMapItems[1].Call:
Ex:BandMapItems[1].Position:0
Deleted data on position:1
...
Ex:BandMapItems[1].Freq: 0.0000000000000000E+000
Ex:BandMapItems[1].Call:
Ex:BandMapItems[1].Position:0
Deleted data on position:1
Ex:BandMapItems[1].Freq: 0.0000000000000000E+000
Ex:BandMapItems[1].Call:
Ex:BandMapItems[1].Position:0
Deleted data on position:1
Ex:BandMapItems[1].Freq: 0.0000000000000000E+000
Ex:BandMapItems[1].Call:
Ex:BandMapItems[1].Position:0
Deleted data on position:1
Ex:BandMapItems[1].Freq: 0.0000000000000000E+000
= 1
 
select locator from profiles where nr = 1
 
1-FN20XE;Wall, NJ;
CWint connect to hamlib FAILED: Error on connect: connection refused
Sending: fmv
 
select * from view_cqrlog_main_by_qsodate LIMIT 500 OFFSET 0
 
LoadForm: frmMain
SELECT COUNT(*) FROM cqrlog_main
 
select count(*) from (select distinct adif from cqrlog_main where adif <> 0 and (adif not in (2,8,19,23,25,26,28,30,39,42,44,55,57,58,59,67,68,81,85,93,101,102,113,115,119,127,128,134,139,151,154,155,164,178,183,184,186,193,193,194,196,198,200,208,210,218,220,226,228,229,231,243,244,255,258,261,264,267,268,271,307,488,493))) as foo 
 
select count(*) from (select distinct dxcc_id.dxcc_ref from dxcc_id left join cqrlog_main on dxcc_id.adif = cqrlog_main.adif WHERE cqrlog_main.adif<>0 and (dxcc_ref NOT LIKE '%*') AND ((qsl_r = 'Q') OR (lotw_qslr = 'L') OR (eqsl_qsl_rcvd='E'))) as foo
 
Sending: fmv
 
select id_cqrlog_main from cqrlog_main order by qsodate,time_on LIMIT 1
 
select count(*) from cqrlog_main where (qsodate = '2018-02-06'and time_on <= '05:20') or qsodate < '2018-02-06' order by qsodate DESC, time_on DESC LIMIT 500
 
select * from view_cqrlog_main_by_qsodate where (qsodate = '2018-02-06'and time_on <= '05:20') or qsodate < '2018-02-06' LIMIT 500
 
Sending: fmv
 
select id_cqrlog_main from cqrlog_main order by qsodate,time_on LIMIT 1
 
select count(*) from cqrlog_main where (qsodate = '2017-06-24'and time_on <= '01:30') or qsodate < '2017-06-24' order by qsodate DESC, time_on DESC LIMIT 500
 
select * from view_cqrlog_main_by_qsodate where (qsodate = '2017-06-24'and time_on <= '01:30') or qsodate < '2017-06-24' LIMIT 500
 
TApplication.HandleException Access violation
  Stack trace:
  $0000000000915FD8
  $00000000008A7952
  $00000000008A7C35
  $00000000008A6F6D
  $00000000008A2B5A
  $000000000083FC20
  $00000000008A29A3
  $000000000083E3C5
  $0000000000665776
  $000000000064C378
  $00000000006508B9
  $00000000006656AC
  $0000000000431F7F
  $000000000064D94D
  $00000000008416FA
  $000000000089DB3D
  $0000000000822692
Sending: fmv
 

oh1kh
TApplication.HandleException Access violation

HI!

Sometimes I have found error in database that certain record causes excption. Doing adif export and impoirt to fresh new log may help then.

But mostly it is "known bug" of QSO-frame scrolling routine. Excption occurs sometimes in different places depending the speed of PgUP/PgDN keys are repeated.
I tried once to debug this, but after few hours I gave up as the code is written so complicated way at that point that following is very hard. (at least for me).

Using Filter-form you can find certain call(s) and get amount of qsos reduced. If I remember right 500 qsos are loaded at time and exception usually happens when new set is loaded during scroll.

This is a fix that I like to leave to Petr. Maybe for rewriting whole scrolling routine from scratch.

--
Saku
OH1KH

--
Saku
OH1KH

hg5acz
Scroll problem

Hi guys,

I am always detecing this "scrolling" problem. It is soo boring. I have just decided to say good by... I change my log program from cqrlog to an other.... or I start write my own.

Thanks for developing!

Bye!

NOTE: Window with stalled focus found!, faking focus-out event
SyncUpdate:
SyncMsg :Upload to HamQTH is not enabled! Go to Preferences and change settings.
TApplication.HandleException Access violation
Stack trace:
$000000000091D828
$00000000008AF162
$00000000008AF445
$00000000008AE77D
$00000000008AA36A
$0000000000847430
$00000000008AA1B3
$0000000000845BD5
$000000000066CF36
$0000000000653B38
$0000000000658079
$000000000066CE6C
$0000000000431F8F
$000000000065510D
$0000000000848F0A
$00000000008A534D
$0000000000829EA2

prompt$ cqrlog

**** DEBUG LEVEL 0 ****
**** CHANGE WITH --debug=1 PARAMETER ****

180318 20:47:57 mysqld_safe Logging to '/home/acz71/.config/cqrlog/database//mysql.err'.
180318 20:47:57 mysqld_safe Starting mysqld daemon with databases from /home/acz71/.config/cqrlog/database/
TApplication.HandleException Access violation
Stack trace:
$000000000091D828
$00000000008AF162
$00000000008AF445
$00000000008AE77D
$00000000008AA36A
$0000000000847430
$00000000008AA1B3
$0000000000845BD5
$000000000066CF36
$0000000000653B38
$0000000000658079
$000000000066CE6C
$0000000000431F8F
$000000000065510D
$0000000000848F0A
$00000000008A534D
$0000000000829EA2

oh1kh
Scroll problem

>I am always detecing this "scrolling" problem. It is soo boring. I have just decided to say good by... I change my log program from cqrlog to an other.... or I start write my own.

How about writing a new scroll routine? It is lot more easier than writing whole new logging program!
Then make a pull request and share it with us.

:)

Thank you!

--
Saku
OH1KH

ok2cqr
ok2cqr's picture
Re: Scroll problem

Hi Saku,

it's always much easier to start developing new software than fixing bugs. Maybe HG5ACZ should look at CQRLOG history. The application has been developing for more that 10 years. We already found a lot of ways that don't work. Developing something so complex like logging program is really a lot of work but we definitely need more ham radio application for Linux.

I'm sorry that I still didn't fix the bug. I'm very busy, spend a lot of time with my daily job and on the evening I'm so tired that I don't fix another bugs. But I'll look at it.

73 Petr

oh1kh
Re: Scroll problem

Hi Petr!

I completely understand you. It is not so long ago that I was fighting against windmills (Windows network IT-support at local mill).
Those free hours that yo have you should spend with family and something else than computers and programming. That leaves quite little time for developing hobby programs.

That is why I tried to invite him to do something for common good. Sharing is the key.
It is not supposed to put all work to one man and let others just enjoy results. Not everyone are programmers, but those who can should help a bit.

As said before I tried once to follow the idea of scrolling, but it was so complex that I could not get in to it then.
I do not use qso view very often that way that I only scroll old qsos. If I'm looking for something I use first filter or sql console to find what I want.
Maybe that's why the scrolling has not bothered me so much that I had been started to try fix it again.

When you know the problem of scrolling you can live with it.

There are lots of fine things in cqrlog that are working ok.

--
Saku
OH1KH

ok2cqr
ok2cqr's picture
Re: Scroll problem

Hi Saku,

you are right but it seems HG5ACZ won't be notified about the conversation via email because he has wrong email entered on the CQRLOG website. I get back all notifications to that email.

I tried to use gdb to get more information what is happening and got this:

0x000000000091bd68 in
BUFDATASET$_$TDOUBLELINKEDBUFINDEX_$__$$_COMPAREBOOKMARKS$PBUFBOOKMARK$PBUFBOOKMARK$$LONGINT
()
(gdb) bt
#0 0x000000000091bd68 in
BUFDATASET$_$TDOUBLELINKEDBUFINDEX_$__$$_COMPAREBOOKMARKS$PBUFBOOKMARK$PBUFBOOKMARK$$LONGINT
()
#1 0x000000000092053c in
BUFDATASET$_$TCUSTOMBUFDATASET_$__$$_COMPAREBOOKMARKS$TBYTES$TBYTES$$LONGINT
()
#2 0x0000000003736588 in ()
#3 0x0000000003410718 in ()
#4 0x00007fffffffc9d8 in ()
#5 0x00007fffffffcb20 in ()
#6 0x0000000000000001 in ()
#7 0x0000000001a9ac98 in ()
#8 0x00007fffffffca50 in ()
#9 0x000000000000000f in ()
#10 0x000000000106f1b0 in .Ld263 ()
#11 0x0000000001ad6778 in ()
#12 0x000000000066cef0 in WSREGISTERCLASS (self=0x7fffffffca90) at
include/customcontrol.inc:99
#13 0x00000000008ad882 in FIND (this=0x1add2d8, ITEM=0x3736588,
AINDEX=0) at dbgrids.pas:4619
#14 0x00000000008adb65 in INDEXOF (this=0x1add2d8, ITEM=0x3736588) at
dbgrids.pas:4627
#15 0x00000000008ace9d in GETCURRENTROWSELECTED (this=0x1add2d8) at
dbgrids.pas:4388
#16 0x00000000008a8a8a in DRAWROW (this=0x1ad6778, AROW=1) at dbgrids.pas:3084
#17 0x0000000000845cc0 in DRAWALLROWS (this=0x1ad6778) at grids.pas:4174
#18 0x00000000008a88d3 in DRAWALLROWS (this=0x1ad6778) at dbgrids.pas:3054
#19 0x0000000000844465 in PAINT (this=0x1ad6778) at grids.pas:3742
#20 0x000000000066d006 in PAINTWINDOW (this=0x1ad6778, DC=26725384) at
include/customcontrol.inc:132
#21 0x0000000000653c88 in PAINTHANDLER (this=0x1ad6778,
THEMESSAGE=...) at include/wincontrol.inc:4819
#22 0x00000000006581c9 in WMPAINT (this=0x1ad6778, MSG=...) at
include/wincontrol.inc:6772
#23 0x000000000066cf3c in WMPAINT (this=0x1ad6778, MESSAGE=...) at
include/customcontrol.inc:112
#24 0x0000000000431def in SYSTEM$_$TOBJECT_$__$$_DISPATCH$formal ()
#25 0x000000000106f1a8 in .Ld263 ()
#26 0x000000000106e8c0 in VMT_$CONTROLS_$$_TCUSTOMCONTROL ()
#27 0x0000000000000001 in ()
#28 0x000000000000000f in ()
#29 0x00007fffffffd278 in ()
#30 0x0000000001ad6778 in ()
#31 0x00007ffff6c8fb10 in () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#32 0x00000000031d4660 in ()
#33 0x00007fffffffd550 in ()
#34 0x00007fffffffd4f0 in ()
#35 0x0000000000738500 in
GTK2PROC_$$_GTKEXPOSEEVENT$PGTKWIDGET$PGDKEVENTEXPOSE$POINTER$$BOOLEAN32
()
#36 0x0000000000662a17 in WNDPROC (this=0x1ad6778, THEMESSAGE=...) at
include/control.inc:2234
#37 0x000000000065525d in WNDPROC (this=0x1ad6778, MESSAGE=...) at
include/wincontrol.inc:5396
#38 0x000000000084779a in WNDPROC (this=0x1ad6778, THEMESSAGE=...) at
grids.pas:4701
#39 0x00000000008a3a7d in WNDPROC (this=0x1ad6778, THEMESSAGE=...) at
dbgrids.pas:1444
#40 0x0000000000828792 in DELIVERMESSAGE (TARGET=0x1ad6778,
AMESSAGE=0) at lclmessageglue.pas:112
---Type to continue, or q to quit---q
Quit
(gdb) bt
#0 0x000000000091bd68 in
BUFDATASET$_$TDOUBLELINKEDBUFINDEX_$__$$_COMPAREBOOKMARKS$PBUFBOOKMARK$PBUFBOOKMARK$$LONGINT
()
#1 0x000000000092053c in
BUFDATASET$_$TCUSTOMBUFDATASET_$__$$_COMPAREBOOKMARKS$TBYTES$TBYTES$$LONGINT
()
#2 0x0000000003736588 in ()
#3 0x0000000003410718 in ()
#4 0x00007fffffffc9d8 in ()
#5 0x00007fffffffcb20 in ()
#6 0x0000000000000001 in ()
#7 0x0000000001a9ac98 in ()
#8 0x00007fffffffca50 in ()
#9 0x000000000000000f in ()
#10 0x000000000106f1b0 in .Ld263 ()
#11 0x0000000001ad6778 in ()
#12 0x000000000066cef0 in WSREGISTERCLASS (self=0x7fffffffca90) at
include/customcontrol.inc:99
#13 0x00000000008ad882 in FIND (this=0x1add2d8, ITEM=0x3736588,
AINDEX=0) at dbgrids.pas:4619
#14 0x00000000008adb65 in INDEXOF (this=0x1add2d8, ITEM=0x3736588) at
dbgrids.pas:4627
#15 0x00000000008ace9d in GETCURRENTROWSELECTED (this=0x1add2d8) at
dbgrids.pas:4388
#16 0x00000000008a8a8a in DRAWROW (this=0x1ad6778, AROW=1) at dbgrids.pas:3084
#17 0x0000000000845cc0 in DRAWALLROWS (this=0x1ad6778) at grids.pas:4174
#18 0x00000000008a88d3 in DRAWALLROWS (this=0x1ad6778) at dbgrids.pas:3054
#19 0x0000000000844465 in PAINT (this=0x1ad6778) at grids.pas:3742
#20 0x000000000066d006 in PAINTWINDOW (this=0x1ad6778, DC=26725384) at
include/customcontrol.inc:132
#21 0x0000000000653c88 in PAINTHANDLER (this=0x1ad6778,
THEMESSAGE=...) at include/wincontrol.inc:4819
#22 0x00000000006581c9 in WMPAINT (this=0x1ad6778, MSG=...) at
include/wincontrol.inc:6772
#23 0x000000000066cf3c in WMPAINT (this=0x1ad6778, MESSAGE=...) at
include/customcontrol.inc:112
#24 0x0000000000431def in SYSTEM$_$TOBJECT_$__$$_DISPATCH$formal ()
#25 0x000000000106f1a8 in .Ld263 ()
#26 0x000000000106e8c0 in VMT_$CONTROLS_$$_TCUSTOMCONTROL ()
#27 0x0000000000000001 in ()
#28 0x000000000000000f in ()
#29 0x00007fffffffd278 in ()
#30 0x0000000001ad6778 in ()
#31 0x00007ffff6c8fb10 in () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#32 0x00000000031d4660 in ()
#33 0x00007fffffffd550 in ()
#34 0x00007fffffffd4f0 in ()
#35 0x0000000000738500 in
GTK2PROC_$$_GTKEXPOSEEVENT$PGTKWIDGET$PGDKEVENTEXPOSE$POINTER$$BOOLEAN32
()
#36 0x0000000000662a17 in WNDPROC (this=0x1ad6778, THEMESSAGE=...) at
include/control.inc:2234
#37 0x000000000065525d in WNDPROC (this=0x1ad6778, MESSAGE=...) at
include/wincontrol.inc:5396
#38 0x000000000084779a in WNDPROC (this=0x1ad6778, THEMESSAGE=...) at
grids.pas:4701
#39 0x00000000008a3a7d in WNDPROC (this=0x1ad6778, THEMESSAGE=...) at
dbgrids.pas:1444
#40 0x0000000000828792 in DELIVERMESSAGE (TARGET=0x1ad6778,
AMESSAGE=0) at lclmessageglue.pas:112
---Type to continue, or q to quit---bt
#41 0x000000000072b665 in DELIVERMESSAGE (TARGET=0x1ad6778,
AMESSAGE=0) at gtk2proc.inc:3702
#42 0x0000000000736f92 in DODELIVERPAINTMESSAGE (TARGET=0x1ad6778,
PAINTMSG=...) at gtk2callback.inc:27
#43 0x000000000073706a in DELIVERPAINTMESSAGE (TARGET=0x1ad6778,
THEMESSAGE=0) at gtk2callback.inc:45
#44 0x0000000000737254 in DELIVERGTKPAINTMESSAGE (TARGET=0x1ad6778,
WIDGET=0x31d4660, AREA=0x7fffffffd8c4, REPAINTALL=false,
ISAFTERGTK=false) at gtk2callback.inc:103
#45 0x0000000000738576 in GTKEXPOSEEVENT (WIDGET=0x31d4660,
EVENT=0x7fffffffd8b0, DATA=0x1ad6778) at gtk2callback.inc:694
#46 0x00007ffff6c8fb7b in () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#47 0x00007ffff6919f9d in g_closure_invoke () at
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#48 0x00007ffff692ccde in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#49 0x00007ffff6934e4f in g_signal_emit_valist () at
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#50 0x00007ffff6935ecf in g_signal_emit () at
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#51 0x00007ffff6da5f9c in () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#52 0x00007ffff6c8e958 in gtk_main_do_event () at
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#53 0x00007ffff773eb9f in () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#54 0x00007ffff773eb45 in () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#55 0x00007ffff773eb45 in () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#56 0x00007ffff773eb45 in () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#57 0x00007ffff773b623 in () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#58 0x00007ffff773bfb0 in gdk_window_process_all_updates () at
/usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#59 0x00007ffff773bff9 in () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#60 0x00007ffff771ac1c in () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#61 0x00007ffff6640e25 in g_main_context_dispatch () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#62 0x00007ffff66411f0 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#63 0x00007ffff664127c in g_main_context_iteration () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#64 0x00000000005f90e8 in APPPROCESSMESSAGES (this=0x1549918) at
gtk2widgetset.inc:2338
#65 0x000000000045b4bd in HANDLEMESSAGE (this=0x1547348) at
include/application.inc:1276
#66 0x000000000045ba3d in RUNLOOP (this=0x1547348) at
include/application.inc:1413
#67 0x0000000000717208 in APPRUN (this=0x1549918, ALOOP=...) at
include/interfacebase.inc:54
#68 0x000000000045b9e4 in RUN (this=0x1547348) at include/application.inc:1401
#69 0x000000000041f715 in main () at cqrlog.lpr:81
(gdb)

It fails somewhere deep in GTK libraries. LCL GTK2 support is getting obsolete very quickly because even Lazarus developers say that noone knows what is really happening in LCL GTK2. I'm thinking about moving to QT, the only difference is that CQRLOG won't use GTK2 but QT. It's small change in make file from
$(CC) --ws=gtk2 --pcp=$(tmpdir)/.lazarus src/cqrlog.lpi
to
$(CC) --ws=qt --pcp=$(tmpdir)/.lazarus src/cqrlog.lpi

and also some layout fixes and it should work. Actually it works very well, I did a few QT builds for testing on my computer. Together with this change I'm going to move from deb to AppImage. Far better and less work for us. We can guarantee that it will always work but the AppImage will be quite big, I suppose somewhere around 50MB or more. I think it worth for it, no more problems with missing libraries, different dependencies in Fedora/Ubuntu/Min/Debian etc. I already studied the AppImage format, visited a lot of WIKI documentation and I really like it. QT version would look far better than old GTK2, no problem with support for HiDPI monitors, no problem with big imputs, no problem with double characters etc. Now we need someone who could create new icons for CQRLOG in SVG format.

Even with AppImage, we can support Ubuntu 14.04 without any problem, without pain with building new Lazarus packages for that old distribution. It can use diff upgrades, so upgrage from old version to one means downloading only about 2MB or less, not whole 50MB package.

I already studied snap, flatpack and AppImage. Snap still has its own problems and bugs (slow, sysmtem integration problems), flatpack seems to be fine but building Lazarus/FPC application would be something crazy because I have to create everything from beginning, they don't know about FPC/Lazarus, there is nothing that could help us. Unfortunately the same problem with building new Lazars/FPC problem. AppImage was the winner because I can have whatever version of Lazarus/FPC on my system, I can compile CQRLOG on my own computer, add it to AppImage and it will work! That makes me really happy. Now I have to find some free time to create first testing cqrlog.AppImage file.

73 Petr

oh1mrr
"the AppImage format, visited

"the AppImage format, visited a lot of WIKI documentation and I really like it. QT version would look far better than old GTK2, no problem with support for HiDPI monitors, no problem with big imputs, no problem with double characters etc. Now we need someone who could create new icons for"

Is GTK3 much the same as GTK2, because GTK3 or GTK+ exists?

<p>Jarmo</p>

oh1mrr
Ok, should have read earlier.

Ok, should have read earlier.... From http://free-pascal-lazarus.989080.n3.nabble.com/Lazarus-GTK-3-0-td404892... list...
(gtk_entry_set_icon_xxxx since 2.16). eg. in Qt/WinAPI you can add any
handle inside text editor (eg. QPushButton under Qt), but under gtk
you're stucked to gdkpixbuf.
I really don't know what kind of drugs gtk devels are using. <------------ :) :)

<p>Jarmo</p>

ok2cqr
ok2cqr's picture
Re: Ok, should have read earlier.

Hi Jarmo,

yes, I know that thread and the gtk developers' drugs are the reason why I want to leave GTK in CQRLOG. Lazarus developers don't have energy to support API that is changing every month or so. A few weeks ago a saw an article that they are planning to have API stable for two years. Ha ha ha, very funny. They should call it unstable API. Maybe I'm getting too old but I always thought API should be rock stable for looong time. Maybe it's not the point of view these days but I don't want to be part of this.

73 Petr