Re: Server Process "Frozen"-ish
On Thu, Oct 26, 2017 at 7:45 AM, Timothy Penner via 4D_Tech < 4d_tech@lists.4d.com> wrote: Thanks for chiming in. Given the number and nature of the people reporting this bug, it's clearly a real bug. Can you give us some insight into what efforts 4D is making internally to track this down and fix it? The way I interpret your remarks is "We're waiting for customers to figure out what the problem is." Is that a mis-characterization or even a totally off-base reading of your message? Is there an *active* effort within to track down this particular problem? Thanks. ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: v15 R(X) documentation
R releases in the broader sense refer to the channel, not a specific "version", which are sometimes called snapshots. today the current R release is 16R4 but in a few months the same link will take you to 16R5 pages. past R release documents are archived at livedoc.4d.com, but the principle is that you don't deploy an R release unless you have plans to keep it updated ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
4D Write Pro - Exporting / Saving to other file formats (e.g., .rtf or .doc)
We used to use 4D Write to create standalone RTF formatted reports which could then easily be opened and edited in Microsoft Word. We have just begun to look at 4D Write Pro. The closest command I could find to doing something like this in 4D Write Pro was WP Export Document but it does not appear to allow you to export a document in a format which could be immediately editing in Microsoft Word. Am I correct about that or just missing something obvious? Thanks, Mike McCall ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
v15 R(X) documentation
When I option click on a 4D command in v15 I get taken to a web page on that topic, for the v15 family. When I do the same thing in v15R5, I get taken, sometimes, to 16v2 docs. But sometimes I end up, after much redirecting, to a random page. Is there a right way to do this? Are the v15 R docs online? ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Server Process "Frozen"-ish
On Oct 25, 2017, at 3:45 PM, Timothy Pennerwrote: > I just want to add that one of the main benefits of the Forums > (http://forums.4d.com) is that it is also used by the 4D Engineers and they > do monitor, read, and participate in the discussions. So posting on the > forums could give you the opportunity to discuss this directly with the > Engineers. This participation is one of the main reasons why Feature Requests > are handled on the forums (as described here: http://kb.4d.com/assetid=76725). Hi Tim, I know it, I know it. But me and so many other 4D Developers are old dogs. And you what they say, “hard to teach an old dog new tricks”. Particularly when the bones 4D Forums offer taste so terrible. In other words. It’s just to darn easy to deal with the iNUG email setup, and it is a big pain-in-the-ass to deal with how the 4D Forums work. Takes nine million clicks to view everything and to find anything. Here you just glance at emails and you get all the info you want. You want people to use the 4D Forums, make it taste so good we won’t want to use old fashion emails any longer. Here’s a radical idea, create an email interface/adapter for the 4D Forums so you don’t have to use that horrid web interface. You just send specially formatted emails and it inserts them into the 4D Forums. And when someone replies on the 4D Forums it send out an email. Then there would be no excuse to not participate in the 4D Forums. Too bad nobody in France is smart enough or motivated enough to do something like that. :) >> Somebody needs to forward this email chain to 4D engineering. Hopefully Tim >> Penner can do this and get 4D engineering motivated to stop waiting for a >> demo database that reproduces this problem and have somebody go do a code >> review looking for something that doesn’t look quite right. > > I wish it were that simple. I see some theories about what's causing it but I > don’t think anyone has nailed down a concrete explanation or reproducible > test that could be used in a bug report. Sorry, but I cannot file a bug > report for something this vague. Although, to be clear, I have tried running > some tests to see if I can provoke the issue and I never saw it (so > technically if a bug was filed with the information we currently have it > could be marked as 'verified and non-reproducible' by tech support). I totally understand that. I just want to help in any way I can to get this resolved. Right now I have no v16 users. I was planning to do an upgrade but this put a stop to that. No way. I’m steering clear of upgrading to v16 until I hear that this problem has been fixed. And that’s what I tell anyone that asks me about upgrading to v16. If you don’t use Stored Procedure, go ahead, but if you do you are asking for trouble. If it is affecting Jeff and Cannon, it could effect anyone. This is not a 4D developer coding error, this is a 4D bug! I’m a big user of Stored Procedure and I don’t need the headache of them acting up when everything is completely stable now. And it’s a bug I can’t even implement a work around for, other than to manually monitor all server every single day and executing RESUME PROCESS commands manually when I detect an issue. I’ve got work to do. I’m not going to become a server babysitter. And the last thing I want is calls from clients saying “that 4D upgrade you installed is sure causing problems, why don’t you fix it”. And my only reply is, “I can’t, live with it”. I’m sure you understand that. Tim Tim Nevels Innovative Solutions 785-749-3444 timnev...@mac.com ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
RE: Server Process "Frozen"-ish
Hi Tim, > This is how a programming forum is supposed to work. People contributing > ideas and sharing experiences. I think we are getting close to nailing down > where 4D engineers need to look to solve this problem. > I just want to add that one of the main benefits of the Forums (http://forums.4d.com) is that it is also used by the 4D Engineers and they do monitor, read, and participate in the discussions. So posting on the forums could give you the opportunity to discuss this directly with the Engineers. This participation is one of the main reasons why Feature Requests are handled on the forums (as described here: http://kb.4d.com/assetid=76725). > Somebody needs to forward this email chain to 4D engineering. Hopefully Tim > Penner can do this and get 4D engineering motivated to stop waiting for a > demo database that reproduces this problem and have somebody go do a code > review looking for something that doesn’t look quite right. > I wish it were that simple. I see some theories about what's causing it but I don’t think anyone has nailed down a concrete explanation or reproducible test that could be used in a bug report. Sorry, but I cannot file a bug report for something this vague. Although, to be clear, I have tried running some tests to see if I can provoke the issue and I never saw it (so technically if a bug was filed with the information we currently have it could be marked as 'verified and non-reproducible' by tech support). It is great to see confirmation that using the Runtime Explorer allows the DB Admin to issue the command RESUME PROCESS; this gives me hope that we are on the right track and for the time being we have a way of kicking the process back into gear. I will continue monitoring this thread for additional clues but at this time I still don't have enough information to reproduce the issue and ultimately file a bug report. For anyone following along and actively looking for this problem, hopefully you are also using the Information Component to log reports on a regular basis (default 5 minute interval) so that if the issue does arise you have a set of reports that depict the period of uptime for the database. There may be a clue in these reports (for example, an item in the attention section warning you of an issue). At the very least the reports would include the amount of uptime for the computer, which could be used to help understand at which point of uptime this problem is happening (assuming it is related to uptime). -Tim ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Server Process "Frozen"-ish
> On Oct 25, 2017, at 6:55 AM, Tim Nevels via 4D_Tech <4d_tech@lists.4d.com> > wrote: > >> Anyway, I'm wondering if the problem is when either Tickcount, Milliseconds >> or another internal 4D time measure overflows into negative territory. I >> have no idea internally what measure 4D uses for DELAY PROCESS, nor what >> data type they use internally for it, but what if they aren't taking account >> of the overflow when the measure value goes from a large positive number to >> a large negative. >> >> That could explain the large time period before the problem reoccurs?? I am not sure that this is in any way related, but a after upgrading a client to v15 I started having an occasional problem with a stored procedure. I cannot remember now exactly what the problem was but I solved it by letting the process die after starting a new process with the same method and delaying the new process as soon as it starts… Process A does it thing starts Process B and dies Process B is delayed. After delay Process B does it’s thing starts Process A and dies. Repeat… This has worked without any problem since. John John Baughman Kailua, Hawaii (808) 262-0328 john...@hawaii.rr.com ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
BUG in ST Get content type?
Hi, 4D v16R4 I use the "loop example" to get all expressions in a WP area However, when the first "character" of the text in the area is an expression, this expression is skipped (not seen) It seems that when I call $type:=ST Get content type*;"WParea";$start;$end;$startBlock;$endBlock) for the first time, with $start:=ST Start text $end:=ST End text It returns $type=3, with $startBlock=1 and $endBlock=2, while it should return in my opinion $type=2 (i.e. expression type) Does anybody think, as I do, this is a bug? Or am I missing something. Gr, Piotr ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Server Process "Frozen"-ish
On Oct 25, 2017, at 11:38 AM, Keith White wrote: > Wondered if you saw my guess/conjecture previously posted on this subject > (not that it's much help !)...:- > > OK, so we think this is due to DELAY PROCESS. > > The change to DELAY PROCESS somewhere in 4D v15 was to change from a Longint > to Real. But the problems didn't start until v16, I think that's right. > > Anyway, I'm wondering if the problem is when either Tickcount, Milliseconds > or another internal 4D time measure overflows into negative territory. I > have no idea internally what measure 4D uses for DELAY PROCESS, nor what data > type they use internally for it, but what if they aren't taking account of > the overflow when the measure value goes from a large positive number to a > large negative. > > That could explain the large time period before the problem reoccurs?? > > Just throwing an idea out there. We've only just jumped from v13 to v16R4, > which means we don't have v16 out in production land yet, so we haven't yet > seen this problem occur. I think you are on to something Keith. I had the exact same thoughts about this problem. A change from tick count to millisecond and the change from C_LONGINT values in DELAY PROCESS to C_REAL. Probably also related to internal scheduling system changes connected to support preemptive processes now. They had to do some major low level programming changes to make all of this work. This is how a programming forum is supposed to work. People contributing ideas and sharing experiences. I think we are getting close to nailing down where 4D engineers need to look to solve this problem. Somebody needs to forward this email chain to 4D engineering. Hopefully Tim Penner can do this and get 4D engineering motivated to stop waiting for a demo database that reproduces this problem and have somebody go do a code review looking for something that doesn’t look quite right. Tim Tim Nevels Innovative Solutions 785-749-3444 timnev...@mac.com ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Server Process "Frozen"-ish
I went to another machine and found out some more info. This appears to be a random problem which makes it difficult to reproduce and track down. Here is what I can summarize on the problem: 1) There isn’t a direct correlation to the Server UI window becoming unresponsive vs the delay process issue. In some cases it correlates but in others it does not 2) Not sure there is a correlation to machine up time. I’ve seen the problem occur on a machine that was up 158 days; not occur on a machine that was up 86 days and did occur on a machine that was up 59 days 3) Not sure there is a correlation to database up time. Different up times on different database - same results 4) I can confirm that I only see it between 4Dv15R5 and 4Dv16.0 5) My processes that just stop responding on all of the databases on all of the machines stopped responding on 10/15/17. The databases have different up times when this occurs. and for one more bit of randomness: I have 2 server processes that do house keeping chores. These are the processes I delay. In all of the databases I’ve looked at so far, both processes stop on the same day. in fact, all of the databases running on the machine stop on the same day - all except for 1 database. In this database one of the processes stopped on 10/15/17 but the other one is still running. Talk about random. Riddle me that batman. crap Thanks! David Conley By The Book, Inc. Office: 815-234-7530 Direct Line: 815-406-5502 Fax: 815-234-7532 http://www.bythebook.com > On Oct 25, 2017, at 10:24 AM, BTB-David via 4D_Tech <4d_tech@lists.4d.com> > wrote: > > Interesting. I did some more digging and here is what I’ve found. > > I have 13 Macs that run up to 10 databases on each machine of differing 4D > versions (usually 4Dv13.4, 4Dv15R5 and 4Dv16.0) - all are 32 bit. I focused > on 2. > > Machine 1 - uptime 158 days > > I have 10 databases running on this machine. 3 are running using 4D v13.4, 2 > are running v15R5 and the other 5 are running v16.0. > > The ones running v13.4 are not having this issue. All of the other ones are. > > Machine 2 - uptime 86 days > > I have 9 databases running on this machine. 3 are running 4Dv13.4 and 6 are > running 4Dv16.0. > > None of the 4Dv13.4 databases have the problem. None of the 4Dv16.0 > databases on this machine have experienced this problem. > > > Jeff: I can confirm that the 4D Server UI monitor for graphs does stop > updating when this occurs. On Machine 1, the only one that is working now is > the one I manually resumed the processes for. On machine 2, all of the > graphs are working just fine. > This email was sent to 4d_tech@lists.4d.com (mailto:4d_tech@lists.4d.com) unsubscribe from this list (http://emailclicks.bythebook.com/track/unsub.php?u=30055319=8243fbea94074a0abf7670925c43bc20.6uKpduIsjJ%2FEqVQ1r%2BdLr66Tu1w%3D=https%3A%2F%2Fmandrillapp.com%2Funsub%3Fmd_email%3D4d_tech%2540lists.4d.com) ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: The connection for this process has been disrupted or the connection could not be established
Arnaud: I would say it is "a" way to use a Semaphore and the idea that it is a limit is the way that I've always understood it. The fact that it's a gobal semaphore means that it controls access to the code that follows and the scope of that is for all machines connected to the server. The semaphore doesn't mean that other methods cannot run. That is a function of "cooperative multitasking" and, now that we can run code pre-emotively, developers will have to have a more clear understanding of (and better control of) what runs, when. I'm making a narrow distinction there but I think it's a valid one. -- Douglas von Roeder 949-336-2902 On Wed, Oct 25, 2017 at 9:15 AM, Arnaud de Montard via 4D_Tech < 4d_tech@lists.4d.com> wrote: > > > Le 25 oct. 2017 à 17:55, Douglas von Roeder via 4D_Tech < > 4d_tech@lists.4d.com> a écrit : > > > > Arnaud: > > > > My understanding is that, given that 4D's scheduler has been "cooperative > > multitasking" for virtually all of its history, the Idle command > instructs > > the current process to yield time to other processes. Without the > While…End > > while loop and the Idle command, the current process would hit the > > Semaphore command and processing would stop until 300 ticks had passed. > > That process would not yield CPU, causing all processing to stop. > > Yes, but when I look at examples in the Semaphore function, only the 1 > (the oldest?) uses while+idle. And I remember Olivier Deschanels saying > during a training that the second parameter was made to limit the delay. > Now, is it "a" way to delay, "the" way, when to mix both? That's what I'd > like to know. And more specifically with a global semaphore, as in David's > situation. > > -- > Arnaud de Montard > > > > ** > 4D Internet Users Group (4D iNUG) > FAQ: http://lists.4d.com/faqnug.html > Archive: http://lists.4d.com/archives.html > Options: http://lists.4d.com/mailman/options/4d_tech > Unsub: mailto:4d_tech-unsubscr...@lists.4d.com > ** > ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: The connection for this process has been disrupted or the connection could not be established
> Le 25 oct. 2017 à 17:55, Douglas von Roeder via 4D_Tech > <4d_tech@lists.4d.com> a écrit : > > Arnaud: > > My understanding is that, given that 4D's scheduler has been "cooperative > multitasking" for virtually all of its history, the Idle command instructs > the current process to yield time to other processes. Without the While…End > while loop and the Idle command, the current process would hit the > Semaphore command and processing would stop until 300 ticks had passed. > That process would not yield CPU, causing all processing to stop. Yes, but when I look at examples in the Semaphore function, only the 1 (the oldest?) uses while+idle. And I remember Olivier Deschanels saying during a training that the second parameter was made to limit the delay. Now, is it "a" way to delay, "the" way, when to mix both? That's what I'd like to know. And more specifically with a global semaphore, as in David's situation. -- Arnaud de Montard ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: The connection for this process has been disrupted or the connection could not be established
Arnaud: My understanding is that, given that 4D's scheduler has been "cooperative multitasking" for virtually all of its history, the Idle command instructs the current process to yield time to other processes. Without the While…End while loop and the Idle command, the current process would hit the Semaphore command and processing would stop until 300 ticks had passed. That process would not yield CPU, causing all processing to stop. That's how I've come to understand the issue over the years and I'd love to see someone with actual knowledge of the issue weigh in. -- Douglas von Roeder 949-336-2902 On Wed, Oct 25, 2017 at 8:40 AM, Arnaud de Montard via 4D_Tech < 4d_tech@lists.4d.com> wrote: > > > Le 25 oct. 2017 à 04:27, David Ringsmuth via 4D_Tech < > 4d_tech@lists.4d.com> a écrit : > > > > The “Semaphore” function is crashing 4D Remote’s connection to 4D Server. > > > > While(Semaphore("MySemaphore";300)) // ←- this line crashes > > // more coding here > > End while > > The doc "about semaphore" they say "Here is typical code for using a > semaphore": > While(Semaphore("MySemaphore";300)) > IDLE > End while > I never understood why we still need a While since the second parameter is > available… > > I'd try those: > - add IDLE or DELAY PROCESS after While > - play with the waiting time (second parameter - no idea of what the max > can be) > - remove the while and raise the up the waiting time > and call 4D if it still crashes… > > -- > Arnaud de Montard > > > ** > 4D Internet Users Group (4D iNUG) > FAQ: http://lists.4d.com/faqnug.html > Archive: http://lists.4d.com/archives.html > Options: http://lists.4d.com/mailman/options/4d_tech > Unsub: mailto:4d_tech-unsubscr...@lists.4d.com > ** > ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: The connection for this process has been disrupted or the connection could not be established
> Le 25 oct. 2017 à 04:27, David Ringsmuth via 4D_Tech <4d_tech@lists.4d.com> a > écrit : > > The “Semaphore” function is crashing 4D Remote’s connection to 4D Server. > > While(Semaphore("MySemaphore";300)) // ←- this line crashes > // more coding here > End while The doc "about semaphore" they say "Here is typical code for using a semaphore": While(Semaphore("MySemaphore";300)) IDLE End while I never understood why we still need a While since the second parameter is available… I'd try those: - add IDLE or DELAY PROCESS after While - play with the waiting time (second parameter - no idea of what the max can be) - remove the while and raise the up the waiting time and call 4D if it still crashes… -- Arnaud de Montard ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Server Process "Frozen"-ish
Interesting. I did some more digging and here is what I’ve found. I have 13 Macs that run up to 10 databases on each machine of differing 4D versions (usually 4Dv13.4, 4Dv15R5 and 4Dv16.0) - all are 32 bit. I focused on 2. Machine 1 - uptime 158 days I have 10 databases running on this machine. 3 are running using 4D v13.4, 2 are running v15R5 and the other 5 are running v16.0. The ones running v13.4 are not having this issue. All of the other ones are. Machine 2 - uptime 86 days I have 9 databases running on this machine. 3 are running 4Dv13.4 and 6 are running 4Dv16.0. None of the 4Dv13.4 databases have the problem. None of the 4Dv16.0 databases on this machine have experienced this problem. Jeff: I can confirm that the 4D Server UI monitor for graphs does stop updating when this occurs. On Machine 1, the only one that is working now is the one I manually resumed the processes for. On machine 2, all of the graphs are working just fine. The code dealing with these server processes has been running just fine for many, many years. Thanks! David Conley By The Book, Inc. Office: 815-234-7530 Direct Line: 815-406-5502 Fax: 815-234-7532 http://www.bythebook.com > On Oct 25, 2017, at 9:37 AM, Cannon Smith via 4D_Tech <4d_tech@lists.4d.com> > wrote: > > Hi Keith, > > Yes, that’s why I was curious about the machine up time. It would be curious > if it was close to 24.86 days, for example. > This email was sent to 4d_tech@lists.4d.com (mailto:4d_tech@lists.4d.com) unsubscribe from this list (http://emailclicks.bythebook.com/track/unsub.php?u=30055319=9677e92f5f6e4a8c99f800ea10e5b871.6uKpduIsjJ%2FEqVQ1r%2BdLr66Tu1w%3D=https%3A%2F%2Fmandrillapp.com%2Funsub%3Fmd_email%3D4d_tech%2540lists.4d.com) ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Server Process "Frozen"-ish
Did you also see the 4D Server UI stop updating? I'm referring to the server monitor user interface that graphs the CPU time, etc. When this has happened to our mirror servers, those graphs stop updating. The server can still be manipulated, but those graphs don't update and the stored procedure has stopped. -- Jeffrey Kain jeffrey.k...@gmail.com > On Oct 25, 2017, at 10:34 AM, Keith White via 4D_Tech <4d_tech@lists.4d.com> > wrote: > > OK, so we think this is due to DELAY PROCESS. > > The change to DELAY PROCESS somewhere in 4D v15 was to change from a Longint > to Real. But the problems didn't start until v16, I think that's right. > > Anyway, I'm wondering if the problem is when either Tickcount, Milliseconds > or another internal 4D time measure overflows into negative territory. I > have no idea internally what measure 4D uses for DELAY PROCESS, nor what data > type they use internally for it, but what if they aren't taking account of > the overflow when the measure value goes from a large positive number to a > large negative. ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Server Process "Frozen"-ish
Hi Keith, Yes, that’s why I was curious about the machine up time. It would be curious if it was close to 24.86 days, for example. -- Cannon.Smith Synergy Farm Solutions Inc. Hill Spring, AB Canada 403-626-3236> On Oct 25, 2017, at 8:34 AM, Keith White via 4D_Tech <4d_tech@lists.4d.com> > wrote: > > Wondered if you saw my guess/conjecture previously posted on this subject > (not that it's much help !)...:- ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Server Process "Frozen"-ish
Hi David and Canon Wondered if you saw my guess/conjecture previously posted on this subject (not that it's much help !)...:- OK, so we think this is due to DELAY PROCESS. The change to DELAY PROCESS somewhere in 4D v15 was to change from a Longint to Real. But the problems didn't start until v16, I think that's right. Anyway, I'm wondering if the problem is when either Tickcount, Milliseconds or another internal 4D time measure overflows into negative territory. I have no idea internally what measure 4D uses for DELAY PROCESS, nor what data type they use internally for it, but what if they aren't taking account of the overflow when the measure value goes from a large positive number to a large negative. That could explain the large time period before the problem reoccurs?? Just throwing an idea out there. We've only just jumped from v13 to v16R4, which means we don't have v16 out in production land yet, so we haven't yet seen this problem occur. Best regards Keith White Synergist Express Ltd, UK. ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Server Process "Frozen"-ish
Hi David, Good to have more information—thanks! I’m curious, do you know what the machine up time was when it stalled? Thanks. -- Cannon.Smith Synergy Farm Solutions Inc. Hill Spring, AB Canada 403-626-3236> On Oct 25, 2017, at 7:57 AM, BTB-David via 4D_Tech <4d_tech@lists.4d.com> > wrote: > > I can confirm that this is caused by the delay process. In fact, all of my > server processes that use delay process stopped on the same day. They had > different levels of delay times set. ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Server Process "Frozen"-ish
I can confirm that this is caused by the delay process. In fact, all of my server processes that use delay process stopped on the same day. They had different levels of delay times set. As per your suggestion, I went into Runtime Explorer on the Server and typed resume process (pid) and they worked again. I will check tomorrow to see if the processes run more than one day after manually using resume. I am running 16.0 Build 16.209177. Server is running on Mac. I will create a test database and see if I can re-create and will open a support case for this issue. Thanks! David Conley By The Book, Inc. Office: 815-234-7530 Direct Line: 815-406-5502 Fax: 815-234-7532 http://www.bythebook.com > On Oct 18, 2017, at 7:33 PM, Timothy Penner via 4D_Tech > <4d_tech@lists.4d.com> wrote: > > Hi Cannon, > > If I am reading this correctly, you have a process that was delayed using > DELAY PROCESS and it should have already woken up after 1 second but it was > still delayed several hours later - is that right? > > Not sure if this will help you at all, but if you can locate the process > number for the process (let's assume it is process #10) and then issue RESUME > PROCESS(10) does it actually wake up or does it stay delayed? > > You can obtain the process number from the Admin Window or the Runtime > Explorer. > > You can issue commands from the Runtime Explorer by adding a new expression > and typing the command into the expression. For example, typing RESUME > PROCESS(10) into the Runtime Explorer will resume the process with id 10. > > To be clear - I don’t think this will help find the root cause of the > problem, but I do think it could help in understanding what state the process > is actually in. > > If this issue is simply DELAY PROCESS not waking up, I wonder if someone > could build a quick and simple database that demonstrates and tests that? > Maybe having a process that delays itself and updates a variable with the > current time, and another process checking the variable to confirm a certain > amount of time has elapsed. Then if the elapse time between updates falls > outside of the expected range then the bug has been hit? Has anyone tried > that to confirm this? > This email was sent to 4d_tech@lists.4d.com (mailto:4d_tech@lists.4d.com) unsubscribe from this list (http://emailclicks.bythebook.com/track/unsub.php?u=30055319=8c2a09f8dc174d07aebcb70e893613ce.6uKpduIsjJ%2FEqVQ1r%2BdLr66Tu1w%3D=https%3A%2F%2Fmandrillapp.com%2Funsub%3Fmd_email%3D4d_tech%2540lists.4d.com) ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Primary Key in 4Dv15
Hello Ronnie, I agree with "Roll your own". I just added new PK fields with the only purpose for journaling and nothing else so far. With following code You can convert a database. I do it in 2 steps. Very first time I create a new datafile and let the structure add the fields. This should be done with v14 or 15. After that you can open any datafile (v11, 12, 13) with that structure file and conversion will be done automatically. I implemented 2 methods. First method I call from On Startup and On Startup Server. SYS_PrimaryKey_v14 // // User name (OS): Magnus Torell // Date and time: 14-12-29, 01:01:43 // // Method: SYS_PrimaryKey_v14 // Description // Method is tested and has to be run as follows: // Open the structure in v14 with an EMPTY datafile // This will convert the structure and add primary keys to all tables // Done // Now any other Valentis/MultiControl database in v11, v12, v13 can be just opened and all PKs will be filled and indexed // None of the automatic conversion dialogs should show up since the structure is already converted and PKs added // Upon opening of databases first you confirm that the will be updated to v14. // Then the data will automatically be filled with PK values (UUID) and // Finally the new fields will be indexed // Either before or after the indexing the PKs will be validated by v14 mechanism // DON'T forget to enable journaling after conversion is done. // This method could just lie around till a reasonable amount of time. // Maybe could be adjusted to If (Application version == "14@") // Parameters // // NB TRIGGERS. Each save will take longer time if triggers are on. // In the triggers may be calls to interprocess vars that is not yet initialized Be careful. // For writer there is a ◊FileArray{}{} which is not yet initialized here in beginning in On StartUp. // Noted by: Magnus Torell (15-10-31) // Followed up on this TRIGGER Part and did not understand why triggers should be off. // OK Maybe faster, but no harm seemed to be happening C_TEXT($statement_t;$tableName_t) C_LONGINT($curTable_l;$numTables_l) C_BOOLEAN($b_RunSQL) If (Application version>="14@") $b_RunSQL:=True C_LONGINT($fields_max) C_LONGINT($field_number) $curTable_l:=1 // Table 1 = Object $fields_max:=Get last field number(Table($curTable_l)) $pk_fieldname_t:="pk_"+String($curTable_l;"") //New syntax for primary keys: "pk_" where stands for table number in format "" For ($field_number;1;$fields_max) If (Is field number valid($curTable_l;$field_number)) $fieldname:=Field name($curTable_l;$field_number) If ($fieldname=$pk_fieldname_t) //Check if there already exists a field with syntax "pk_" $b_RunSQL:=False End if End if End for If ($b_RunSQL) // ie. we have not found field pk_0001 in first table (Object table) $numTables_l:=Get last table number For ($curTable_l;1;$numTables_l) SYS_PrimaryKey_Create ($curTable_l) End for End if End if and second method SYS_PrimaryKey_Create // // User name (OS): Magnus Torell // Date and time: 15-07-02, 19:56:28 // // Method: SYS_PrimaryKey_Create // Description // // // Parameters // C_LONGINT($curTable_l;$1) C_TEXT($statement_t;$tableName_t) C_LONGINT($curTable_l;$numTables_l) C_BOOLEAN($b_RunSQL) $curTable_l:=$1 $statement_t:="" If (Is table number valid($curTable_l)) $b_RunSQL:=True C_LONGINT($fields_max) C_LONGINT($field_number) $fields_max:=Get last field number(Table($curTable_l)) $pk_fieldname_t:="pk_"+String($curTable_l;"") //New syntax for primary keys: "pk_" where stands for table number in format "" For ($field_number;1;$fields_max) If (Is field number valid($curTable_l;$field_number)) $fieldname:=Field name($curTable_l;$field_number) If ($fieldname=$pk_fieldname_t) //Check if there already exists a field with syntax "pk_" $b_RunSQL:=False End if End if End for If ($b_RunSQL) //If there is no field already created $tableName_t:=Table name($curTable_l) $statement_t:=$statement_t+"ALTER TABLE ["+$tableName_t+"] "