Switch to continuous view lets crash the devel version github-musescore-musescore-6c735b8
If I swiitch to continous view in some open score Linux/Fedora 26, then 6c735b8e will crash.
strace:
strace: Process 11924 attached
futex(0x7fff4ea2e240, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, 0xffffffff) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGHUP {si_signo=SIGHUP, si_code=SI_USER, si_pid=11924, si_uid=1000} ---
rt_sigreturn({mask=[]}) = -1 EINTR (Interrupted system call)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 6
fstat(6, {st_mode=S_IFREG|0644, st_size=234611, ...}) = 0
mmap(NULL, 234611, PROT_READ, MAP_PRIVATE, 6, 0) = 0x7fd319870000
close(6) = 0
open("/lib64/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300*\0\0\0\0\0\0"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0755, st_size=92800, ...}) = 0
mmap(NULL, 2188336, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x7fd315b1b000
mprotect(0x7fd315b31000, 2093056, PROT_NONE) = 0
mmap(0x7fd315d30000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x15000) = 0x7fd315d30000
close(6) = 0
mprotect(0x7fd315d30000, 4096, PROT_READ) = 0
munmap(0x7fd319870000, 234611) = 0
getpid() = 11924
tgkill(11924, 11925, SIGRTMIN) = 0
getpid() = 11924
tgkill(11924, 11926, SIGRTMIN) = 0
getpid() = 11924
tgkill(11924, 11928, SIGRTMIN) = 0
getpid() = 11924
tgkill(11924, 11931, SIGRTMIN) = 0
munmap(0x7fd31990a000, 139264) = 0
munmap(0x7fd3198cc000, 139264) = 0
munmap(0x7fd3198aa000, 139264) = 0
rt_sigaction(SIGHUP, NULL, {sa_handler=0x7fd3194e54d0, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3192bf3b0}, 8) = 0
rt_sigaction(SIGHUP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3192bf3b0}, NULL, 8) = 0
rt_sigaction(SIGINT, NULL, {sa_handler=0x7fd3194e54d0, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3192bf3b0}, 8) = 0
rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3192bf3b0}, NULL, 8) = 0
rt_sigaction(SIGTERM, NULL, {sa_handler=0x7fd3194e54d0, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3192bf3b0}, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3192bf3b0}, NULL, 8) = 0
rt_sigaction(SIGPIPE, NULL, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3192bf3b0}, 8) = 0
rt_sigaction(SIGPIPE, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3192bf3b0}, NULL, 8) = 0
poll([{fd=5, events=0}], 1, 0) = 0 (Timeout)
close(5) = 0
geteuid() = 1000
umount2("/tmp/.mount_4HYCGu", MNT_DETACH) = -1 EPERM (Operation not permitted)
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fd3198ee9d0) = 11980
wait4(11980, NULL, 0, NULL) = 11980
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=11980, si_uid=1000, si_status=0, si_utime=0, si_stime=1} ---
munmap(0x7fd319908000, 4096) = 0
munmap(0x7fd31992c000, 4096) = 0
munmap(0x7fd319909000, 4096) = 0
rmdir("/tmp/.mount_4HYCGu") = 0
exit_group(0) = ?
Comments
Sorry, I forgot to attach the mscz file.
In reply to Sorry, I forgot to attach… by Joachim Backes
My problem with the gnu-debugger:: The appimage seems not contain any debug symbols evaluable for gdb.
And I did not compile this mscore, but I downloaded the binary appimage.
There doesn't seem to be a 6c735b8e, I get an error 404 on that
There is a 6c735b8 though and a 6c735b87 (the same)
the strace doesn't help much, a stack trace would be more helpful.
There is no stack trace though (not on Windows at least), but a failed assertion:
Fatal: ASSERT: "e == 0 || e->isSystem()" in file ...\MuseScore\libmscore\scoreElement.h, line 384 (:0,)
Is this problem different from #238606: Crash by switching in Continuous View when a tie extends in another system?
In reply to There doesn't seem to be a… by Jojo-Schmitz
I don't know if that's the same problem as in #238606, but mscore crashes too if I switch to continous view with the belonging attached mscore file for in the devel version the 6c735b8. No crash in windows with that file?
In reply to I don't know if that's the… by Joachim Backes
Well, depends on the definition of crash, it dies on a failed assertion here, sort of a planned crash, killing itself rather than getting killed by the OS (and only in DEBUG mode, IIRC these asserts turn into NOPs when building in RELEASE mode, and then there may be a real crash later)
In reply to I don't know if that's the… by Joachim Backes
"Is this problem different from : #238606: Crash by switching in Continuous View when a tie extends in another system"
No, always same problem (duplicate), as demonstrated yesterday with an update of this issue.
The culprit is always the tie, here is Violin part (the C in measure 52 which extends in measure 53)
Remove this tie, and you can switch as expected in Continuous View.
In reply to "Is this problem different… by cadiz1
Thanks for confirming. Maybe that hint at a failed assertion helps in the issue. I've added it there
In reply to "Is this problem different… by cadiz1
You are right, I checked it with the actual attachment!
In reply to "Is this problem different… by cadiz1
By removing the tie, storing the score and reopening it, no crash happens if drawing the tie again, indepent from the tie endpoint in measure 53. So it seems that the attached score is somehow bogous .
In reply to By removing the tie, storing… by Joachim Backes
Sorry for typo: I meant "buggy" and not "bogous".
In reply to By removing the tie, storing… by Joachim Backes
I don't understand what you means.
1) With 6c735b8, I remove the tie (Violin, top staff, measure 52) -> Save -> Close
I get: 2 Satz.mscz
2) Reload -> measure 52 always, violin part, top staff -> click on C half note -> Press "+"for tie (which extends now in measure 53 on the next system)
3) Toggle in Continuous View
Result: crash
In reply to I don't understand what you… by cadiz1
Please let me more precise: I did not execute Step 1),
7.Result: Done, No crash!
In reply to Please let me more precise:… by Joachim Backes
I am very surprised to hear this.
A slur is not a tie!!
And it's for why the title issue is clear about this: #238606: Crash by switching in Continuous View when a tie extends in another system
See, to distinguish the ties (https://musescore.org/en/handbook/ties) and the slurs (https://musescore.org/en/handbook-notation/slurs) and the way to enter each one eg with shortcuts ( "S" for a slur, and "+" for a tie)
In reply to I am very surprised to hear… by cadiz1
If I understood you correctly, the a tie is resonable only between notes having the same pitch?
But the visual result if combining two notes of same pitch with ties or slurs is the same. And from your point of view, a tie (+) should be forbidden between notes of different pitch?? What is then the difference between combining two notes of the same pitch by a tie or by a slur?
In reply to If I understood you… by Joachim Backes
"the a tie is resonable only between notes having the same pitch?"
Absolutely, of course
"But the visual result if combining two notes of same pitch with ties or slurs is the same."
No. The curve is not the same.
"And from your point of view, a tie (+) should be forbidden between notes of different pitch??"
Forbidden? Well, simply, add a tie between notes of different pitch, you cannot!
" What is then the difference between combining two notes of the same pitch by a tie or by a slur?"
So, as said, the drawn of the curve, and above all, the playback. Two tied notes leads to a prolongated sound (duration of the two notes), while two notes with slurs will be repeated in playback.
It's shown also in the status bar, bottom left (by clicking on a slur or tie)
In reply to If I understood you… by Joachim Backes
a tie is only possible between 2 adjacent notes of the same pitch ("Haltebogen"), a slur can span multiple notes of different pitches ("Bindebogen"). A tie has one long note playback, the combined length of the tied notes, a slur has multiple notes playback with a (slight) legato effect, but still distinct notes
If you move up/down one note of a tied couple, the other moves to stay at same pitch, That does not happen on a slur
In reply to If I understood you… by Joachim Backes
Most people will not notice the slight difference in the shape of the tie and slur in MuseScore. There will be a difference in playback however. If you solo the instrument using both you will notice the slur is played as two notes and the tie is played as one note as long as both combined. The difference in playback would be even more pronounced if you added staccato to both notes.
Using a slur as a work around for visual notation to prevent the crash is a very good idea and as long as you don't mind the differences in playback you can use the slur instead of the tie. As Cadiz said, a slur is not a tie.