Skip to main content
Announcements
Global Transformation Awards! Applications are now open. Submit Entry
cancel
Showing results for 
Search instead for 
Did you mean: 
utermarks
Partner - Contributor II
Partner - Contributor II

App download fails in Qlik Sense Mobile

Hi@World,

I try to familiarize myself with the Qlik Sense Mobile app. After problems with the server login I can now work online. However, I can't download apps because I always get this error:"App download failed when downloading "xxx" a problem occurred. The network connection has been disconnected."

Image-1.jpg

Additional information:

Qlik Sense Mobile App: 1.1.35

Qlik Sense: September 2017 (11.14.3)

I've looked also in the mobile logs and found this error:


2017-10-25 14:25:20,415-DEBUG received failure: 11; details: {httpStatusCode: 500; contentType: application/json; charset=utf-8; content: {"type":"error","severity":"WARNING","message":"The service did not respond or could not process the request"}} =>virtual void DownloadSessionImpl::onRequestFailure(HttpRequestSender::HttpRequestSenderErrorCode, HttpRequestSender::ResponseDetails &, uint32_t)(301) [0x1b1922b80]<=


Knows someone else. this problem or has a solution? Could we missed to open relevant ports? For api service downloadprep?


Log Detail
2017-10-25 14:25:20,111-INFO  WEB>>: (debug) ["Download requested for online app: 0e2cc163-a5c9-47ed-bf72-560ae5ed4939"]<<WEB =>void PresentationManagerImpl::notifyMessageFromJavascript(QString)(158) [0x1b1922b80]<=

2017-10-25 14:25:20,114-DEBUG HttpProxy: processing HTTP request 8 /local/api/csm/v0/downloads?cachebust=1508934320101 =>void HttpHandler::route(HttpSocketWrapper *, const QString &)(73) [0x1b1922b80]<=

2017-10-25 14:25:20,114-DEBUG process = downloads =>virtual void SyncApiHandlerImpl::process(HttpSocketWrapper *, const QString &)(21) [0x1b1922b80]<=

2017-10-25 14:25:20,115-DEBUG Json text is : {"appId":"0e2cc163-a5c9-47ed-bf72-560ae5ed4939","bookmarkId":null} =>bool HttpSocket::readJson(QJsonDocument &)(349) [0x1b1922b80]<=

2017-10-25 14:25:20,115-DEBUG Starting a new download with appId: 0e2cc163-a5c9-47ed-bf72-560ae5ed4939 bookmarkId:  =>virtual void SyncApiHandlerImpl::process(HttpSocketWrapper *, const QString &)(105) [0x1b1922b80]<=

2017-10-25 14:25:20,116-DEBUG New DownloadSession created for server appId: 0e2cc163-a5c9-47ed-bf72-560ae5ed4939 and bookmark ; destination dir: /var/mobile/Containers/Data/Application/F2C959A8-9D04-466B-AF21-1AE3C5371400/Documents/home/441f778e/suk-a502aa93; tmp dir: /var/mobile/Containers/Data/Application/F2C959A8-9D04-466B-AF21-1AE3C5371400/Documents/tmp/441f778e/suk-a502aa93/bd3ff1eb31d73db73eb2fc1c22e57bda.qvf =>virtual void DownloadSessionImpl::start(const QString &, const QString &, const QString &, const QString &, const QString &, const QString &, bool)(77) [0x1b1922b80]<=

2017-10-25 14:25:20,116-DEBUG Generated app Idbd3ff1eb31d73db73eb2fc1c22e57bda.qvf; download id: bd3ff1eb31d73db73eb2fc1c22e57bda.qvf =>virtual void DownloadSessionImpl::start(const QString &, const QString &, const QString &, const QString &, const QString &, const QString &, bool)(78) [0x1b1922b80]<=

2017-10-25 14:25:20,116-TRACE  =>UscResult DownloadSessionImpl::obtainDownloadUrlFromServer()(452) [0x1b1922b80]<=

2017-10-25 14:25:20,116-DEBUG trying to connect to https://xxx.de/api/downloadprep/export/app; method: 0 opaque Id: 0 =>bool HttpRequestSenderImpl::sendRequest(const QString &, HttpRequestSender::HttpRequestSenderResultListener *, uint32_t, HttpRequestSenderImpl::HttpRequestSenderMethod, const QByteArray &)(65) [0x1b1922b80]<=

2017-10-25 14:25:20,117-DEBUG startNewDownload result: 0 =>virtual void SyncApiHandlerImpl::process(HttpSocketWrapper *, const QString &)(109) [0x1b1922b80]<=

2017-10-25 14:25:20,117-DEBUG JSonResponse: {

    "created": "",

    "downloadedSize": 0,

    "id": "bd3ff1eb31d73db73eb2fc1c22e57bda.qvf",

    "parentId": "0e2cc163-a5c9-47ed-bf72-560ae5ed4939",

    "state": 0,

    "totalSize": 0

}

=>virtual void SyncApiHandlerImpl::process(HttpSocketWrapper *, const QString &)(115) [0x1b1922b80]<=

2017-10-25 14:25:20,415-DEBUG QT Error: 401; HTTP status code: 500 =>void HttpRequestSenderImpl::onError(QNetworkReply::NetworkError)(125) [0x1b1922b80]<=

2017-10-25 14:25:20,415-DEBUG  =>void HttpRequestSenderImpl::onFinished()(154) [0x1b1922b80]<=

2017-10-25 14:25:20,415-DEBUG received failure: 11; details: {httpStatusCode: 500; contentType: application/json; charset=utf-8; content: {"type":"error","severity":"WARNING","message":"The service did not respond or could not process the request"}} =>virtual void DownloadSessionImpl::onRequestFailure(HttpRequestSender::HttpRequestSenderErrorCode, HttpRequestSender::ResponseDetails &, uint32_t)(301) [0x1b1922b80]<=

2017-10-25 14:25:20,416-TRACE  =>void DownloadSessionImpl::doTerminate(UscResult, const QString &, const QString &)(412) [0x1b1922b80]<=

2017-10-25 14:25:20,416-DEBUG errorCode: 13; errorString: Failure to do POST request to PrepForDownload service: 11 =>void DownloadSessionImpl::announceDownloadFailedToWebView(UscResult, const QString &, const QString &)(380) [0x1b1922b80]<=

2017-10-25 14:25:20,416-INFO  WebSocket Server Send API: {"jsonrpc":"2.0","method":"onDownloadError","params":{"appId":"bd3ff1eb31d73db73eb2fc1c22e57bda.qvf","downloadId":"bd3ff1eb31d73db73eb2fc1c22e57bda.qvf","errorCode":13,"errorData":"","errorMessage":"Failure to do POST request to PrepForDownload service: 11","parentAppId":"0e2cc163-a5c9-47ed-bf72-560ae5ed4939","self":"TBD"}} =>virtual void MessengerImpl::send(const QString &, const QJsonDocument &)(156) [0x1b1922b80]<=

2017-10-25 14:25:20,416-DEBUG terminationCause: 13; mbFinalAnnouncementDone: 0 =>void DownloadSessionImpl::announceDownloadSessionTerminatedToOwner()(437) [0x1b1922b80]<=

2017-10-25 14:25:20,417-DEBUG Group:DownloadSessions-441f778e Key:a502aa93bf344f95a9f0d0808fd9ab78ace970c310acd1a3170cb4124f9a01c2 Value: =>virtual QVariant AppConfigImpl::getIniSetting(const QString &, const QString &)(123) [0x1b1922b80]<=

2017-10-25 14:25:20,417-DEBUG Entry not found in INI file for DownloadSessions-441f778e:a502aa93bf344f95a9f0d0808fd9ab78ace970c310acd1a3170cb4124f9a01c2 =>virtual const QString PersistentDataStoreImpl::get(const QString &, const QString &)(42) [0x1b1922b80]<=

2017-10-25 14:25:20,418-TRACE  =>virtual int DependencyTrackerImpl::listOrphanedExtnEntries(DependencyExtnList &)(505) [0x1b1922b80]<=

2017-10-25 14:25:20,418-TRACE  =>virtual int DependencyTrackerImpl::removeOrphanedExtnEntries()(529) [0x1b1922b80]<=

2017-10-25 14:25:20,418-TRACE  =>bool DependencyTrackerImpl::saveDependencies(const QString &, const QString &)(577) [0x1b1922b80]<=

2017-10-25 14:25:20,434-DEBUG Result=1 =>bool DependencyTrackerImpl::saveDependencies(const QString &, const QString &)(615) [0x1b1922b80]<=

2017-10-25 14:25:20,435-DEBUG Killed 0 orphans. =>virtual int DependencyTrackerImpl::removeOrphanedExtnEntries()(551) [0x1b1922b80]<=

2017-10-25 14:25:20,438-DEBUG Message name ConsoleLog =>void PresentationManagerImpl::notifyMessageFromJavascript(QString)(90) [0x1b1922b80]<=

2017-10-25 14:25:20,438-INFO  WEB>>: (debug) ["WebSocket.onmessage: {\"jsonrpc\":\"2.0\",\"method\":\"onDownloadError\",\"params\":{\"appId\":\"bd3ff1eb31d73db73eb2fc1c22e57bda.qvf\",\"downloadId\":\"bd3ff1eb31d73db73eb2fc1c22e57bda.qvf\",\"errorCode\":13,\"errorData\":\"\",\"errorMessage\":\"Failure to do POST request to PrepForDownload service: 11\",\"parentAppId\":\"0e2cc163-a5c9-47ed-bf72-560ae5ed4939\",\"self\":\"TBD\"}}"]<<WEB =>void PresentationManagerImpl::notifyMessageFromJavascript(QString)(158) [0x1b1922b80]<=

2017-10-25 14:25:20,444-DEBUG Message name ConsoleLog =>void PresentationManagerImpl::notifyMessageFromJavascript(QString)(90) [0x1b1922b80]<=

2017-10-25 14:25:20,445-INFO  WEB>>: (debug) ["Error details: 13 - Failure to do POST request to PrepForDownload service: 11 - Die Netzwerkverbindung wurde unterbrochen. - true;"]<<WEB =>void PresentationManagerImpl::notifyMessageFromJavascript(QString)(158) [0x1b1922b80]<=

2017-10-25 14:25:20,455-DEBUG HttpProxy: processing HTTP request 8 /local/api/v0/notifications?cachebust=1508934320448 =>void HttpHandler::route(HttpSocketWrapper *, const QString &)(73) [0x1b1922b80]<=

2017-10-25 14:25:20,455-DEBUG Json text is : {"title":"App-Download ist fehlgeschlagen","message":"Beim Herunterladen von „Consumer Sales“ ist ein Problem aufgetreten. Die Netzwerkverbindung wurde unterbrochen."} =>bool HttpSocket::readJson(QJsonDocument &)(349) [0x1b1922b80]<=

2017-10-25 14:25:30,072-DEBUG Application state: Active =>virtual PlatformServicesValues::eState PlatformServicesImpl::getCurrentApplicationState()(567) [0x1b1922b80]<=

2017-10-25 14:25:30,082-INFO  STATUS INFO1: Name:<xxx> Dev:<iPad> Model:<iPad5,3> Id:<xxx> =>virtual void PlatformServicesImpl::logStatus(bool)(307) [0x1b1922b80]<=

2017-10-25 14:25:30,082-INFO  STATUS INFO2: O/S:<iOS 11.0> Kern:<darwin> CPU:<arm64> =>virtual void PlatformServicesImpl::logStatus(bool)(308) [0x1b1922b80]<=

2017-10-25 14:25:30,082-INFO  STATUS INFO3: State:<Active> Net:<WiFi> Orientation:<Land Right> =>virtual void PlatformServicesImpl::logStatus(bool)(309) [0x1b1922b80]<=

2017-10-25 14:25:30,083-INFO  STATUS  RES1: Memory App-Use: 72,368,128    All-App-Use: 1,709,260,800  Free: 53,919,744    Est-GPU-Use: 321,388,544    Total: 2,084,569,088  =>virtual void PlatformServicesImpl::logStatus(bool)(310) [0x1b1922b80]<=

2017-10-25 14:25:30,083-INFO  STATUS  RES2:  Home Dir Size: 376,832        | CPU: %0.9 Sec: 22 uSec: 6,063,068 =>virtual void PlatformServicesImpl::logStatus(bool)(311) [0x1b1922b80]<=

2017-10-25 14:25:32,358-DEBUG HttpProxy: processing HTTP request 8 /local/api/diagnostics/v0/sendlogs?cachebust=1508934332347 =>void HttpHandler::route(HttpSocketWrapper *, const QString &)(73) [0x1b1922b80]<=

2017-10-25 14:25:32,358-TRACE  =>virtual void ProductSupportHandlerImpl::process(HttpSocketWrapper *, const QString &)(30) [0x1b1922b80]<=

2017-10-25 14:25:32,359-DEBUG Zipping up logs into: </private/var/mobile/Containers/Data/Application/F2C959A8-9D04-466B-AF21-1AE3C5371400/tmp/Qlik Sense Mobile-zIKmsb/QSM-Logs-2017-10-25T14:25:32.zip> =>void ProductSupportHandlerImpl::sendLogs(QString)(58) [0x1b1922b80]<=

2017-10-25 14:25:32,363-DEBUG Application state: Active =>virtual PlatformServicesValues::eState PlatformServicesImpl::getCurrentApplicationState()(567) [0x1b1922b80]<=

2017-10-25 14:25:32,372-INFO  STATUS INFO1: Name:<xxx> Dev:<iPad> Model:<iPad5,3> Id:<xxx> =>virtual void PlatformServicesImpl::logStatus(bool)(307) [0x1b1922b80]<=

2017-10-25 14:25:32,372-INFO  STATUS INFO2: O/S:<iOS 11.0> Kern:<darwin> CPU:<arm64> =>virtual void PlatformServicesImpl::logStatus(bool)(308) [0x1b1922b80]<=

2017-10-25 14:25:32,372-INFO  STATUS INFO3: State:<Active> Net:<WiFi> Orientation:<Land Right> =>virtual void PlatformServicesImpl::logStatus(bool)(309) [0x1b1922b80]<=

2017-10-25 14:25:32,372-INFO  STATUS  RES1: Memory App-Use: 72,368,128    All-App-Use: 1,724,792,832  Free: 38,535,168    Est-GPU-Use: 321,241,088    Total: 2,084,569,088  =>virtual void PlatformServicesImpl::logStatus(bool)(310) [0x1b1922b80]<=

2017-10-25 14:25:32,373-INFO  STATUS  RES2:  Home Dir Size: 376,832        | CPU: %4.8 Sec: 23 uSec: 5,185,235 =>virtual void PlatformServicesImpl::logStatus(bool)(311) [0x1b1922b80]<=

2017-10-25 14:25:32,429-DEBUG Opening Home-Files.txt for write /var/mobile/Containers/Data/Application/F2C959A8-9D04-466B-AF21-1AE3C5371400/Documents/Qlik/Sense/Logs/Home-Files.txt =>long ProductSupportHandlerImpl::prepareLogsZipFile(QString, QString)(85) [0x1b1922b80]<=

2017-10-25 14:25:32,461-DEBUG Opening Qix Engine log path/file pairs file for write /var/mobile/Containers/Data/Application/F2C959A8-9D04-466B-AF21-1AE3C5371400/Documents/Qlik/Sense/Logs/QixEngineLogPrefixes.txt =>void LogHandler::writeQixEngineLogPathFilePairsToFile()(576) [0x1b1922b80]<=

Thx for help and cheers

Stefan

1 Solution

Accepted Solutions
utermarks
Partner - Contributor II
Partner - Contributor II
Author

Hey Roel,

In the meantime, we have further investigated the problem on our side and have unfortunately found that the cause of the error is on our side.

Reason for this error is that app downlaod generally did not work if one internal windows service (part of our trueChart product - HiCoConverter) was running. This service always has used port 9090 (since the first release 6 years ago) but since September 2017 Sense now offers the DownloadPrepService, which also uses the same port and is responsible for app download with qlik sense mobile.

This problem has not been noticed so far, as the qlik sense installer does not seem to clearly point out the already occupied port when updating Qlik Sense. We only became aware yesterday when a customer installed a new sense system where our product including Windows service was already running on port 9090.

The solution to this problem is simply to reconfigure our Windows services to another unused port. Generally it would be good if the Sense Installer would check all relevant ports and let Qlik add its ports to official port lists (https://de.adminsub.net/tcp-udp-port-finder/9090).

Gtx from Erfurt/Germany

Stefan

View solution in original post

5 Replies
roelvandeven
Partner - Contributor III
Partner - Contributor III

Same problem here. Hope you get an answer soon.

utermarks
Partner - Contributor II
Partner - Contributor II
Author

Hey Roel,

could you solve this problem in any way? We have tried this until incl. the current April version with our server without success. With a completely new February server the download worked. Since the update of the Qlik Sense Mobile App on the iPad, however, it is now not possible to use the Qlik Sense Mobile App.

2018-05-14 14:23:21,152-DEBUG [WEB] ["WebSocket.onmessage: {\"jsonrpc\":\"2.0\",\"method\":\"onDownloadError\",\"params\":{\"appId\":\"73c92481f9b4b2fbcfa5de7cb12e93fe.qvf\",\"downloadId\":\"73c92481f9b4b2fbcfa5de7cb12e93fe.qvf\",\"errorCode\":13,\"errorData\":\"\",\"errorMessage\":\"Failure to do POST request to PrepForDownload service: 11\",\"parentAppId\":\"de9cecef-b7e3-496e-90bc-b09b7843da38\",\"self\":\"TBD\"}}"] =>void PresentationManagerImpl::notifyMessageFromJavascript(QString)(265) [0x1b477cb80]<=

2018-05-14 14:23:21,155-DEBUG qml: WebView(mainWebViewController): onMessageFromJavascript: sendToNative =>void PresentationManagerImpl::logDebug(QString)(150) [0x1b477cb80]<=

2018-05-14 14:23:21,156-DEBUG Message name ConsoleLog =>void PresentationManagerImpl::notifyMessageFromJavascript(QString)(191) [0x1b477cb80]<=

2018-05-14 14:23:21,156-WARN  [WEB] ["Error details: 13 - Failure to do POST request to PrepForDownload service: 11 - Die Netzwerkverbindung wurde unterbrochen. - true;"] =>void PresentationManagerImpl::notifyMessageFromJavascript(QString)(269) [0x1b477cb80]<=

2018-05-14 14:23:21,173-DEBUG HttpProxy: processing HTTP request 8 /local/api/v0/notifications?cachebust=1526300601159 =>void HttpHandler::route(HttpSocketWrapper *, const QString &)(85) [0x1b477cb80]<=

2018-05-14 14:23:21,173-DEBUG Json text is : {"title":"App-Download ist fehlgeschlagen","message":"Beim Herunterladen von „HiCo - trueChart demo“ ist ein Problem aufgetreten. Die Netzwerkverbindung wurde unterbrochen."} =>bool HttpSocket::readJson(QJsonDocument &)(357) [0x1b477cb80]<=

roelvandeven
Partner - Contributor III
Partner - Contributor III

Hi Stefan,

No, we haven't got this working yet.

It has been of our radar as this was only the issue on our demo/test server, but soon there will be a live (customer) server in the same datacenter so we will need to solve this soon. Qlik Support told that they could not find anything in the logging, so we have no options there.

What just comes to mind is that we do have the 'Connections lost' issue on the same server. I remember that you have had the same problem with you server, am I right?

It could be that this has the same source.

Regards,

Roel

utermarks
Partner - Contributor II
Partner - Contributor II
Author

Hey Roel,

In the meantime, we have further investigated the problem on our side and have unfortunately found that the cause of the error is on our side.

Reason for this error is that app downlaod generally did not work if one internal windows service (part of our trueChart product - HiCoConverter) was running. This service always has used port 9090 (since the first release 6 years ago) but since September 2017 Sense now offers the DownloadPrepService, which also uses the same port and is responsible for app download with qlik sense mobile.

This problem has not been noticed so far, as the qlik sense installer does not seem to clearly point out the already occupied port when updating Qlik Sense. We only became aware yesterday when a customer installed a new sense system where our product including Windows service was already running on port 9090.

The solution to this problem is simply to reconfigure our Windows services to another unused port. Generally it would be good if the Sense Installer would check all relevant ports and let Qlik add its ports to official port lists (https://de.adminsub.net/tcp-udp-port-finder/9090).

Gtx from Erfurt/Germany

Stefan

roelvandeven
Partner - Contributor III
Partner - Contributor III

Hi Stefan,

That solved it for us as well!

Great, thank you for the update. I can't mark your response as the correct answer, but it is.

Thanks from Tilburg/NL

Roel