paulscherrerinstitute / StreamDevice

EPICS Driver for message based I/O
GNU General Public License v3.0
28 stars 42 forks source link

No error message, if regular expressions are used, but PCRE is not configured #12

Closed bl0x closed 6 years ago

bl0x commented 6 years ago

StreamDevice should fail when reading (or at least, when using) protocols that make use of regular expressions, even though PCRE is not configured and not compiled in. At the moment it seems to silently do nothing instead.

dirk-zimoch commented 6 years ago

You don't get the message: "No converter registered for format '%/'" ? I will check that. Need to rebuild without PCRE first...

"At the moment" means which version/commit?

bl0x commented 6 years ago

I was running with version 2_7_11. Sorry for the delay.

I may not have seen the message in the output. Would StreamDevice just keep going, or would this be a fatal error?

In my case it didn't stop but kept going, so I didn't notice until some time later when the record using the protocol which in turn made use of a regexp wouldn't process as expected (not at all).

dirk-zimoch commented 6 years ago

I had switched off error messages by default in 2_7_8 because too many people complained about "message flooding" when their device is offline. But that was not a good idea, because now you could not see the problem easily (e.g. protocol syntax errors). In a later version (2_7_12) I have re-enabled error messages during initialization. With your version, you may want to set 'var streamError 1' in your startup script. When done before iocInit, you should see messages about the unknown format. At run time you should see "Record not initialised correctly". In any case the SEVR/STAT fields of the record show the error. In this case INVALID/UDF. Any graphical user interface that shows the alarm status (which I always recommend) would show the INVALID alarm.

At the moment I am working on version 2_8_0 and I am trying to find a better balance between message flooding and problem hiding.

dirk-zimoch commented 6 years ago

Fixed. Error messages are now always on during initialization.