Bug 11419 - corefonts.bin change doesn't work
: corefonts.bin change doesn't work
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Display
: 7.4.0
: PC Other
: P1 major (vote)
: 7.4.0
Assigned To: Andy Grundman
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-03-20 03:49 UTC by Michael Herger
Modified: 2009-10-05 14:32 UTC (History)
2 users (show)

See Also:
Category: ---


Attachments
New Version (roomier) (56.15 KB, image/png)
2009-04-08 17:38 UTC, Wadzinski Tom
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Herger 2009-03-20 03:49:21 UTC
Main issue: SC wouldn't run with corefonts.bin. If I force SC to use it and ignore the other files, I'm getting the following errors (for everey font required):

[09-03-20 11:41:22.5618] Slim::Display::Lib::Fonts::string (320) Error:  Invalid font standard_n.1
[09-03-20 11:41:22.5625] Slim::Display::Lib::Fonts::string (320) Backtrace:

   frame 0: Slim::Utils::Log::logBacktrace (/Users/mh/Documents/workspace/7.4/server/Slim/Display/Lib/Fonts.pm line 320)
   frame 1: Slim::Display::Lib::Fonts::string (/Users/mh/Documents/workspace/7.4/server/Slim/Display/Graphics.pm line 325)
   frame 2: Slim::Display::Graphics::render (/Users/mh/Documents/workspace/7.4/server/Slim/Display/Display.pm line 173)
   frame 3: Slim::Display::Display::update (/Users/mh/Documents/workspace/7.4/server/Slim/Display/Display.pm line 289)
   frame 4: Slim::Display::Display::showBriefly (/Users/mh/Documents/workspace/7.4/server/Slim/Player/Player.pm line 157)
   frame 5: Slim::Player::Player::showBriefly (/Users/mh/Documents/workspace/7.4/server/Slim/Player/Boom.pm line 113)
   frame 6: Slim::Player::Boom::welcomeScreen (/Users/mh/Documents/workspace/7.4/server/Slim/Player/Player.pm line 299)
   frame 7: Slim::Player::Player::power (/Users/mh/Documents/workspace/7.4/server/Slim/Player/Boom.pm line 383)
   frame 8: Slim::Player::Boom::power (/Users/mh/Documents/workspace/7.4/server/Slim/Control/Commands.pm line 2325)
   frame 9: Slim::Control::Commands::powerCommand (/Users/mh/Documents/workspace/7.4/server/Slim/Control/Request.pm line 1886)
   frame 10: (eval) (/Users/mh/Documents/workspace/7.4/server/Slim/Control/Request.pm line 1886)
   frame 11: Slim::Control::Request::execute (/Users/mh/Documents/workspace/7.4/server/Slim/Control/Request.pm line 868)
   frame 12: Slim::Control::Request::executeRequest (/Users/mh/Documents/workspace/7.4/server/Slim/Player/Client.pm line 662)
   frame 13: Slim::Player::Client::execute (/Users/mh/Documents/workspace/7.4/server/Slim/Buttons/Common.pm line 1065)
   frame 14: Slim::Buttons::Common::__ANON__ (/Users/mh/Documents/workspace/7.4/server/Slim/Hardware/IR.pm line 1104)
   frame 15: Slim::Hardware::IR::executeButton (/Users/mh/Documents/workspace/7.4/server/Slim/Control/Commands.pm line 279)
   frame 16: Slim::Control::Commands::buttonCommand (/Users/mh/Documents/workspace/7.4/server/Slim/Control/Request.pm line 1886)
   frame 17: (eval) (/Users/mh/Documents/workspace/7.4/server/Slim/Control/Request.pm line 1886)
   frame 18: Slim::Control::Request::execute (/Users/mh/Documents/workspace/7.4/server/Slim/Control/Request.pm line 868)
   frame 19: Slim::Control::Request::executeRequest (/Users/mh/Documents/workspace/7.4/server/Slim/Player/Client.pm line 662)
   frame 20: Slim::Player::Client::execute (/Users/mh/Documents/workspace/7.4/server/Slim/Hardware/IR.pm line 1125)
   frame 21: Slim::Hardware::IR::processCode (/Users/mh/Documents/workspace/7.4/server/Slim/Hardware/IR.pm line 835)
   frame 22: Slim::Hardware::IR::processFrontPanel (/Users/mh/Documents/workspace/7.4/server/Slim/Hardware/IR.pm line 709)
   frame 23: Slim::Hardware::IR::processIR (/Users/mh/Documents/workspace/7.4/server/Slim/Control/Commands.pm line 494)
   frame 24: Slim::Control::Commands::irCommand (/Users/mh/Documents/workspace/7.4/server/Slim/Control/Request.pm line 1886)
   frame 25: (eval) (/Users/mh/Documents/workspace/7.4/server/Slim/Control/Request.pm line 1886)
   frame 26: Slim::Control::Request::execute (/Users/mh/Documents/workspace/7.4/server/Slim/Control/Request.pm line 868)
   frame 27: Slim::Control::Request::executeRequest (/Users/mh/Documents/workspace/7.4/server/Slim/Player/Client.pm line 662)
   frame 28: Slim::Player::Client::execute (/Users/mh/Documents/workspace/7.4/server/Slim/Hardware/IR.pm line 125)
   frame 29: Slim::Hardware::IR::idle (slimserver.pl line 515)
   frame 30: main::idle (slimserver.pl line 484)
   frame 31: main::main (slimserver.pl line 997)



Change 25345 doesn't do what it's supposed to do: it will always rebuild the cache, as timestamps, file size checks fail. In it's current state it's only adding overhead instead of reducing the startup time.
Comment 1 Adrian Smith 2009-03-20 16:38:41 UTC
Unless the install fixes the mtimes to always be the same, i.e. by preserving mtime when the distribution is uncompressed then I think this is going to fail the checks.  The extra checks are necessary to cater for things like plugins updating their fonts.  

Is it the end of the world to build the fontcache once? (its definately worth having..)  It will only be built when the first player with a bitmap display attaches so I would have thought it would not be a problem?
Comment 2 Andy Grundman 2009-03-20 16:54:35 UTC
When I benchmarked it, it was the difference between 8 seconds to connect an ip3k player and 30 seconds.  I think it's doable, just needs to be fixed.  Feel free to benchmark yourself, Devel::NYTProf is included.
Comment 3 Adrian Smith 2009-03-22 12:28:57 UTC
I hope this will be fixed by change 25669

Note - you need to make sure the font files and corefonts.bin have the same mtime - so suggest you touch them at the same time or ensure they have the time set to the installation time on target platforms.

Also note - corefonts.bin includes SBG fonts as well as SB2 and Boom.  There is some code in the font handlling to only load the relavent fonts to try to save memory.  We either need to remove this, or perhaps corefonts.bin should exclude SBG fonts (which would then cause a reparse if such a player attaches)
Comment 4 Wadzinski Tom 2009-04-08 17:38:52 UTC
Created attachment 5082 [details]
New Version (roomier)
Comment 5 Wadzinski Tom 2009-04-08 17:39:47 UTC
argh put this in wrong bug, sorry... Gotta figure out how to turn of bugzilla's desire to switch to the next bug...
Comment 6 James Richardson 2009-10-05 14:32:09 UTC
This bug has been marked as fixed in the 7.4.0 release version of SqueezeBox Server!
    * SqueezeCenter: 28672
    * Squeezebox 2 and 3: 130
    * Transporter: 80
    * Receiver: 65
    * Boom: 50
    * Controller: 7790
    * Radio: 7790  

Please see the Release Notes for all the details: http://wiki.slimdevices.com/index.php/Release_Notes

If you haven't already, please download and install the new version from http://www.logitechsqueezebox.com/support/download-squeezebox-server.html

If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.