View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003081||VALENTINA SERVER||API||public||2008-04-05 12:42||2009-01-24 05:51|
|Reporter||Jason Moehlman||Assigned To||Ivan Smahin|
|Target Version||Fixed in Version||4.0|
|Summary||0003081: VServer crashing on Linux and Win32, runs fine on Mac OS X|
|Description||When running a V4RB compiled or debug program on Linux or Windows, VServer crashes after the app has closed. There are no entries in the log, just the last messages about closing database and releasing connections. |
The VServer instance on Linux at least shows a Segmentation Fault if run from a command line. After the app closes. If you are tailing the log file, there is no indication there was a problem until you try to connect to the VServer.
The same application running on OS X ( where development is going on ) has no issues and the VServer does not ever crash.
I am not sure what else to do, I can provide logs, but they show nothing. I am flushing the DB, closing the DB, shutting down the client etc. The application itself runs fine, does not issue any exceptions and all the data is in the DB after a restart of VServer.
|Tags||No tags attached.|
I have run diagnose on DB and it showed no problems.
I have also recreated DB and started from scratch many times, and it still reliably crashes on Linux and Windows.
What are the server, kernel versions?
Also what version of V4RB on "crashed" platforms?
|3.5.2 on all software components. It is all I am using right now.|
Do you use LIKE ?
Ivan, may be this is crash related to LIKE as we have fix for 3.6 b1
You can try download 3.6beta from here
Please download Vserver win and check if crash is gone
I do not use LIKE in any of the current queries. They are very simple in relative terms. And the crash is happening when the app closes. Not 100% of the time, but more than 50%. As I said if I restart the server all the data is there, a diagnose shows no issues, but it basically does a segmentation fault as my app is closing out, flushing, etc.
I have rewritten many parts of the code chasing this instability, and there is no log entry at all. It shows the database being closed, and destroyed and the current connection count back to 5 available kind of thing. The VServer is just crashed at that point. I will be happy to send some one a log, or try a new version but this instablility I believe I have been chasing for a while and did not realize it was crashing on a sucessfuly program close.
|As I develop on Mac OS X, I have never seen this problem. Only on deployment to Windows or Linux ( Linux is the current delivery platform ) do I seen this problem. In the past I have chalked it up to a code issue during development. But I am certain that the OS X version has never had an issue, just Linux and Win32 and I am trying to deliver a finished product that works great on OS X, just is not usable on Linux because of these crashes.|
then you need give us way to reproduce it on windows.
* upload to FTP your compiled app
* write EXACT steps how come to the crash
|I will be happy to do this, I have to get a version of my app shipped to the customer first. Then I will begin working on a demo program of the problem.|
|I have tested with the newest b34 build and the VServer still seg faults on a very regular basis. More often with multiple clients, but I just opened and closed a single app 6 times, opening a few db client windows and I got it to seg fault the server 2 times on app exit.|
I believe I have identified the core problem in my code that was causing the crash in VServer. There were times when an open, hidden window with a cursor object was still open when the program closed.
After identifying the issue through lots of testing, I am curious if the Linux and Windows versions of VServer can be made as robust as the the Mac OS X version which did not ever crash with the same circumstances. I understand that the issue was mine, but the handling of the condition in the Mac version is much better and does not ever crash, even if I send it some bad stuff.
I see it was far ago, but I want ask:
* if its possible send us some project that reproduce this crash on WIN ?
* I hope that NOW when you know why it happens you can reproduce it easy.
You asked for a method to recreate, so I found one. VStudio.
1. Have a linux VServer with database with tables and data.
2. Connect using a NON-REGISTERED VStudio. ( I use SSL and the DB is encrypted ). I don't know if that matters overall.
3. Open the DB, and open a table with data and let the VStudio to sit until it hits the demo timeout and closes.
4. When VStudio closes from demo timeout with the table data editor open, I assume that is an open cursor object, like my description provides from my software testing and the VServer just crashes and goes away with no log entry at all.
I have seen this on Windows as well, never on OS X.
I feel this is a critical issue, no DB server should crash on anything that the client might do, especially when any crash of an open program has a good chance to bring down the whole DB server.
Ivan have spend few hours playing on Windows with b15. No crash
Kirill have spend few hours on Linux with b15. No crash.
Jason, we cannot reproduce it on 4.0b15
So may be you can try b15 and see if you can ?
This is what I got once I got b15 vstudio working. On windows, vstudio pro will not run, crashes on loading the vs_plugins_sql everytime. Test was done with vstudio standard. Still crashed but now it at least lists the timeout error even though I have timeout set to 99999 per Ruslan, earlier reported issue.
Tue Jan 20 2009 09:52:25.656212 VServer_Embedded (4.0, Kernel 4.0 b15)
Maximum number of connections: 5
09:52:26.073300 (3058706112): VProject facilities are disabled since no appropriate license found
09:52:26.073381 (3058706112): Server started
09:52:26.073422 (3058706112): Non-secure port: 5204
09:52:26.073459 (3058706112): SSL port: 5210
09:52:29.268514 (3050310576): (20) ERROR 0x61502: Specified encryption key is wrong.
09:53:41.360346 (3050310576): (20) ERROR 0x70503: Table "sys_Diagrams" not found.
10:02:42.791114 (3041917872): Client has been disconnected due to the transfer timeout (20)
ini values for timeouts:
MaxClientTimeout=0; Specifies the IDLE timeout in minutes for a client.
; On timeout VServer will disconnect that client.
; 0 - means inifinite timeout.
I want to clarify.
so it is crash or disconnect issue???
10:02:42.791114 (3041917872): Client has been disconnected due to the
transfer timeout (20)
|Kirill have add catch of PIPEBROKEN signal.|
|2008-04-05 12:42||Jason Moehlman||New Issue|
|2008-04-05 12:46||Jason Moehlman||Note Added: 0003323|
|2008-04-05 22:58||Ivan Smahin||Note Added: 0003324|
|2008-04-06 11:09||Jason Moehlman||Note Added: 0003325|
|2008-04-06 11:37||Ruslan Zasukhin||Note Added: 0003326|
|2008-04-06 11:49||Jason Moehlman||Note Added: 0003327|
|2008-04-06 11:55||Jason Moehlman||Note Added: 0003328|
|2008-04-06 21:38||Ruslan Zasukhin||Note Added: 0003329|
|2008-04-10 14:51||Jason Moehlman||Note Added: 0003361|
|2008-08-28 11:50||Jason Moehlman||Note Added: 0003815|
|2008-08-29 07:33||Jason Moehlman||Note Added: 0003817|
|2008-10-29 09:47||Ruslan Zasukhin||Note Added: 0003986|
|2008-10-29 09:47||Ruslan Zasukhin||Status||new => assigned|
|2008-10-29 09:47||Ruslan Zasukhin||Assigned To||=> Ivan Smahin|
|2009-01-17 04:47||Jason Moehlman||Note Added: 0004180|
|2009-01-20 04:55||Ruslan Zasukhin||Note Added: 0004202|
|2009-01-20 06:09||Jason Moehlman||Note Added: 0004208|
|2009-01-20 06:54||Ruslan Zasukhin||Note Added: 0004209|
|2009-01-24 05:51||Ruslan Zasukhin||Note Added: 0004217|
|2009-01-24 05:51||Ruslan Zasukhin||Status||assigned => resolved|
|2009-01-24 05:51||Ruslan Zasukhin||Fixed in Version||=> 4.0|
|2009-01-24 05:51||Ruslan Zasukhin||Resolution||open => fixed|