Your message dated Sun, 23 Apr 2023 06:18:58 +0000 with message-id <[email protected]> and subject line Bug#918774: fixed in lasi 1.1.3-1 has caused the Debian Bug report #918774, regarding liblasi0: response to missing system glyphs no longer works correctly to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 918774: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=918774 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: liblasi0 Version: 1.1.0-2 Severity: important Dear Maintainer, Since one of my recent Debian Buster upgrades I have been getting the following run-time errors with libLASi when a missing system glyph is encountered: terminate called after throwing an instance of 'std::runtime_error' what(): Error returned from FT_Load_Glyph Aborted You definitely don't want libLASi to throw errors and abort when encountering missing system glyphs because that situation is fairly common. Therefore, I have rated the severity level of this bug as important. The relevant libLASi code that attempts to do something responsible when encountering missing system glyphs is the following code in libLASi-1.1.0 (and also libLASi-1.1.2). FT_Error error = FT_Load_Glyph(face,glyph_index,FT_LOAD_NO_BITMAP); if(error){ // //DEBUG: // //std::cerr << "PANGO is returning a glyph index of " << std::hex << glyph_index << std::endl; //std::cerr << "but PANGO_GLYPH_UNKNOWN_FLAG is supposed to be: " << 0x10000000 << std::endl; //std::cerr << "and PANGO_GLYPH_EMPTY is supposed to be: " << 0x0FFFFFFF << std::endl; // // Substitute something that works: All fonts are supposed // to handle glyph_index 0 as the default replacement glyph: // evalReturnCode(FT_Load_Glyph(face,0,FT_LOAD_NO_BITMAP),"FT_Load_Glyph"); }else{ evalReturnCode(FT_Load_Glyph(face, glyph_index,FT_LOAD_NO_BITMAP), "FT_Load_Glyph"); } where evalReturnCode is the following inline routine (in both 1.1.0 and 1.1.2): /** Converts a freetype return code into an exception. */ inline void evalReturnCode(const int errCode, const char* funcName) throw (std::runtime_error) { if (errCode) throw std::runtime_error(std::string("Error returned from ") + funcName); } So the obvious purpose of the above code is whenever there is some issue with FT_Load_Glyph for a give glyph_index it tries again with glyph_index = 0 which according to the above notes should always "just work" without throwing an error. In any case this technique for avoiding throwing errors on missing glyphs worked perfectly over the years, and I can see no reason why it has suddenly started throwing errors now. But since my recent Debian Buster upgrades did not involve libLASi, this bug should likely be reported against one of the many dependencies of libLASi, but I don't know which one so I have started the process by reporting the bug here. I haven't tried this myself yet, but I am virtually positive you can easily verify this issue by building and running libLASi-1.1.0/examples/MissingGlyphExample.cpp. Instead of performing that direct test of libLASi, I have been indirectly testing libLASi over many years via regular PLplot testing since PLplot includes the psttf device which links to libLASi. The examples we test do include missing glyphs, and my recent PLplot tests have recently started erroring out with the above abort for our psttf device driver which is the motivation for this bug report. FYI, I am far from expert with libLASi and C++, but I do have some familiarity with the libLASi code because I have helped some upstream with its build system and bug releases over the years (because of my PLplot interest). So if there are some further tests you would like me to try because you are having trouble verifying this bug with MissingGlyphExample.cpp, please let me know. Alan -- System Information: Debian Release: buster/sid APT prefers testing-debug APT policy: (500, 'testing-debug'), (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 4.18.10-custom (SMP w/16 CPU cores) Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8), LANGUAGE=en_CA:en (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages liblasi0 depends on: ii libc6 2.28-2 ii libfontconfig1 2.13.1-2 ii libfreetype6 2.9.1-3 ii libgcc1 1:8.2.0-13 ii libglib2.0-0 2.58.2-3 ii libpango-1.0-0 1.42.4-6 ii libpangoft2-1.0-0 1.42.4-6 ii libstdc++6 8.2.0-13 liblasi0 recommends no packages. liblasi0 suggests no packages. -- no debconf information
--- End Message ---
--- Begin Message ---Source: lasi Source-Version: 1.1.3-1 Done: Nilesh Patra <[email protected]> We believe that the bug you reported is fixed in the latest version of lasi, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to [email protected], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Nilesh Patra <[email protected]> (supplier of updated lasi package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing [email protected]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 1.8 Date: Sun, 23 Apr 2023 10:41:07 +0530 Source: lasi Architecture: source Version: 1.1.3-1 Distribution: unstable Urgency: medium Maintainer: Debian QA Group <[email protected]> Changed-By: Nilesh Patra <[email protected]> Closes: 752274 918774 921139 Changes: lasi (1.1.3-1) unstable; urgency=medium . * QA upload. * New upstream version 1.1.3 (Closes: #918774, #921139) * Change B-D and Depends on libfreetype6-dev to libfreetype-dev * Drop fix-freetype-ftbfs patch, merged upstream * Bump Standards-Version to 4.6.2 (no changes needed) * Bump d/watch version to 4 * Do not install CMakeLists in examples. Makefiles.examples.in is still useful for autopkgtests (Closes: #752274) * Update autopkgtests to get debci green Checksums-Sha1: 3f0feeb38bca6c1012e66704c7c39075e5af7854 1362 lasi_1.1.3-1.dsc 0bbcd114c0089f76b84357527ba785921001efce 724764 lasi_1.1.3.orig.tar.gz 178654ce14fe4cdd8ec643a56af23af8f104489d 5124 lasi_1.1.3-1.debian.tar.xz 4216b45ab507947c8d7f1bef1c86df2bb9e0235f 9785 lasi_1.1.3-1_amd64.buildinfo Checksums-Sha256: 12ac3113e111414f6542b820e03741b77002f34736e0ef96ee2c964decc097a3 1362 lasi_1.1.3-1.dsc 539d66199744495d3bf29c15997a03040f7c488a4d91b8aadc627ca00953f13a 724764 lasi_1.1.3.orig.tar.gz 7fa45468daa757cf2410623fc4adb82dd5e7af258ad68d69624dc9734248b396 5124 lasi_1.1.3-1.debian.tar.xz 2216f5b584d03022bb8398644dc0bdc5e038ad233338a07618f61f3e84f8189c 9785 lasi_1.1.3-1_amd64.buildinfo Files: 4ff2515c439d55e007b0da523835fc56 1362 libs optional lasi_1.1.3-1.dsc 7e48ddd84527a9b9cd59073c76fcd351 724764 libs optional lasi_1.1.3.orig.tar.gz 96ed896a5bea8ea82b4085f999c8e2f4 5124 libs optional lasi_1.1.3-1.debian.tar.xz 28b4297383c3d93f1f6431889688410d 9785 libs optional lasi_1.1.3-1_amd64.buildinfo -----BEGIN PGP SIGNATURE----- iHQEARYIAB0WIQSglbZu4JAkvuai8HIqJ5BL1yQ+2gUCZETKGwAKCRAqJ5BL1yQ+ 2ox2AP9nGvMbC+qK71C8NKMWJex4jhBO0/wn9Oe+Xu+FPLDlWwD4+yhH2c93FfZ+ SlwR9jNlwLhc8Z7fkNQ/tYqLgoxJCg== =/Y+c -----END PGP SIGNATURE-----
--- End Message ---

