AnsweredAssumed Answered

FMS Server 14 Crashes with multiple PSOS and Complex Searches

Question asked by lmagnan on Oct 18, 2016
Latest reply on Dec 5, 2016 by TSGal

Product and version (e.g. FileMaker Pro 14.0.3)

Filemaker Server 14.04.412

OS and version

Windows Server 2012 Standard

Browser and version (for WebDirect only)

N/A

Hardware

16 Core Intel Xeon CPU E5-2630 @ 2.4 Ghz, 8 GB RAM, 64-bit Operating System

Description

I was trying to run a complex search into which I was looking for the levenshtein distance between a field and a local variable. I am importing new entries in my database once in a while and the idea is to compare imported entries with existing entries in two different tables.

 

My search is run from the table I call the approval document table, where I set a local variable from a value list and compare certain entries of that table (from a found set previously established) to the local variable using the Levenshtein Custom Function in a first find request. In the second find request, I use the same CF to look for differences between another local variable and a field in the related table I call modification table. The search is run against an unindexed calculation field that contains the levenshtein function pointed at another field on that record and to the local variables previously set by the script. I ask FM to get anything that is within a certain distance that is different for each of the imported entry I run the scirpt against, a little like saying "give me everything that is within 20% similar to this string".

 

Since the CF takes a while to resolve, I thought I had a great idea by splitting my list in pieces and having multiple instances of the same script running on the server at the same time, each doing their part of the task. However, as soon as I run more than one instance, I start seeing DMP files in the Log Folder of my FMServer. I basically get one DMP per search action. Since the script is a loop that looks for around 100 entries total (in between the various instances) each time I run it, I end up with quite a few different DMP files that are most likely containing the same thing.

 

When I analyse the DMP file using WinDebug, I get an C0000005 exception against FMServer Support.DLL. One thing I did notice during my trials is that I was getting super high CPU frequency (around 120-130%) for a somewhat low CPU load (around 12-18%). The script goes through without any issues if I run only a single instance of it. FileMaker Server doesn't actually crash and I get expected search results. However, I do get some sort of admin console lock-up for certain user, and I am incapable of properly closing the database or turn off the server without using power shell and restarting the server machine.

 

The load on the server remains low at all times, and I had somewhere around 3GB of memory available for cache when I was running the scripts, if this info can be of any use.

 

Levenshtein CF: FileMaker Custom Function:Levenshtein ( str1 ; str2 ; damerau ; caseSensitive )

Community Discussion related to this issue: PSOS Complex Search Script generating a dmp file

 

How to replicate

Run more than one scripts at the same time performing the Levenshtein function.

 

Workaround (if any)

Run only one instance of the script.

Outcomes