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
**********************************************************************

Reply via email to