The exception has a message "source should be specified as a string", which means that bytes are not allowed to set to the rio.object.source. The exception is tried to handle in the repair_odim_source() function that returns bytes or None. If the repair_odim_source() function returns bytes, an other exception will be thrown. But if there isn't any match in the repair_odim_source() function, None is returned because final return statement is missing. The None return value is possible to set to the rio.object.source but that causing problems when scansun program is used through the odc_toolbox. In the scansun line https://github.com/baltrad/rave/blob/master/librave/scansun/scansun.c#L675, the function PolarVolume_getSource(volume) returns NULL and the RAVE_STRDUP() asserts with the NULL. That failure causing that threads never return in line https://github.com/baltrad/rave/blob/master/Lib/odc_polarQC.py#L148. The odc_toolbox must be killed manually.
An exception happens in the line https://github.com/baltrad/rave/blob/master/Lib/odc_fixIO.py#L54 when WMO code is not present in the source string. For example it happens with the string "WIGOS:0-246-0-107275,RAD:FI53,PLC:Vihti,NOD:fivih".
The exception has a message "source should be specified as a string", which means that bytes are not allowed to set to the rio.object.source. The exception is tried to handle in the repair_odim_source() function that returns bytes or None. If the repair_odim_source() function returns bytes, an other exception will be thrown. But if there isn't any match in the repair_odim_source() function, None is returned because final return statement is missing. The None return value is possible to set to the rio.object.source but that causing problems when scansun program is used through the odc_toolbox. In the scansun line https://github.com/baltrad/rave/blob/master/librave/scansun/scansun.c#L675, the function PolarVolume_getSource(volume) returns NULL and the RAVE_STRDUP() asserts with the NULL. That failure causing that threads never return in line https://github.com/baltrad/rave/blob/master/Lib/odc_polarQC.py#L148. The odc_toolbox must be killed manually.
OS: Ubuntu 20.04.5 LTS Python: python3.8 rave: b4d4117e9c4577054215bf08eb3218f19bebbfcc hlhdf: hldf-build-13 gcc: 9.4.0