secondlife / viewer

🖥️ Second Life's official client
GNU Lesser General Public License v2.1
199 stars 47 forks source link

libpng reports warnings about incorrect ICC profiles in PNG files #971

Open canny[bot] opened 3 months ago

canny[bot] commented 3 months ago

Build RelWithDebInfoOS 64-bit and observe the console log for the following warnings.


2024-03-08T14:46:13Z INFO #RenderInit# newview/llfeaturemanager.cpp(254) LLFeatureManager::maskFeatures : Applying GPU Feature list: VRAMGT512

2024-03-08T14:46:13Z INFO # llwindow/llwindowwin32.cpp(1899) LLWindowWin32::createSharedContext : Created OpenGL 4.6 core context.

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: cHRM chunk does not match sRGB

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: cHRM chunk does not match sRGB

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: cHRM chunk does not match sRGB

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: cHRM chunk does not match sRGB

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: Interlace handling should be turned on when using png_read_image

libpng warning: Interlace handling should be turned on when using png_read_image

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: Interlace handling should be turned on when using png_read_image

libpng warning: Interlace handling should be turned on when using png_read_image

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: Interlace handling should be turned on when using png_read_image

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: cHRM chunk does not match sRGB

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: cHRM chunk does not match sRGB

libpng warning: Interlace handling should be turned on when using png_read_image

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

2024-03-08T14:46:14Z INFO #AppInit# newview/llappviewer.cpp(3084) LLAppViewer::initWindow : gViewerwindow created.

2024-03-08T14:46:14Z INFO #AppInit# newview/llappviewer.cpp(3099) LLAppViewer::initWindow : watchdog NOT enabled (setting = 0)

Others who use libpng have reported that version 1.6 is more stringent on profile checking. My autobuild.xml shows libpng version 1.6.38-ca06e99. While they're warnings and can be ignored, it wouldn't hurt to resolve any incorrect image data as well as keep the log tidy.

Following the suggestion provided by users in the link above, I was able to use ImageMagick's mogrify command-line tool to process all PNGs in all directories. The following is a list of the files it resaved without incorrect data.


for /R %f in (*.png) do ("D:\Program Files\ImageMagick\mogrify.exe" "%f")

.\skins\default\textures\toolbar_icons\caret_left.png

mogrify.exe: profile 'icc': 'RGB ': RGB color space not permitted on grayscale PNG `.\skins\default\textures\toolbar_icons\caret_left.png' @ warning/png.c/MagickPNGWarningHandler/1526.

.\skins\default\textures\toolbar_icons\caret_right.png

mogrify.exe: profile 'icc': 'RGB ': RGB color space not permitted on grayscale PNG `.\skins\default\textures\toolbar_icons\caret_right.png' @ warning/png.c/MagickPNGWarningHandler/1526.

.\skins\default\textures\toolbar_icons\chat.png

.\skins\default\textures\toolbar_icons\destinations.png

.\skins\default\textures\toolbar_icons\environments.png

.\skins\default\textures\toolbar_icons\facebook.png

.\skins\default\textures\toolbar_icons\flickr.png

.\skins\default\textures\toolbar_icons\gestures.png

.\skins\default\textures\toolbar_icons\grid_status.png

.\skins\default\textures\toolbar_icons\highlighting.png

.\skins\default\textures\toolbar_icons\highlighting_selected.png

.\skins\default\textures\toolbar_icons\howto.png

.\skins\default\textures\toolbar_icons\inventory.png

.\skins\default\textures\toolbar_icons\land.png

.\skins\default\textures\toolbar_icons\map.png

.\skins\default\textures\toolbar_icons\marketplace.png

.\skins\default\textures\toolbar_icons\mini_cart.png

.\skins\default\textures\toolbar_icons\mini_map.png

.\skins\default\textures\toolbar_icons\mktlistings.png

.\skins\default\textures\toolbar_icons\move.png

.\skins\default\textures\toolbar_icons\nearbyvoice.png

.\skins\default\textures\toolbar_icons\outbox.png

.\skins\default\textures\toolbar_icons\people.png

.\skins\default\textures\toolbar_icons\performance.png

.\skins\default\textures\toolbar_icons\picks.png

.\skins\default\textures\toolbar_icons\places.png

.\skins\default\textures\toolbar_icons\preferences.png

.\skins\default\textures\toolbar_icons\profile.png

.\skins\default\textures\toolbar_icons\report_abuse.png

.\skins\default\textures\toolbar_icons\search.png

.\skins\default\textures\toolbar_icons\snapshot.png

.\skins\default\textures\toolbar_icons\speak.png

.\skins\default\textures\toolbar_icons\twitter.png

.\skins\default\textures\toolbar_icons\view.png

.\skins\default\textures\widgets\Arrow_Down.png

.\skins\default\textures\widgets\Arrow_Left.png

.\skins\default\textures\widgets\Arrow_Right.png

.\skins\default\textures\widgets\Arrow_Small_Left.png

.\skins\default\textures\widgets\Arrow_Small_Right.png

.\skins\default\textures\widgets\Arrow_Small_Up.png

.\skins\default\textures\widgets\Arrow_Up.png

.\skins\default\textures\widgets\Badge_Background.png

.\skins\default\textures\widgets\Badge_Border.png

.\skins\default\textures\widgets\bevel_background.png

.\skins\default\textures\widgets\BreadCrumbBtn_Left_Disabled.png

.\skins\default\textures\widgets\BreadCrumbBtn_Left_Off.png

.\skins\default\textures\widgets\BreadCrumbBtn_Left_Over.png

.\skins\default\textures\widgets\BreadCrumbBtn_Left_Press.png

.\skins\default\textures\widgets\BreadCrumbBtn_Middle_Disabled.png

.\skins\default\textures\widgets\BreadCrumbBtn_Middle_Off.png

.\skins\default\textures\widgets\BreadCrumbBtn_Middle_Over.png

.\skins\default\textures\widgets\BreadCrumbBtn_Middle_Press.png

.\skins\default\textures\widgets\BreadCrumbBtn_Right_Disabled.png

.\skins\default\textures\widgets\BreadCrumbBtn_Right_Off.png

.\skins\default\textures\widgets\BreadCrumbBtn_Right_Over.png

.\skins\default\textures\widgets\BreadCrumbBtn_Right_Press.png

.\skins\default\textures\widgets\buy_off.png

.\skins\default\textures\widgets\buy_over.png

.\skins\default\textures\widgets\buy_press.png

.\skins\default\textures\widgets\Checkbox_Disabled.png

.\skins\default\textures\widgets\Checkbox_Off.png

.\skins\default\textures\widgets\Checkbox_On.png

.\skins\default\textures\widgets\Checkbox_On_Disabled.png

.\skins\default\textures\widgets\Checkbox_On_Press.png

.\skins\default\textures\widgets\Checkbox_Press.png

.\skins\default\textures\widgets\ComboButton_Disabled.png

.\skins\default\textures\widgets\ComboButton_Hover.png

.\skins\default\textures\widgets\ComboButton_Off.png

.\skins\default\textures\widgets\ComboButton_On.png

.\skins\default\textures\widgets\ComboButton_Selected.png

.\skins\default\textures\widgets\ComboButton_UpOff.png

.\skins\default\textures\widgets\ComboButton_UpSelected.png

.\skins\default\textures\widgets\DisclosureArrow_Opened_Off.png

.\skins\default\textures\widgets\DropDown_Disabled.png

.\skins\default\textures\widgets\DropDown_Off.png

.\skins\default\textures\widgets\DropDown_On.png

.\skins\default\textures\widgets\DropDown_Press.png

.\skins\default\textures\widgets\DropTarget.png

.\skins\default\textures\widgets\Error_Tag_Background.png

.\skins\default\textures\widgets\horizontal_drag_handle.png

.\skins\default\textures\widgets\jump_left_in.png

.\skins\default\textures\widgets\jump_left_out.png

.\skins\default\textures\widgets\jump_right_in.png

.\skins\default\textures\widgets\jump_right_out.png

.\skins\default\textures\widgets\Linden_Dollar_Alert.png

.\skins\default\textures\widgets\Linden_Dollar_Background.png

.\skins\default\textures\widgets\ListItem_Over.png

.\skins\default\textures\widgets\ListItem_Select.png

.\skins\default\textures\widgets\MarketplaceBtn_Off.png

.\skins\default\textures\widgets\MarketplaceBtn_Selected.png

.\skins\default\textures\widgets\Marketplace_Dropzone_Background.png

.\skins\default\textures\widgets\New_Tag_Background.png

.\skins\default\textures\widgets\New_Tag_Border.png

.\skins\default\textures\widgets\ProgressBar.png

.\skins\default\textures\widgets\ProgressBarSolid.png

.\skins\default\textures\widgets\ProgressTrack.png

.\skins\default\textures\widgets\PushButton_Disabled.png

.\skins\default\textures\widgets\PushButton_Login.png

.\skins\default\textures\widgets\PushButton_Login_Over.png

.\skins\default\textures\widgets\PushButton_Login_Pressed.png

.\skins\default\textures\widgets\PushButton_Off.png

.\skins\default\textures\widgets\PushButton_On.png

.\skins\default\textures\widgets\PushButton_On_Selected.png

.\skins\default\textures\widgets\PushButton_Over.png

.\skins\default\textures\widgets\PushButton_Press.png

.\skins\default\textures\widgets\PushButton_Selected.png

.\skins\default\textures\widgets\PushButton_Selected_Disabled.png

.\skins\default\textures\widgets\PushButton_Selected_Press.png

.\skins\default\textures\widgets\RadioButton_Disabled.png

.\skins\default\textures\widgets\RadioButton_Off.png

.\skins\default\textures\widgets\RadioButton_On.png

.\skins\default\textures\widgets\RadioButton_On_Disabled.png

.\skins\default\textures\widgets\RadioButton_On_Press.png

.\skins\default\textures\widgets\RadioButton_Press.png

.\skins\default\textures\widgets\ScrollArrow_Down.png

.\skins\default\textures\widgets\ScrollArrow_Down_Opaque.png

.\skins\default\textures\widgets\ScrollArrow_Down_Over_Opaque.png

.\skins\default\textures\widgets\ScrollArrow_Left.png

.\skins\default\textures\widgets\ScrollArrow_Left_Opaque.png

.\skins\default\textures\widgets\ScrollArrow_Left_Over_Opaque.png

.\skins\default\textures\widgets\ScrollArrow_Right.png

.\skins\default\textures\widgets\ScrollArrow_Right_Opaque.png

.\skins\default\textures\widgets\ScrollArrow_Right_Over_Opaque.png

.\skins\default\textures\widgets\ScrollArrow_Up.png

.\skins\default\textures\widgets\ScrollArrow_Up_Opaque.png

.\skins\default\textures\widgets\ScrollArrow_Up_Over_Opaque.png

.\skins\default\textures\widgets\ScrollThumb_Horiz.png

.\skins\default\textures\widgets\ScrollThumb_Vert.png

.\skins\default\textures\widgets\ScrollTrack_Horiz.png

.\skins\default\textures\widgets\ScrollTrack_Vert.png

.\skins\default\textures\widgets\SegmentedBtn_Left_Disabled.png

.\skins\default\textures\widgets\SegmentedBtn_Left_Off.png

.\skins\default\textures\widgets\SegmentedBtn_Left_Over.png

.\skins\default\textures\widgets\SegmentedBtn_Left_Press.png

.\skins\default\textures\widgets\SegmentedBtn_Left_Selected.png

.\skins\default\textures\widgets\SegmentedBtn_Left_Selected_Disabled.png

.\skins\default\textures\widgets\SegmentedBtn_Left_Selected_Over.png

.\skins\default\textures\widgets\SegmentedBtn_Left_Selected_Press.png

.\skins\default\textures\widgets\SegmentedBtn_Middle_Disabled.png

.\skins\default\textures\widgets\SegmentedBtn_Middle_Selected.png

.\skins\default\textures\widgets\SegmentedBtn_Middle_Selected_Disabled.png

.\skins\default\textures\widgets\SegmentedBtn_Middle_Selected_Press.png

.\skins\default\textures\widgets\SegmentedBtn_Right_Disabled.png

.\skins\default\textures\widgets\SegmentedBtn_Right_Off.png

.\skins\default\textures\widgets\SegmentedBtn_Right_On_Selected.png

.\skins\default\textures\widgets\SegmentedBtn_Right_Over.png

.\skins\default\textures\widgets\SegmentedBtn_Right_Press.png

.\skins\default\textures\widgets\SegmentedBtn_Right_Selected.png

.\skins\default\textures\widgets\SegmentedBtn_Right_Selected_Disabled.png

.\skins\default\textures\widgets\SegmentedBtn_Right_Selected_Press.png

.\skins\default\textures\widgets\SliderThumb_Disabled.png

.\skins\default\textures\widgets\SliderThumb_Off.png

.\skins\default\textures\widgets\SliderThumb_Press.png

.\skins\default\textures\widgets\SliderTrack_Horiz.png

.\skins\default\textures\widgets\SliderTrack_Vert.png

.\skins\default\textures\widgets\Stepper_Down_Off.png

.\skins\default\textures\widgets\Stepper_Down_Press.png

.\skins\default\textures\widgets\Stepper_Up_Off.png

.\skins\default\textures\widgets\Stepper_Up_Press.png

.\skins\default\textures\widgets\TextField_Active.png

.\skins\default\textures\widgets\TextField_Disabled.png

.\skins\default\textures\widgets\TextField_Off.png

.\skins\default\textures\widgets\TextField_Search_Active.png

.\skins\default\textures\widgets\TextField_Search_Disabled.png

.\skins\default\textures\widgets\TextField_Search_Highlight.png

.\skins\default\textures\widgets\TextField_Search_Off.png

.\skins\default\textures\widgets\Tooltip.png

.\skins\default\textures\widgets\track_control_moon_back.png

.\skins\default\textures\widgets\track_control_moon_front.png

.\skins\default\textures\widgets\track_control_rotate_bottom.png

mogrify.exe: profile 'icc': 'RGB ': RGB color space not permitted on grayscale PNG `.\skins\default\textures\widgets\track_control_rotate_bottom.png' @ warning/png.c/MagickPNGWarningHandler/1526.

.\skins\default\textures\widgets\track_control_rotate_bottom_active.png

.\skins\default\textures\widgets\track_control_rotate_left_side.png

mogrify.exe: profile 'icc': 'RGB ': RGB color space not permitted on grayscale PNG `.\skins\default\textures\widgets\track_control_rotate_left_side.png' @ warning/png.c/MagickPNGWarningHandler/1526.

.\skins\default\textures\widgets\track_control_rotate_left_side_active.png

.\skins\default\textures\widgets\track_control_rotate_right_side.png

mogrify.exe: profile 'icc': 'RGB ': RGB color space not permitted on grayscale PNG `.\skins\default\textures\widgets\track_control_rotate_right_side.png' @ warning/png.c/MagickPNGWarningHandler/1526.

.\skins\default\textures\widgets\track_control_rotate_right_side_active.png

.\skins\default\textures\widgets\track_control_rotate_top.png

mogrify.exe: profile 'icc': 'RGB ': RGB color space not permitted on grayscale PNG `.\skins\default\textures\widgets\track_control_rotate_top.png' @ warning/png.c/MagickPNGWarningHandler/1526.

.\skins\default\textures\widgets\track_control_rotate_top_active.png

.\skins\default\textures\widgets\track_control_sphere.png

.\skins\default\textures\widgets\track_control_sun_back.png

.\skins\default\textures\widgets\track_control_sun_front.png

.\skins\default\textures\widgets\vertical_drag_handle.png

.\skins\default\textures\windows\add_payment_image_center.png

.\skins\default\textures\windows\add_payment_image_left.png

.\skins\default\textures\windows\add_payment_image_right.png

.\skins\default\textures\windows\Dragbar.png

.\skins\default\textures\windows\Flyout_Left.png

.\skins\default\textures\windows\Flyout_Pointer.png

.\skins\default\textures\windows\Flyout_Right.png

.\skins\default\textures\windows\hint_arrow_down.png

.\skins\default\textures\windows\hint_arrow_left.png

.\skins\default\textures\windows\hint_arrow_lower_left.png

.\skins\default\textures\windows\hint_arrow_right.png

.\skins\default\textures\windows\hint_arrow_up.png

.\skins\default\textures\windows\hint_background.png

.\skins\default\textures\windows\Icon_Close_Foreground.png

.\skins\default\textures\windows\Icon_Close_Press.png

.\skins\default\textures\windows\Icon_Close_Toast.png

.\skins\default\textures\windows\Icon_Dock_Foreground.png

.\skins\default\textures\windows\Icon_Dock_Press.png

.\skins\default\textures\windows\Icon_Gear.png

.\skins\default\textures\windows\Icon_Gear_Background.png

.\skins\default\textures\windows\Icon_Gear_Foreground.png

.\skins\default\textures\windows\Icon_Gear_Press.png

.\skins\default\textures\windows\Icon_Help_Foreground.png

.\skins\default\textures\windows\Icon_Help_Press.png

.\skins\default\textures\windows\Icon_Minimize_Foreground.png

.\skins\default\textures\windows\Icon_Minimize_Press.png

.\skins\default\textures\windows\Icon_Restore_Foreground.png

.\skins\default\textures\windows\Icon_Restore_Press.png

.\skins\default\textures\windows\Icon_Undock_Foreground.png

.\skins\default\textures\windows\Inspector_Background.png

.\skins\default\textures\windows\Inspector_Hover.png

.\skins\default\textures\windows\Inspector_I.png

.\skins\default\textures\windows\login_sl_logo.png

.\skins\default\textures\windows\login_sl_logo_small.png

.\skins\default\textures\windows\Resize_Corner.png

.\skins\default\textures\windows\startup_logo.png

.\skins\default\textures\windows\Toast_Background.png

.\skins\default\textures\windows\Toast_CloseBtn.png

.\skins\default\textures\windows\Toast_Over.png

.\skins\default\textures\windows\Volume_Background.png

.\skins\default\textures\windows\Wearables_Divider.png

.\skins\default\textures\windows\Window_Background.png

.\skins\default\textures\windows\Window_Foreground.png

.\skins\default\textures\windows\Window_NoTitle_Background.png

.\skins\default\textures\windows\Window_NoTitle_Foreground.png

.\skins\default\textures\windows\yellow_gradient.png

.\skins\default\textures\world\BeaconArrow.png

.\skins\default\textures\world\CameraDragDot.png

.\skins\default\textures\world\NoEntryLines.png

.\skins\default\textures\world\NoEntryPassLines.png

.\vmp_icons\head-sl-logo.png

.\vmp_icons\SL_Logo.png

After doing this, no longer do the warnings appear.

https://secondlife.canny.io/admin/board/bug-reports/p/libpng-reports-warnings-about-incorrect-icc-profiles-in-png-files

canny[bot] commented 3 months ago

This issue has been linked to a Canny post: libpng reports warnings about incorrect ICC profiles in PNG files :tada:

vladyslavasproductengine commented 1 month ago

Pass QA. Verified on the Second Life Release 7.1.7.8993168213 (64bit) Win10 in scope https://github.com/secondlife/iqa/issues/226.