Attempting to Save Online a yet unsaved or uncompressed (mscx) produces misleading error message

• May 17, 2020 - 17:42
Reported version
3.x-dev
Type
Functional
Frequency
Few
Severity
S2 - Critical
Reproducibility
Always
Status
closed
Regression
Yes
Workaround
Yes
Project

Steps to reproduce:
1. Create a minimal score with a title.
2. Save it as an uncompressed file (MSCX).
3. Save Online...
4. An error message will be displayed reading: "Cannot upload: Not Acceptable (Title cannot be blank.)

Workaround:
Save the score as a compressed file (MSCZ) and then upload.

This one bites me as I prefer MSCX files to MSCZ as they can be compared using a variety of tools.

I recognize this could be considered a musescore.com issue, but even so, if it is a musescore.com limitation, perhaps the application could compress a MSCX file as part the upload process.


Comments

Regression No Yes

I can't reproduce in 3.4.2 but can in 3.5 Alpha
And the same error happens also when not saving the score at all.
I get a different error though (and an even worse one): "Cannot upload: ()"

Title Attempting to upload (Save Online...) a score saved uncompressed (MSCX) produces misleading error message Attempting to "Save Online...") a yet unsaved or uncompressed (mscx) produces misleading error message

Stack trace at that point (in QtCreator/MinGW, using Qt 5.12.8):
1 Ms::LoginManager::onUploadReply loginmanager.cpp 769 0x52b863
2 Ms::LoginManager::handleReply loginmanager.cpp 277 0x527c55
3 Ms::LoginManager::onReplyFinished loginmanager.cpp 239 0x527a38
4 Ms::LoginManager::::operator()(Ms::ApiRequest *) const loginmanager.cpp 744 0x52ad09
5 QtPrivate::FunctorCall, QtPrivate::List, void, Ms::LoginManager::upload(const QString&, int, const QString&)::>::call(Ms::LoginManager:: &, void * *) qobjectdefs_impl.h 146 0x52d32c
6 QtPrivate::Functor, 1>::call, void>(Ms::LoginManager:: &, void *, void * *) qobjectdefs_impl.h 256 0x52d17c
7 QtPrivate::QFunctorSlotObject, 1, QtPrivate::List, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void * *, bool *) qobjectdefs_impl.h 439 0x52cfea
8 QMetaObject::activate(QObject *, int, int, void * *) 0x68a948cd
9 Ms::ApiRequest::replyFinished moc_loginmanager_p.cpp 142 0x58d4ae
10 Ms::ApiRequest::::operator()(void) const loginmanager.cpp 899 0x52c18e
11 QtPrivate::FunctorCall, QtPrivate::List<>, void, Ms::ApiRequest::executeRequest(QNetworkAccessManager *)::>::call(Ms::ApiRequest:: &, void * *) qobjectdefs_impl.h 146 0x52d35f
12 QtPrivate::Functor, 0>::call, void>(Ms::ApiRequest:: &, void *, void * *) qobjectdefs_impl.h 256 0x52d1a7
13 QtPrivate::QFunctorSlotObject, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void * *, bool *) qobjectdefs_impl.h 439 0x52d076
14 QMetaObject::activate(QObject *, int, int, void * *) 0x68a948cd
15 QHttpPart::setRawHeader(QByteArray const&, QByteArray const&) 0x69766cf9
16 QHttpMultiPart::qt_metacall(QMetaObject::Call, int, void * *) 0x697f7a19
17 QObject::event(QEvent *) 0x68a9556a
18 QApplicationPrivate::notify_helper(QObject *, QEvent *) 0x2ab17bdc
19 QApplication::notify(QObject *, QEvent *) 0x2ab1ec23
20 QCoreApplication::notifyInternal2(QObject *, QEvent *) 0x68a68c68
...

See also #305700: Crash when using Save Online in a selfbuilt MuseScore using Qt 5.14.2 or 5.15.0 RC2, unrelated to this issue, but found in the passing

Severity S4 - Minor S2 - Critical

That crash should make it Critical I guess

Actually this may be multiple issues:

  • inability to save a score online that hasn't yet been saved locally
  • inability to save a score online that has been saved locally uncompressed
  • bad error message in either case
  • subsequent crash (in a debug build)
Title Attempting to "Save Online...") a yet unsaved or uncompressed (mscx) produces misleading error message Attempting to Save Online a yet unsaved or uncompressed (mscx) produces misleading error message
Status active fixed

Fixed in branch 3.x, commit 0c9c6518f1

_fix #305589: Attempting to Save Online a yet unsaved or uncompressed (mscx) produces misleading error message

Revert "Don't store a random mscx filename inside the mscz on musescore.com"
This reverts commit c8278789267ab6d1c6fcf1cd2b39a2495862255c._

Fixed in branch master, commit adc1cb5d8a

_fix #305589: Attempting to Save Online a yet unsaved or uncompressed (mscx) produces misleading error message

Revert "Don't store a random mscx filename inside the mscz on musescore.com"
This reverts commit c8278789267ab6d1c6fcf1cd2b39a2495862255c._

Fix version
3.5.0