[Lazarus] Lots of access violations with TSQLConnection TSQLQuery on Linux

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

[Lazarus] Lots of access violations with TSQLConnection TSQLQuery on Linux

Free Pascal - Lazarus mailing list
I don't normally use the Lazarus MS SQL components, but tried using them today on Ubuntu Linux and keep experiencing lots of random access violations. I wanted to know if this is a normal thing, or if perhaps the state of these components is fragile on Linux.

Here is what is happening.

I can place the TSQLConnection, TSQLTransaction, TSQLQuery, TDataSource and  data aware controls on a form and connect to the database at design time. It works fine. I can run my program and I can view and edit records just fine. But if I change any part of TSQLQuery down to TSQLConnection setting Active to False, then I get access violations.

This is particularly problematic because certain changes to component properties require Active to be set to False, such as editing SQL. And very often, though not always, changing the Active property results in access violations. And after an AV happens then things start misbehaving in the IDE.

Is this a common problem for some people on Linux using the MS SQL components? Am I doing something wrong? Are there people her who have worked with MS SQL components on Linux much and is familiar with this problem?

Thank you.
Anthony

--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Lots of access violations with TSQLConnection TSQLQuery on Linux

Free Pascal - Lazarus mailing list
Anthony Walter via lazarus <[hidden email]> schrieb am Do., 4. Apr. 2019, 02:15:
I don't normally use the Lazarus MS SQL components, but tried using them today on Ubuntu Linux and keep experiencing lots of random access violations. I wanted to know if this is a normal thing, or if perhaps the state of these components is fragile on Linux.

Here is what is happening.

I can place the TSQLConnection, TSQLTransaction, TSQLQuery, TDataSource and  data aware controls on a form and connect to the database at design time. It works fine. I can run my program and I can view and edit records just fine. But if I change any part of TSQLQuery down to TSQLConnection setting Active to False, then I get access violations.

This is particularly problematic because certain changes to component properties require Active to be set to False, such as editing SQL. And very often, though not always, changing the Active property results in access violations. And after an AV happens then things start misbehaving in the IDE.

Is this a common problem for some people on Linux using the MS SQL components? Am I doing something wrong? Are there people her who have worked with MS SQL components on Linux much and is familiar with this problem?

Just to be sure: do you have the necessary library installed on your system? See here: http://wiki.freepascal.org/mssqlconn#Installation

Regards, 
Sven 

--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Lots of access violations with TSQLConnection TSQLQuery on Linux

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list


On Wed, 3 Apr 2019, Anthony Walter via lazarus wrote:

> I don't normally use the Lazarus MS SQL components, but tried using them
> today on Ubuntu Linux and keep experiencing lots of random access
> violations. I wanted to know if this is a normal thing, or if perhaps the
> state of these components is fragile on Linux.
>
> Here is what is happening.
>
> I can place the TSQLConnection, TSQLTransaction, TSQLQuery, TDataSource
> and  data aware controls on a form and connect to the database at design
> time. It works fine. I can run my program and I can view and edit records
> just fine. But if I change any part of TSQLQuery down to TSQLConnection
> setting Active to False, then I get access violations.
>
> This is particularly problematic because certain changes to component
> properties require Active to be set to False, such as editing SQL. And very
> often, though not always, changing the Active property results in access
> violations. And after an AV happens then things start misbehaving in the
> IDE.
>
> Is this a common problem for some people on Linux using the MS SQL
> components? Am I doing something wrong? Are there people her who have
> worked with MS SQL components on Linux much and is familiar with this
> problem?

This is not normal. I have not used the MS SQL Connector on linux, but I
have used it on windows, and I have not experienced such things.

Can you post a stack trace so we can analyze the problem ?

Michael.
--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Lots of access violations with TSQLConnection TSQLQuery on Linux

Free Pascal - Lazarus mailing list
Sven,

I am fairly confident that I have all the required libraries installed and configured correctly. Everything works fine, including reading data from my remote server and applying updates. The exception is that if at design time I change the Active property of any data related non visual component, then I get an AV. Also, I did follow the instructions or guide on that page prior to your suggestion and ti helped me connect to my remote server.

Michael,

To be sure I have the correct sources, I tried this twice. Once with my current Lazarus, and again with svn fixes_2_0 Lazarus. Both exhibit the same behavior and stack trace. Here is a screenshot of the error and the stack trace. I simply opened the my project, set the SQL query Active property to False, and I get this error.


Stack trace:

~$ sudo gdb -batch -ex bt -p 29126

[New LWP 29127]
[New LWP 29128]
[New LWP 29129]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007fb9b9ed374d in poll () at ../sysdeps/unix/syscall-template.S:84
84 ../sysdeps/unix/syscall-template.S: No such file or directory.
#0  0x00007fb9b9ed374d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00000000004ea81c in GTK2POLLFUNCTION (UFDS=0x3858b80, NFSD=5, TIMEOUT=50) at gtk2/gtk2widgetset.inc:44
#2  0x00007fb9bad9238c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb9bad92712 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb9bb371b83 in gtk_dialog_run () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#5  0x000000000050c264 in PROMPTUSER (this=0x7fb9bc6fa310, DIALOGCAPTION=0x137b180 "Error", DIALOGMESSAGE=0x7fb994e803d8 "Access violation", DIALOGTYPE=257, BUTTONS=0x7fb9a8943c60, BUTTONCOUNT=1, DEFAULTINDEX=0, ESCAPERESULT=2) at gtk2/gtk2lclintf.inc:1271
#6  0x00000000005b982d in PROMPTUSER (DIALOGCAPTION=0x137b180 "Error", DIALOGMESSAGE=0x7fb994e803d8 "Access violation", DIALOGTYPE=257, BUTTONS=0x7fb9a8943c60, BUTTONCOUNT=1, DEFAULTINDEX=0, ESCAPERESULT=2) at include/lclintf.inc:376
#7  0x000000000057ae91 in MESSAGEDLG (ACAPTION=0x137b180 "Error", AMSG=0x11fdc10 "Access violation", DLGTYPE=MTERROR, BUTTONS=..., HELPCTX=0) at include/messagedialogs.inc:148
#8  0x00000000008d5937 in SETROWVALUE (this=0x7fb994a87930, CHECKFOCUS=true, FORCEVALUE=true) at objectinspector.pp:1602
#9  0x00000000008d65c3 in VALUECHECKBOXCLICK (this=0x7fb994a87930, SENDER=0x7fb994a88d90) at objectinspector.pp:1764
#10 0x0000000000cc7e33 in SETSTATE (this=0x7fb994a88d90, AVALUE=CBUNCHECKED) at checkboxthemed.pas:475
#11 0x0000000000cc7d14 in SETCHECKED (this=0x7fb994a88d90, AVALUE=false) at checkboxthemed.pas:460
#12 0x00000000008d86a5 in SETITEMINDEXANDFOCUS (this=0x7fb994a87930, NEWITEMINDEX=0, WASVALUECLICK=true) at objectinspector.pp:2295
#13 0x00000000008d8a30 in MOUSEDOWN (this=0x7fb994a87930, BUTTON=MBLEFT, SHIFT=..., X=184, Y=7) at objectinspector.pp:2399
#14 0x00000000005a1998 in DOMOUSEDOWN (this=0x7fb994a87930, MESSAGE=..., BUTTON=MBLEFT, SHIFT=...) at include/control.inc:2283
#15 0x00000000005a1fd9 in WMLBUTTONDOWN (this=0x7fb994a87930, MESSAGE=...) at include/control.inc:2462
#16 0x0000000000431bca in SYSTEM$_$TOBJECT_$__$$_DISPATCH$formal ()
#17 0x00007fb994a87930 in ?? ()
#18 0x00007fff33fc7e10 in ?? ()
#19 0x0000000000000201 in ?? ()
#20 0x000000000000002c in ?? ()
#21 0x00000000016d3900 in .Ld233 ()
#22 0x00000000016d3228 in VMT_$CONTROLS_$$_TWINCONTROL$indirect ()
#23 0x00007fff33fc8090 in ?? ()
#24 0x0000000003c41710 in ?? ()
#25 0x00007fff33fc80b0 in ?? ()
#26 0x00007fff33fc8110 in ?? ()
#27 0x000000000066aee0 in ?? ()
#28 0x00000000005a18a4 in WNDPROC (this=0x7fb994a87930, THEMESSAGE=...) at include/control.inc:2243
#29 0x0000000000594899 in WNDPROC (this=0x7fb994a87930, MESSAGE=...) at include/wincontrol.inc:5425
#30 0x0000000000754322 in DELIVERMESSAGE (TARGET=0x7fb994a87930, AMESSAGE=0) at lclmessageglue.pas:112
#31 0x000000000065d950 in DELIVERMESSAGE (TARGET=0x7fb994a87930, AMESSAGE=0) at gtk2/gtk2proc.inc:3780
#32 0x000000000066b8a9 in DELIVERMOUSEDOWNMESSAGE (WIDGET=0x3c287f0, EVENT=0x41f8c30, AWINCONTROL=0x7fb994a87930) at gtk2/gtk2callback.inc:2071
#33 0x000000000066af18 in GTKMOUSEBTNPRESS (WIDGET=0x3c41710, EVENT=0x41f8c30, DATA=0x7fb994a87930) at gtk2/gtk2callback.inc:1798


--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Lots of access violations with TSQLConnection TSQLQuery on Linux

Free Pascal - Lazarus mailing list
I've filed a bug here with additional information and steps to reproduce:


--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Lots of access violations with TSQLConnection TSQLQuery on Linux

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list


On Thu, 4 Apr 2019, Anthony Walter wrote:

> Sven,
>
> I am fairly confident that I have all the required libraries installed and
> configured correctly. Everything works fine, including reading data from my
> remote server and applying updates. The exception is that if at design time
> I change the Active property of any data related non visual component, then
> I get an AV. Also, I did follow the instructions or guide on that page
> prior to your suggestion and ti helped me connect to my remote server.
>
> Michael,
>
> To be sure I have the correct sources, I tried this twice. Once with my
> current Lazarus, and again with svn fixes_2_0 Lazarus. Both exhibit the
> same behavior and stack trace. Here is a screenshot of the error and the
> stack trace. I simply opened the my project, set the SQL query Active
> property to False, and I get this error.
>
> https://cache.getlazarus.org/images/sql-linux-av.jpg

Unfortunately, this stack trace is useless: it is the stack trace when the
dialog is shown, not when the actual AV happens. You need to debug the IDE
and post the stacktrace when the AV happened.

Michael.
--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Lots of access violations with TSQLConnection TSQLQuery on Linux

Free Pascal - Lazarus mailing list
Okay, I will work on it a little later and update the bug tracker and also this thread.

--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Lots of access violations with TSQLConnection TSQLQuery on Linux

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On Thu, Apr 4, 2019 at 8:22 PM Anthony Walter via lazarus
<[hidden email]> wrote:

> I've filed a bug here with additional information and steps to reproduce:
>
> https://bugs.freepascal.org/view.php?id=35322

You posted that in Lazarus-CCR section.

Bart


--
Bart
--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus