Re: v2.19.47 on Mac x86 (Jacques Menu Muzhic)
On Sun, Sep 25, 2016 at 1:53 PM, Masamichi Hosoda wrote: > >>> https://bugs.freedesktop.org/show_bug.cgi?id=97546 > >>> > >>> The proposed fix hasn't been applied yet to the fontconfig git > >>> repository – maybe we should downgrade GUB's fontconfig version to > >>> 2.12.0 until this is fixed. > >> > >> I think that there is another possible solution. To use the > >> proposed patch in GUB. > > > > Certainly. However, I can't estimate whether there aren't side > > effects... On the other hand, given that the patch is from the > > fontconfig maintainer, there are high chances that it is the right > > one :-) > > I've created pull request for GUB. > https://github.com/gperciva/gub/pull/29 > > The patch is only applied to building binary for mac. This is really great to see. And accords exactly with the test results I added to the original thread showing that 2.19.47 (and .48) are, in fact, definitely rebuilding one of the font caches at every run of LilyPond. Thanks very much for tracking this down! -- Trevor Bača www.trevorbaca.com soundcloud.com/trevorbaca ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: v2.19.47 on Mac x86 (Jacques Menu Muzhic)
>>> https://bugs.freedesktop.org/show_bug.cgi?id=97546 >>> >>> The proposed fix hasn't been applied yet to the fontconfig git >>> repository – maybe we should downgrade GUB's fontconfig version to >>> 2.12.0 until this is fixed. >> >> I think that there is another possible solution. To use the >> proposed patch in GUB. > > Certainly. However, I can't estimate whether there aren't side > effects... On the other hand, given that the patch is from the > fontconfig maintainer, there are high chances that it is the right > one :-) I've created pull request for GUB. https://github.com/gperciva/gub/pull/29 The patch is only applied to building binary for mac. ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: v2.19.47 on Mac x86 (Jacques Menu Muzhic)
>> https://bugs.freedesktop.org/show_bug.cgi?id=97546 >> >> The proposed fix hasn't been applied yet to the fontconfig git >> repository – maybe we should downgrade GUB's fontconfig version to >> 2.12.0 until this is fixed. > > I think that there is another possible solution. To use the > proposed patch in GUB. Certainly. However, I can't estimate whether there aren't side effects... On the other hand, given that the patch is from the fontconfig maintainer, there are high chances that it is the right one :-) Werner ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: v2.19.47 on Mac x86 (Jacques Menu Muzhic)
>> Most likely cause of the issue will be the 2.12.1 change that >> improved cache validation logic (and for yet unknown reasons always >> invalidates the cache of the Mac OS System fonts) >> >> https://www.freedesktop.org/software/fontconfig/release/ChangeLog-2.12.1 > > Aah, this rings a bell. > > https://bugs.freedesktop.org/show_bug.cgi?id=97546 > > The proposed fix hasn't been applied yet to the fontconfig git > repository – maybe we should downgrade GUB's fontconfig version to > 2.12.0 until this is fixed. I think that there is another possible solution. To use the proposed patch in GUB. ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: v2.19.47 on Mac x86 (Jacques Menu Muzhic)
> Most likely cause of the issue will be the 2.12.1 change that > improved cache validation logic (and for yet unknown reasons always > invalidates the cache of the Mac OS System fonts) > > https://www.freedesktop.org/software/fontconfig/release/ChangeLog-2.12.1 Aah, this rings a bell. https://bugs.freedesktop.org/show_bug.cgi?id=97546 The proposed fix hasn't been applied yet to the fontconfig git repository – maybe we should downgrade GUB's fontconfig version to 2.12.0 until this is fixed. Werner ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: v2.19.47 on Mac x86 (Jacques Menu Muzhic)
Discovered already that indeed a newer version of font-config is packaged with 2.19.47 (2.12.1 versus 2.11.95). Most likely cause of the issue will be the 2.12.1 change that improved cache validation logic (and for yet unknown reasons always invalidates the cache of the Mac OS System fonts) https://www.freedesktop.org/software/fontconfig/release/ChangeLog-2.12.1 > On 24 Sep 2016, at 12:55, Hans Aikema wrote: > > Looked a bit furher into this, and seems to be an issue of the fontconfig > library. Was that upgraded between the binaries of 2.19.46 and 2.19.47? > > Seems that in Lilypond 2.19.47 fontconfig is no longer having a cache/dir > checksum match for the system font library and thus rescans it on each run to > build the cache. On 2.19.46 it still shows a match. > > Lilypond 2.19.46: > > GNU LilyPond 2.19.46 > FC_DEBUG=16 > FcCacheTimeValid dir > "/Users/aikebah/Downloads/LilyPond2.19.46.app/Contents/Resources/share/lilypond/current/fonts/otf" > cache checksum 1469570231 dir checksum 1469570231 > FcCacheTimeValid dir "/Library/Fonts" cache checksum 1458750870 dir checksum > 1458750870 > FcCacheTimeValid dir "/System/Library/Fonts" cache checksum 1458750878 dir > checksum 1458750878 > Verwerken van 'test.ly' > Ontleden... > Vertolken van muziek... > Voorbewerken van grafische objecten... > Zoeken naar het ideale aantal pagina's...Fontconfig warning: ignoring UTF-8: > not a valid region tag > > Muziek passend maken voor 1 pagina... > Tekenen van systemen... > Opmaakuitvoer naar > '/var/folders/w1/2ppjzq0j4cj2wv3f06_rd6twgn/T//lilypond-GNcNkQ'... > Converteren naar 'test.pdf'... > Verwijderen van > '/var/folders/w1/2ppjzq0j4cj2wv3f06_rd6twgn/T//lilypond-GNcNkQ'... > Gelukt: compilatie is met succes voltooid > > > > > Lilypond 2.19.47: > > GNU LilyPond 2.19.47 > FC_DEBUG=16 > FcCacheTimeValid dir > "/Users/aikebah/Downloads/LilyPond2.19.47.app/Contents/Resources/share/lilypond/current/fonts/otf" > cache checksum 1472556057 dir checksum 1472556057 > FcCacheTimeValid dir "/Library/Fonts" cache checksum 1458750870 dir checksum > 1458750870 > > charsets 281 -> 80 leaves 30419 -> 1687 > FcDirCacheWriteDir dir "/System/Library/Fonts" file > "/Users/aikebah/.lilypond-fonts.cache-2//b0a71e6bf6a8a1a908413a823d76e21f-i686-apple-darwin8.cache-7" > Verwerken van 'test.ly' > Ontleden... > Vertolken van muziek... > Voorbewerken van grafische objecten... > Zoeken naar het ideale aantal pagina's...Fontconfig warning: ignoring UTF-8: > not a valid region tag > > Muziek passend maken voor 1 pagina... > Tekenen van systemen... > Opmaakuitvoer naar > '/var/folders/w1/2ppjzq0j4cj2wv3f06_rd6twgn/T//lilypond-JVrgSZ'... > Converteren naar 'test.pdf'... > Verwijderen van > '/var/folders/w1/2ppjzq0j4cj2wv3f06_rd6twgn/T//lilypond-JVrgSZ'... > Gelukt: compilatie is met succes voltooid > > > >> On 05 Sep 2016, at 00:20, Hans Aikema wrote: >> >> On 04 Sep 2016, at 19:42, Cynthia Karl wrote: >>> >>> Message: 5 Date: Sun, 4 Sep 2016 17:41:42 +0200 From: Jacques Menu Muzhic To: Andrew Bernard Cc: Jacques Menu Muzhic , lilypond-user Subject: Re: v2.19.47 on Mac x86 I run El Capitan 10.11.6: menu@macbookprojm:~/Documents/LaTeX/PartitionsLilypond > uname -a Darwin macbookprojm 15.6.0 Darwin Kernel Version 15.6.0: Mon Aug 29 20:21:34 PDT 2016; root:xnu-3248.60.11~1/RELEASE_X86_64 x86_64 and I get: menu@macbookprojm:~ > sudo dtruss lilypond --version >>> >>> >>> I run El Capitan 10.11.6 and get the exact same output for “uname -a”. >>> >>> I wanted to see what the difference was between v2.19.46 and v2.19.47, so I >>> ran them both on the following file: >>> >>> bash-3.2$ cat 1note.ly >>> \version "2.19.46" >>> { c4 } >>> >>> <….> >> >>> I then ran dtruss -c on both versions to see what the difference in system >>> calls was. >>> >>> The following table shows the number of system calls which have a Count > >>> 100 for the v2.19.47 version and the corresponding count for the v2.19.46 >>> version: >>> >>> CALLCOUNT LP46 COUNT LP47 >>> … … … >>> getattrlist 112 128 >>> stat178 >>> 171 >>> stat64 207 207 >>> sigaltstack 222 228 >>> sigprocmask 263 269 >>> select_nocancel 320 323 >>> lseek 57 123013 >>> read_nocancel 341 125474 >>> >>> I then did a count of the number of lseeks on file descriptors <= 13 (at >>> first glance there are no file descriptors greater than 12: >>> >>> lseek(0xfile
Re: v2.19.47 on Mac x86 (Jacques Menu Muzhic)
Looked a bit furher into this, and seems to be an issue of the fontconfig library. Was that upgraded between the binaries of 2.19.46 and 2.19.47? Seems that in Lilypond 2.19.47 fontconfig is no longer having a cache/dir checksum match for the system font library and thus rescans it on each run to build the cache. On 2.19.46 it still shows a match. Lilypond 2.19.46: GNU LilyPond 2.19.46 FC_DEBUG=16 FcCacheTimeValid dir "/Users/aikebah/Downloads/LilyPond2.19.46.app/Contents/Resources/share/lilypond/current/fonts/otf" cache checksum 1469570231 dir checksum 1469570231 FcCacheTimeValid dir "/Library/Fonts" cache checksum 1458750870 dir checksum 1458750870 FcCacheTimeValid dir "/System/Library/Fonts" cache checksum 1458750878 dir checksum 1458750878 Verwerken van 'test.ly' Ontleden... Vertolken van muziek... Voorbewerken van grafische objecten... Zoeken naar het ideale aantal pagina's...Fontconfig warning: ignoring UTF-8: not a valid region tag Muziek passend maken voor 1 pagina... Tekenen van systemen... Opmaakuitvoer naar '/var/folders/w1/2ppjzq0j4cj2wv3f06_rd6twgn/T//lilypond-GNcNkQ'... Converteren naar 'test.pdf'... Verwijderen van '/var/folders/w1/2ppjzq0j4cj2wv3f06_rd6twgn/T//lilypond-GNcNkQ'... Gelukt: compilatie is met succes voltooid Lilypond 2.19.47: GNU LilyPond 2.19.47 FC_DEBUG=16 FcCacheTimeValid dir "/Users/aikebah/Downloads/LilyPond2.19.47.app/Contents/Resources/share/lilypond/current/fonts/otf" cache checksum 1472556057 dir checksum 1472556057 FcCacheTimeValid dir "/Library/Fonts" cache checksum 1458750870 dir checksum 1458750870 charsets 281 -> 80 leaves 30419 -> 1687 FcDirCacheWriteDir dir "/System/Library/Fonts" file "/Users/aikebah/.lilypond-fonts.cache-2//b0a71e6bf6a8a1a908413a823d76e21f-i686-apple-darwin8.cache-7" Verwerken van 'test.ly' Ontleden... Vertolken van muziek... Voorbewerken van grafische objecten... Zoeken naar het ideale aantal pagina's...Fontconfig warning: ignoring UTF-8: not a valid region tag Muziek passend maken voor 1 pagina... Tekenen van systemen... Opmaakuitvoer naar '/var/folders/w1/2ppjzq0j4cj2wv3f06_rd6twgn/T//lilypond-JVrgSZ'... Converteren naar 'test.pdf'... Verwijderen van '/var/folders/w1/2ppjzq0j4cj2wv3f06_rd6twgn/T//lilypond-JVrgSZ'... Gelukt: compilatie is met succes voltooid > On 05 Sep 2016, at 00:20, Hans Aikema wrote: > > On 04 Sep 2016, at 19:42, Cynthia Karl wrote: >> >> >>> Message: 5 >>> Date: Sun, 4 Sep 2016 17:41:42 +0200 >>> From: Jacques Menu Muzhic >>> To: Andrew Bernard >>> Cc: Jacques Menu Muzhic ,lilypond-user >>> >>> Subject: Re: v2.19.47 on Mac x86 >>> I run El Capitan 10.11.6: >>> >>> menu@macbookprojm:~/Documents/LaTeX/PartitionsLilypond > uname -a >>> Darwin macbookprojm 15.6.0 Darwin Kernel Version 15.6.0: Mon Aug 29 >>> 20:21:34 PDT 2016; root:xnu-3248.60.11~1/RELEASE_X86_64 x86_64 >>> >>> and I get: >>> >>> menu@macbookprojm:~ > sudo dtruss lilypond --version >> >> >> I run El Capitan 10.11.6 and get the exact same output for “uname -a”. >> >> I wanted to see what the difference was between v2.19.46 and v2.19.47, so I >> ran them both on the following file: >> >> bash-3.2$ cat 1note.ly >> \version "2.19.46" >> { c4 } >> >> <….> > >> I then ran dtruss -c on both versions to see what the difference in system >> calls was. >> >> The following table shows the number of system calls which have a Count > >> 100 for the v2.19.47 version and the corresponding count for the v2.19.46 >> version: >> >> CALL COUNT LP46 COUNT LP47 >> …… … >> getattrlist 112 128 >> stat 178 171 >> stat64 207 207 >> sigaltstack 222 228 >> sigprocmask 263 269 >> select_nocancel 320 323 >> lseek 57 123013 >> read_nocancel341 125474 >> >> I then did a count of the number of lseeks on file descriptors <= 13 (at >> first glance there are no file descriptors greater than 12: >> >> lseek(0xfiledes v46 v47 >> >> lseek(0x0 1 23 >> lseek(0x1 1 1 >> lseek(0x2 1 1 >> lseek(0x3 2 2 >> lseek(0x4 0 0 >> lseek(0x5 0 0 >> lseek(0x6 2 2 >> lseek(0x735 35 >> lseek(0x8 8 122969 >> lseek(0x9 3 3 >> lseek(0xA 11 >> lseek(0xB 33 >> lseek(0xC 00
Re: v2.19.47 on Mac x86 (Jacques Menu Muzhic)
On 04 Sep 2016, at 19:42, Cynthia Karl wrote: > > >> Message: 5 >> Date: Sun, 4 Sep 2016 17:41:42 +0200 >> From: Jacques Menu Muzhic >> To: Andrew Bernard >> Cc: Jacques Menu Muzhic , lilypond-user >> >> Subject: Re: v2.19.47 on Mac x86 >> I run El Capitan 10.11.6: >> >> menu@macbookprojm:~/Documents/LaTeX/PartitionsLilypond > uname -a >> Darwin macbookprojm 15.6.0 Darwin Kernel Version 15.6.0: Mon Aug 29 20:21:34 >> PDT 2016; root:xnu-3248.60.11~1/RELEASE_X86_64 x86_64 >> >> and I get: >> >> menu@macbookprojm:~ > sudo dtruss lilypond --version > > > I run El Capitan 10.11.6 and get the exact same output for “uname -a”. > > I wanted to see what the difference was between v2.19.46 and v2.19.47, so I > ran them both on the following file: > > bash-3.2$ cat 1note.ly > \version "2.19.46" > { c4 } > > <….> > I then ran dtruss -c on both versions to see what the difference in system > calls was. > > The following table shows the number of system calls which have a Count > 100 > for the v2.19.47 version and the corresponding count for the v2.19.46 version: > > CALL COUNT LP46 COUNT LP47 > … … … > getattrlist 112 128 > stat 178 171 > stat64207 207 > sigaltstack 222 228 > sigprocmask 263 269 > select_nocancel 320 323 > lseek 57 123013 > read_nocancel 341 125474 > > I then did a count of the number of lseeks on file descriptors <= 13 (at > first glance there are no file descriptors greater than 12: > > lseek(0xfiledes v46 v47 > > lseek(0x0 1 23 > lseek(0x1 1 1 > lseek(0x2 1 1 > lseek(0x3 2 2 > lseek(0x4 0 0 > lseek(0x5 0 0 > lseek(0x6 2 2 > lseek(0x7 35 35 > lseek(0x8 8 122969 > lseek(0x9 3 3 > lseek(0xA 11 > lseek(0xB 33 > lseek(0xC 00 > > Hopefully, this information might be of use to someone trying to figure this > problem out. > > The most salient questions would be: what is filedes 8 used for? And why is > this problem only occurring on Macs? > > > > > > ___ > lilypond-user mailing list > lilypond-u...@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user I did a dtrace on 2.19.47, using the default introductionary song that Lilypond uses as a starting sample (when starting the Lilypond app) #!/usr/sbin/dtrace -s syscall::lseek:entry /execname == "lilypond"/ { printf("lseek for %s ", execname); } syscall::open*:entry /execname == "lilypond"/ { printf("%s %s", execname, copyinstr(arg0)); } Searching within the created log-file of all dtrace hits for "open", so that only the open* entries are found shows that apparently the lseek-explosion occurs while lilypond is scanning the Mac OS X Fonts (this was not the first run of 2.19.47, so the initial font-scanning of the first run can not be blamed (unless the changes from 2.19.46 to 2.19.47 broke the font-caching system for Mac OS X of course)): CC-ing lilypond-devel as this may provide useful information for them too 0151 open:entry lilypond /Users/aikebah/Downloads/LilyPond2.19.47.app/Contents/Resources/bin/../lib/libintl.8.dylib <..some additional open/open_nocancel calls left out..> 0937 open_nocancel:entry lilypond /Users/aikebah/Downloads/LilyPond2.19.47.app/Contents/Resources/share/lilypond/current/fonts/otf > LINE 283 0937 open_nocancel:entry lilypond /Users/aikebah/.lilypond-fonts.cache-2//33296e741d33efa1650f388486e232c6-i686-apple-darwin8.cache-7 > LINE 284 0937 open_nocancel:entry lilypond /Library/Fonts > LINE 285 0937 open_nocancel:entry lilypond /Users/aikebah/.lilypond-fonts.cache-2//84c0f976e30e948e99073af70f4ae876-i686-apple-darwin8.cache-7 > LINE 286 0937 open_nocancel:entry lilypond /System/Library/Fonts > LINE 287 0937 open_nocancel:entry lilypond /Users/aikebah/.lilypond-fonts.cache-2//b0a71e6bf6a8a1a908413a823d76e21f-i686-apple-darwin8.cache-7 > LINE 288 0937 open_nocancel:entry lilypond /usr/var/cache/fontconfig//b0a71e6bf6a8a1a908413a823d76e21f-i686-apple-darwin8.cache-7 > LINE 289
Fwd: Re: v2.19.47 on Mac x86 (Jacques Menu Muzhic)
Doesn’t seem to have come through to the devel list (probably because you aren’t subscribed), so I forward it. Forwarded Message Subject:Re: v2.19.47 on Mac x86 (Jacques Menu Muzhic) Date: Mon, 5 Sep 2016 00:20:30 +0200 From: Hans Aikema To: lilypond-user , Cynthia Karl CC: lilypond-devel@gnu.org On 04 Sep 2016, at 19:42, Cynthia Karl wrote: Message: 5 Date: Sun, 4 Sep 2016 17:41:42 +0200 From: Jacques Menu Muzhic To: Andrew Bernard Cc: Jacques Menu Muzhic , lilypond-user Subject: Re: v2.19.47 on Mac x86 I run El Capitan 10.11.6: menu@macbookprojm:~/Documents/LaTeX/PartitionsLilypond > uname -a Darwin macbookprojm 15.6.0 Darwin Kernel Version 15.6.0: Mon Aug 29 20:21:34 PDT 2016; root:xnu-3248.60.11~1/RELEASE_X86_64 x86_64 and I get: menu@macbookprojm:~ > sudo dtruss lilypond --version I run El Capitan 10.11.6 and get the exact same output for “uname -a”. I wanted to see what the difference was between v2.19.46 and v2.19.47, so I ran them both on the following file: bash-3.2$ cat 1note.ly \version "2.19.46" { c4 } <….> I then ran dtruss -c on both versions to see what the difference in system calls was. The following table shows the number of system calls which have a Count > 100 for the v2.19.47 version and the corresponding count for the v2.19.46 version: CALLCOUNT LP46 COUNT LP47 … … … getattrlist 112 128 stat178 171 stat64 207 207 sigaltstack 222 228 sigprocmask 263 269 select_nocancel 320 323 lseek 57 123013 read_nocancel 341 125474 I then did a count of the number of lseeks on file descriptors <= 13 (at first glance there are no file descriptors greater than 12: lseek(0xfiledes v46 v47 lseek(0x01 23 lseek(0x11 1 lseek(0x21 1 lseek(0x32 2 lseek(0x40 0 lseek(0x50 0 lseek(0x62 2 lseek(0x7 35 35 lseek(0x8 8 122969 lseek(0x9 3 3 lseek(0xA 11 lseek(0xB 33 lseek(0xC 00 Hopefully, this information might be of use to someone trying to figure this problem out. The most salient questions would be: what is filedes 8 used for? And why is this problem only occurring on Macs? ___ lilypond-user mailing list lilypond-u...@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user I did a dtrace on 2.19.47, using the default introductionary song that Lilypond uses as a starting sample (when starting the Lilypond app) #!/usr/sbin/dtrace -s syscall::lseek:entry /execname == "lilypond"/ { printf("lseek for %s ", execname); } syscall::open*:entry /execname == "lilypond"/ { printf("%s %s", execname, copyinstr(arg0)); } Searching within the created log-file of all dtrace hits for "open", so that only the open* entries are found shows that apparently the lseek-explosion occurs while lilypond is scanning the Mac OS X Fonts (this was not the first run of 2.19.47, so the initial font-scanning of the first run can not be blamed (unless the changes from 2.19.46 to 2.19.47 broke the font-caching system for Mac OS X of course)): CC-ing lilypond-devel as this may provide useful information for them too 0151 open:entry lilypond /Users/aikebah/Downloads/LilyPond2.19.47.app/Contents/Resources/bin/../lib/libintl.8.dylib <..some additional open/open_nocancel calls left out..> 0937 open_nocancel:entry lilypond /Users/aikebah/Downloads/LilyPond2.19.47.app/Contents/Resources/share/lilypond/current/fonts/otf > LINE 283 0937 open_nocancel:entry lilypond /Users/aikebah/.lilypond-fonts.cache-2//33296e741d33efa1650f388486e232c6-i686-apple-darwin8.cache-7 > LINE 284 0937 open_nocancel:entry lilypond /Library/Fonts > LINE 285 0937 open_nocancel:entry lilypond /Users/aikebah/.lilypond-fonts.cache-2//84c0f976e30e948e99073af70f4ae876-i686-apple-darwin8.cache-7 > LINE 286 0937 open_nocancel:entry lilypond /System/Library/Fonts >