Re: Syntax Error in a Compiled Database
Eric, Sounds like some sort of run time error. Most likely caused when some unexpected data type is attempting to be read into an array (one of the arrays managed by a pointer and gets the warning). Running interpreted 4D is very robust as fixing these sort of data type errors but running compiled it throws an error instead. This is why you won't catch it interpreted. If it's consistently happening in a particular method then add more error checking to that method until you figure out what's going on. If it's happening in different methods are these methods managing writing to arrays directly? If so can you write a method to manage that write operation and use this method in all the places the arrays are written to? The idea is to get the code that's likely to throw the error in one place. Once you figure out what this edge case is you can decide the best way to either protect against it or manage the incoming data to prevent it. On Thu, Sep 9, 2021 at 9:06 AM Eric Asadoorian via 4D_Tech < 4d_tech@lists.4d.com> wrote: > Hello. > > Environment is v17.5 64-Bit in either OS X Sierra or Mojave (latest > versions). The database application does not experience much in the way of > user interaction. It is mainly responding to requests over TCP. It runs > 24/7. > > Compiler presents no errors, several warnings, but nothing new that hasn't > been seen before in earlier versions (v16, v15, back to v13). Warnings are > mostly of the sort where pointers are used for arrays and it isn't clear if > the data types will be correct at runtime. These methods run often and > have not presented a problem. > > Application can run for anywhere from 6 days to several weeks and no > issues. Then a runtime error will pop up citing Error 48 (I believe that > it says Syntax Error when looking at detail in Application Process, but not > sure, I will need to take a screenshot next time). > > This has occurred randomly without any real repeatable activity that I can > surmise. I decided to let the application run in interpreted mode hoping > that the error will surface and I can identify the offending code in the > debugger. So far, nearly 2 weeks in and no error. Therefore, I am > reaching the conclusion that this error will likely only show up in a > compiled database. > > I did not think a Syntax Error could occur in a compiled database. I am > guessing that it is related to a text value being passed to a 4D command > that would not be known in advance. However, I can't find anything that is > in error. I checked New Process, Execute on Server, and semaphore related > commands thus far. > > Where would be a good place to start looking? Has anyone had such an > experience before? Is there a way to identify more clearly what code is > executing when the error appears? > > Thank you, > Eric Asadoorian > > ** > 4D Internet Users Group (4D iNUG) > New Forum: https://discuss.4D.com > Archive: http://lists.4d.com/archives.html > Options: https://lists.4d.com/mailman/options/4d_tech > Unsub: mailto:4d_tech-unsubscr...@lists.4d.com > ** -- Kirk Brooks San Francisco, CA == ** 4D Internet Users Group (4D iNUG) New Forum: https://discuss.4D.com Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Syntax Error in a Compiled Database
I should have mentioned that. I do have an ON ERR CALL running. When in interpreted mode, it catches errors. This does not seem to be occurring when compiled. I would think that in the least it should present no standard error dialog due to the ON ERR CALL handling method. I will try to temporarily upgrade to 17R6 and see what happens. Thanks for your input. On Sep 9, 2021, at 2:19 PM, John DeSoi via 4D_Tech wrote: > I would setup an error handling method (ON ERR CALL) and use GET LAST ERROR > STACK and see if it provides more information. If you could update to at > least 17R6, you could use the Get call chain command to see exactly where the > error is. > >> On Sep 9, 2021, at 11:05 AM, Eric Asadoorian via 4D_Tech >> <4d_tech@lists.4d.com> wrote: >> >> Where would be a good place to start looking? Has anyone had such an >> experience before? Is there a way to identify more clearly what code is >> executing when the error appears? > > ** > 4D Internet Users Group (4D iNUG) > New Forum: https://discuss.4D.com > Archive: http://lists.4d.com/archives.html > Options: https://lists.4d.com/mailman/options/4d_tech > Unsub: mailto:4d_tech-unsubscr...@lists.4d.com > ** ** 4D Internet Users Group (4D iNUG) New Forum: https://discuss.4D.com Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Syntax Error in a Compiled Database
I would setup an error handling method (ON ERR CALL) and use GET LAST ERROR STACK and see if it provides more information. If you could update to at least 17R6, you could use the Get call chain command to see exactly where the error is. > On Sep 9, 2021, at 11:05 AM, Eric Asadoorian via 4D_Tech > <4d_tech@lists.4d.com> wrote: > > Where would be a good place to start looking? Has anyone had such an > experience before? Is there a way to identify more clearly what code is > executing when the error appears? ** 4D Internet Users Group (4D iNUG) New Forum: https://discuss.4D.com Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Syntax Error in a Compiled Database
Hello. Environment is v17.5 64-Bit in either OS X Sierra or Mojave (latest versions). The database application does not experience much in the way of user interaction. It is mainly responding to requests over TCP. It runs 24/7. Compiler presents no errors, several warnings, but nothing new that hasn't been seen before in earlier versions (v16, v15, back to v13). Warnings are mostly of the sort where pointers are used for arrays and it isn't clear if the data types will be correct at runtime. These methods run often and have not presented a problem. Application can run for anywhere from 6 days to several weeks and no issues. Then a runtime error will pop up citing Error 48 (I believe that it says Syntax Error when looking at detail in Application Process, but not sure, I will need to take a screenshot next time). This has occurred randomly without any real repeatable activity that I can surmise. I decided to let the application run in interpreted mode hoping that the error will surface and I can identify the offending code in the debugger. So far, nearly 2 weeks in and no error. Therefore, I am reaching the conclusion that this error will likely only show up in a compiled database. I did not think a Syntax Error could occur in a compiled database. I am guessing that it is related to a text value being passed to a 4D command that would not be known in advance. However, I can't find anything that is in error. I checked New Process, Execute on Server, and semaphore related commands thus far. Where would be a good place to start looking? Has anyone had such an experience before? Is there a way to identify more clearly what code is executing when the error appears? Thank you, Eric Asadoorian ** 4D Internet Users Group (4D iNUG) New Forum: https://discuss.4D.com Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **