Crashing
Max Hattenback
maxh at carrubba.com
Mon Dec 5 18:17:16 UTC 2022
Hey Das,
Sometimes I've found if something works while stepping through and not in standard runtime it's because things are happening too fast, ie omnis crashes because you are starting worker x+1 before worker x has finished starting up. I've never worked with a bunch of worker objects like you are describing, but perhaps putting in a few milliseconds delay between each worker starting up would be worth a try. I usually use a simple loop counting up to some high number to put a pause in-between things, but there might be a cleaner way.
________________________________
From: omnisdev-en <omnisdev-en-bounces at lists.omnis-dev.com> on behalf of Das Goravani <goravanis at gmail.com>
Sent: Monday, December 5, 2022 1:06 PM
To: OmnisDev List - English <omnisdev-en at lists.omnis-dev.com>
Subject: Crashing
I admit at the outset that I just want to complain.
I have been beating myself up over a remote form that won’t test as working. The code is done, and works, sometimes, while at other times it’s just into crashing.
I have code which does 25 SQL workers all at once. It has worked many times, through many tests, it is really pretty simple and straightforward, not a complex query, a simple one, just to 25 different postgres databases.
Like I said that code has worked many times. Now today, it is determined to crash. If I step through it all is well, it runs fine. If I let it run it crashes, just today, with no changes to that code from yesterday when it worked flawlessly repeatedly.
This is on top of other difficult things that I’ve been going through with this form.
There was a method that worked when run on server even though it uses $cinst a lot.. Phil said it should be client run, but it worked from the server somehow. Now I have switched it to client. And removed one call to it that was problematic. That was a hassle and a half figuring out.
Then there’s a tab strip.. trying to make use of the visible property which is for each tab.. supposedly each tab can be made visible or invisible. There is a property.. but it’s weird, if you drag it out from the property manager it doesn’t put the tab number you dragged for, it puts no tab number.. but it copies out the property AS IF all is well. Then trying to apply either, the one without the tab number or the one with.. in a client side method.. where you address it beginning with $cinst… one time I was able to set Tab 3 to be invisible.. after that one time all hell has broken loose.. if I set tab 3 to be invisible at start, then tab 2 is hidden and tab 3 is visible. If I run code to fix this the same thing takes place.. if I run the line without a tab number, so it’s
$cinst.$objs.TabStrip.$visible.$assign(kTrue)
Then all the tabs show up. So that kind of works. But if you put in the tab number it doesn’t do the right one.
That’s my experience anyways.
The hardest part is the crashing of the SQL workers unless I step through them. That is hard on me. It has worked so many times but now today it will not. I hate these things that are related to days.. good and bad.. when things work and when things don’t. I hate that. What do you do with the bad day? What do I do today? This is what I’m on. I’m on finalizing this form, and it simply won’t stop crashing though all parts of it have worked fine before.. and without changes they just start to crash. Really annoying.
What’s also hard with crashing often is the fact that my logon is really long. I have to be connected to company data to run the tests of the form.. and to log onto them takes a really long time, like a couple minutes.. so you have that over and over, just waiting.. repeatedly, as the program again boots up.
I have so very rarely experienced crashing with Omnis. It’s incredibly rare for me. This is new, this crashing. I realize I am firing off 25 worker objects, that seems like a lot of stuff going on for Omnis, I recognize that, but the thing is that it has worked before so many times and without changes is now crashing. That’s what’s confusing. I don’t feel like trying to debug it because first of all the code is really simple, straightforward, already at it’s simplest, and secondly it has worked, and works if I step through it.
So I don’t know what do do about this. Except wait a day and see if it wants to run tomorrow.
I’ll probably bang my head against it some more.
Das
_____________________________________________________________
Manage your list subscriptions at https://lists.omnis-dev.com
Start a new message -> mailto:omnisdev-en at lists.omnis-dev.com
[https://carrubba-image.s3-us-west-2.amazonaws.com/logo_smaller.png]
More information about the omnisdev-en
mailing list