hardbyte / hardbyte/python-can

can.BLFReader: Stuck printing "Unknown object header version (0)", cannot error handle.

オープン
#1,581 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
bug
主要言語
Python
スター
1.6k
フォーク
697
PR マージ指標
30日以内にマージされた PR はありません

説明

### Describe the bug
When reading certain BLF files that may be corrupt, the can.BLFReader() function gets stuck with the terminal output continuously printing "Unknown object header version (0)". Because this does not raise an error flag, there is no way to get out of this loop using traditional error handling methods. It seems maybe modifying the following section of blf.py would prevent the script from getting stuck here.

```else:
LOG.warning("Unknown object header version (%d)", header_version)
pos = next_pos
continue
```

To:

```else:
raise BLFParseError("Unknown object header version (%d)", header_version) from None
```

### To Reproduce
I am not sure what is wrong with the particular BLF file this is getting stuck in but I cannot share it unfortunately.

### Expected behavior
If "Unknown Object header Version (0)" is encountered, raise an exception flag so that we can stop processing the faulted file.

### Additional context

OS and version: Windows 10
Python version: 3.11.2
python-can version: 4.1.0

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。