gregorio-project / gregorio

The Gregorio Project
http://gregorio-project.github.io
Other
155 stars 43 forks source link

Segmentation Fault when the First Word is One Letter and Bolded #1585

Open jglowe opened 5 months ago

jglowe commented 5 months ago

I did a brief search and didn't see this issue reported anywhere, so here it goes.

I came across a segmentation fault when the score is bold and the first syllable is one letter long.

Below is an example of the error and the platform:

$ neofetch
                    'c.          REDACTED@REDACTED
                 ,xNMM.          ---------------------------------------------
               .OMMMMo           OS: macOS 14.2.1 23C71 arm64
               OMMM0,            Host: MacBookAir10,1
     .;loddo:' loolloddol;.      Kernel: 23.2.0
   cKMMMMMMMMMMNWMMMMMMMMMM0:    Uptime: 37 days, 7 hours, 20 mins
 .KMMMMMMMMMMMMMMMMMMMMMMMWd.    Packages: 202 (brew)
 XMMMMMMMMMMMMMMMMMMMMMMMX.      Shell: bash 5.2.21
;MMMMMMMMMMMMMMMMMMMMMMMM:       Resolution: 1440x900
:MMMMMMMMMMMMMMMMMMMMMMMM:       DE: Aqua
.MMMMMMMMMMMMMMMMMMMMMMMMX.      WM: Quartz Compositor
 kMMMMMMMMMMMMMMMMMMMMMMMMWd.    WM Theme: Blue (Dark)
 .XMMMMMMMMMMMMMMMMMMMMMMMMMMk   Terminal: tmux
  .XMMMMMMMMMMMMMMMMMMMMMMMMK.   CPU: Apple M1
    kMMMMMMMMMMMMMMMMMMMMMMd     GPU: Apple M1
     ;KMMMMMMMWXXWMMMMMMMk.      Memory: 2517MiB / 16384MiB
       .cooc,.    .,coo:.

$
$ gregorio --version
Gregorio 6.0.0 (kpathsea version 6.3.5).
Copyright (C) 2006-2021 Gregorio Project authors (see CONTRIBUTORS.md)
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ cat working.gabc
%%
(c4)
O(h) please(gh) help(h) me(g) main(h)tain(i)ers(h.)
$ gregorio working.gabc
$ cat not_working.gabc
%%
<b>(c4)
O(h) please(gh) help(h) me(g) main(h)tain(i)ers(h.)
$ gregorio not_working.gabc
Segmentation fault: 11
$

I thought the issue might be that I didn't close the bold marker or placed it in the wrong place. Moving it around didn't fix it.

$ cat not_working1.gabc
%%
(c4)
<b>O(h) please(gh) help(h) me(g) main(h)tain(i)ers</b>(h.)
$ gregorio not_working1.gabc
Segmentation fault: 11
$

When I added another letter to the first word, it ran successfully.

$ cat working1.gabc
%%
<b>(c4)
Oh(h) please(gh) help(h) me(g) main(h)tain(i)ers(h.)
$ gregorio working1.gabc
$

Also moving the bold section after the first word/letter worked.

$ cat working2.gabc
%%
(c4)
O(h) <b>please(gh) help(h) me(g) main(h)tain(i)ers</b>(h.)
$ gregorio working2.gabc
$

I would appreciate any attention you can give to fixing this.

eschwab commented 3 months ago

EDIT: can replicate. Previously I stated having problems with debug symbols, I was not compiling with --enable-debug.