Bug 374351

Summary: Purpose: send to ReviewBoard doesn't work on OS X and (sometimes) causes a crash on exit
Product: [Developer tools] kdevplatform Reporter: RJVB <rjvbertin>
Component: patchreviewAssignee: kdevelop-bugs-null
Status: RESOLVED FIXED    
Severity: grave CC: aleixpol, david.nolden.kde
Priority: NOR    
Version: git master   
Target Milestone: ---   
Platform: Compiled Sources   
OS: macOS   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: purposeprocess is a nongui exec

Description RJVB 2016-12-30 19:33:22 UTC
After updating Qt from 5.6.2 to 5.7.1 I had to rebuild Purpose, so I installed the current git HEAD.

There were always some glitches using the ReviewBoard interface on OS X (2 times of 3 I wouldn't get the report URL), but sending worked. Now, I'm seeing this (having KService open in a project):

When I start the patch review plugin ("git/show differences"):

qrc:/JobDialog.qml:67: TypeError: Cannot read property 'Layout' of null
qrc:/JobDialog.qml:66: TypeError: Cannot read property 'Layout' of null
Cannot initialize model with data QJsonObject() . missing: QJsonValue(string, "urls")

When I trigger "Export Diff/Review Board":

missing... "updateRR"
missing... "updateRR"
qml: property not found urls
qml: property not found mimeType
<Unknown File>: QML QQuickLayoutAttached: Binding loop detected for property "minimumHeight"
qml: property not found urls
qml: property not found mimeType
qml: property not found urls
qml: property not found mimeType

When I enter my credentials:
qml: property not found urls
qml: property not found mimeType
qml: property not found urls
qml: property not found mimeType
qml: property not found urls
qml: property not found mimeType
qml: property not found urls
qml: property not found mimeType
qml: property not found urls
qml: property not found mimeType
qml: property not found urls
qml: property not found mimeType
qml: property not found urls
qml: property not found mimeType
qml: property not found urls
qml: property not found mimeType
qml: property not found urls
qml: property not found mimeType
qml: property not found urls
qml: property not found mimeType
qml: property not found urls
qml: property not found mimeType

When I hit "run":
 launching... "" 0x7f91f85c0378
error! QProcess::ProcessError(FailedToStart)
file:///opt/local/share/qt5/qml/org/kde/purpose/RunningJob.qml:46:16: Unable to assign ulong to double

The dialog then remains on the progress bar forever.

I can close the window and exit from the review plugin, but KDevelop is now likely to crash on exit, while unloading the grep plugin. I'm not yet sure this is really related; I've only seen the crash after having attempted to upload a patch for review.
Comment 1 RJVB 2016-12-30 19:59:10 UTC
I think this was operator error; I forgot to apply a patch which explains why the executable wasn't found.

Uploading works again, but the dialog is still sized wrong each time I open it (vertical height too small).
Comment 2 RJVB 2016-12-30 20:00:18 UTC
Created attachment 103098 [details]
purposeprocess is a nongui exec

purposeprocess must not be built as an app bundle on OS X, but as a regular executable that will be installed on the path.
Comment 3 Aleix Pol 2016-12-31 12:37:21 UTC
Can you please submit that patch?
Comment 4 RJVB 2016-12-31 12:49:39 UTC
To be certain: submit for review or commit directly?
Comment 5 Aleix Pol 2016-12-31 13:51:30 UTC
Whichever you feel most comfortable with
Comment 6 RJVB 2016-12-31 19:27:54 UTC
Git commit 3b558384a367ad1a9005ae00a9b53f1a922520fc by René J.V. Bertin.
Committed on 31/12/2016 at 19:25.
Pushed by rjvbb into branch 'master'.

purposeprocess should be a nongui executable

Mark purposeprocess as a nongui executable to prevent building it
as an app bundle on Mac.

M  +1    -0    CMakeLists.txt
M  +1    -0    src/CMakeLists.txt

https://commits.kde.org/purpose/3b558384a367ad1a9005ae00a9b53f1a922520fc