System.Text Namespace Crash

KMoody

Member
Version: OpenEdge 11.7.5.00
OS: Windows 10 Pro
System Type: 64-bit

I'm running the following code:
Code:
USING System.Text.RegularExpressions.*.

message "start...".

DEF VAR regexp AS CLASS Regex NO-UNDO.
regexp = NEW Regex("^[~\w.!#$%&’*+/=?^_`~{|~}~-]+@[~\w-]+(?:\.[a-zA-Z0-9-]+)*$").

message "test@gmail.com" regexp:IsMatch("test@gmail.com").

MESSAGE "...end.".

The program crashes when I try to create a new Regex object. I can't capture the error, so I can't figure out what's going on.

Why might the program be crashing?
 

Cringer

ProgressTalk.com Moderator
Staff member
Usually when a program crashes you get a protrace or a procore file which will give you more error detail. You may have to search around a but to find it though. Often it's in the start directory of the application, or possibly in the temp directory.
 

Osborne

Active Member
It seems to suggest there is a problem with the .NET bridge link, and as Cringer outlines there may be a protrace or procore file that could list the reason.

If instead of 'NEWING' you have something like this does it crash as well?:
Code:
MESSAGE System.Text.RegularExpressions.Regex:IsMatch ("test@gmail.com","^[~\w.!#$%&'*+/=?^_`~{|~}~-]+@[~\w-]+(?:\.[a-zA-Z0-9-]+)*$") VIEW-AS ALERT-BOX.
 

KMoody

Member
It seems to suggest there is a problem with the .NET bridge link, and as Cringer outlines there may be a protrace or procore file that could list the reason.

If instead of 'NEWING' you have something like this does it crash as well?:
Code:
MESSAGE System.Text.RegularExpressions.Regex:IsMatch ("test@gmail.com","^[~\w.!#$%&'*+/=?^_`~{|~}~-]+@[~\w-]+(?:\.[a-zA-Z0-9-]+)*$") VIEW-AS ALERT-BOX.

I tried that, and it still crashed. But I figured out why we were crashing!

In the protrace, I found the following:
Code:
Exception code: E0434352
Fault address:  00007FFEEF734F69 01:0000000000033F69 C:\WINDOWS\System32\KERNELBASE.dll

I then realized we were running using a COPY of prowin.exe:

Code:
C:\"Program Files"\pro117\bin\prowin_1.exe mffg1 -basekey INI -ininame p:\apps\mfapp\prov117.ini -pf p:\apps\mfapp\mffg1run_117.pf -H [servername] -S [port] -pf r:\sales1.pfs

Since we ran prowin_1.exe instead of prowin.exe, that meant we weren't using prowin.exe.config or prowin.exe.manifest. Without those files, Progress didn't have references to dependent assemblies, which must have included the System.Text namespace.

Once we made copies of the config and manifest (prowin_1.exe.config and prowin_1.exe.manifest), I was able to run my program successfully.

Thanks for your help!
 
Last edited:
Top