boostorg / boostorg/gil

Image checksum tests failing for variant=release and x64 arch

Offen
#49 19 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
cat/bug ext/io
Vorherrschende Sprache
C++
Sterne
199
Forks
171
Ø Merge
1 T. 14 Std.
Gemergte PRs (30 T.)
10

Beschreibung

Adding `b2 variant=release` build jobs to AppVeyor in #46 which revealed that `test/image.cpp` is failing on **optimised x64 only** builds:

```
Checksum error in bgr121_basic_red_x (crc=2009802095 != 2137924839)
```

Here is the build https://ci.appveyor.com/project/stefanseefeld/gil/build/1.0.182-develop

This issue does not occur on Travis using GCC 5.4.1 and clang 4.2.1.
I also was not able to reproduce it locally, on Ubuntu with GCC 5.4.0.

## Failing checksum test cases

Modifying `test/image.cpp` to skip cases with missing CRC-s:

```
// Create a checksum for the given view and compare it with the reference checksum. Throw exception if different
void checksum_image_test::check_view_impl(const rgb8c_view_t& img_view, const string& name) {
+ if (_crc_map[name] == 0)
+ {
+ cerr << "no checksum, skipping " << name << endl;
+ return;
+ }
+
boost::crc_32_type checksum_acumulator;
checksum_acumulator.process_bytes(img_view.row_begin(0),img_view.size()*3);
```

allowed to iterate over the test cases in `test/gil_reference_checksums.txt` (remove failing entry, run the test, repeat until all remaining cases pass) and identify the failing ones:

```
bgr121_basic_red_x 7f6e24e7
bgr121_basic_white_x e4aaa1d3
bgr121_views_90cw 8565efd8
bgr121_views_flipped_ud 8f7f7d00
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.