Are you able to compile QMS on your own? See https://bitbucket.org/maproom/qmapshack/wiki/BuildWindowsVisualStudio
for instructions. My guess is that slotSaveWorkspace() the item mutex is in a dead lock. To find out we need to place a debug message: void CGisListWks::slotSaveWorkspace() { qDebug() << "slotSaveWorkspace() before lock"; // add debug message CGisListWksEditLock lock(true,IGisItem::mutexItems); qDebug() << "slotSaveWorkspace() after lock"; // add debug message if(!saveOnExit) { return; } QSqlQuery query(db); QUERY_RUN("DELETE FROM workspace", return ) qDebug() << "slotSaveWorkspace()"; If my guess is right we will see the "before lock" message only. HTH Oliver Am 06.04.2016 um 14:02 schrieb z...@cms123.fr: > > Hello, > > > > For this test I use 1 Garmin map (from Openmtbmap) and 1 test database > (see attachment). > > The sequence is : > > - open QMS > > - load "testfolder" from database > > - zoom / pan > > - close QMS by clicking on "X" > > - check in task manager if it is still alive ; kill it if necessary > > - open QMS > > - close "testfolder" > > - zoom / pan > > - close QMS > > - check in task manager if it is still alive ; kill it if necessary > > - start again > > > > See full logfile in attachment. Problem occurence rate in attached > logfile is much less than when I use QMS in a "normal" way, means > loading objects from database, modifying tracks, zooming/panning and > so on. > > Sometimes it works dozens of times, but in general when it does not > work it happens several times in a row. > > I completely remove the Box-synced folder. > > When QMS stays alive in background, it is "forever" : after 1 hour it > is still there. > > In fact now each time I close QMS, I open Windows tasks manager, check > if qmapshack.exe is there and kill it if necessary. > > > > Here is what happens when QMS is closed and reopened without problem : > > 2016-04-06 13:20:54.256 [debug] bufferScale QPointF(0.7,-0.7) > 2016-04-06 13:20:54.258 [debug] stop thread "gis" after 4 ms > 2016-04-06 13:20:54.277 [debug] start thread "dem" > 2016-04-06 13:20:54.277 [debug] bufferScale QPointF(0.7,-0.7) > 2016-04-06 13:20:54.278 [debug] stop thread "dem" after 1 ms > 2016-04-06 13:20:54.279 [debug] start thread "gis" > 2016-04-06 13:20:54.279 [debug] bufferScale QPointF(0.7,-0.7) > 2016-04-06 13:20:54.281 [debug] bufferScale QPointF(0.7,-0.7) > 2016-04-06 13:20:54.282 [debug] stop thread "gis" after 3 ms > 2016-04-06 13:20:54.718 [debug] stop thread "map" after 526 ms > 2016-04-06 13:20:57.571 [debug] slotSaveWorkspace() > *2016-04-06 13:20:57.594 [debug] close database "testDB"* > *2016-04-06 13:20:59.456 [debug] Log configuration: log file= > "C:/Users/xxx/AppData/Local/Temp/org.qlandkarte.QMapShack.log" write > to file= true debug output= false* > 2016-04-06 13:20:59.456 [debug] "GDAL_DATA directory set to > C:\\Program Files\\QMapShack\\data" > 2016-04-06 13:20:59.456 [debug] "PROJ_LIB directory set to C:\\Program > Files\\QMapShack\\share" > 2016-04-06 13:20:59.457 [debug] locale "fr" > 2016-04-06 13:20:59.458 [debug] "using file 'C:\\Program > Files\\QMapShack\\translations/qtbase_fr.qm' for translations." > 2016-04-06 13:20:59.458 [debug] locale "fr" > 2016-04-06 13:20:59.458 [debug] "using file 'C:\\Program > Files\\QMapShack\\translations/qmapshack_fr.qm' for translations." > 2016-04-06 13:20:59.458 [debug] "CACHE" path "C:/Users/xxx/.QMapShack" > 2016-04-06 13:20:59.459 [debug] "USER DATA" path > "C:/Users/xxx/.config/QLandkarte/WaypointIcons" > 2016-04-06 13:20:59.459 [debug] "LOG" path > "C:/Users/xxx/AppData/Local/Temp" > 2016-04-06 13:20:59.486 [debug] Application ID: 7795 > 2016-04-06 13:20:59.491 [debug] "ROUTINO" path "C:/Program > Files/QMapShack/routino-xml/profiles.xml" > 2016-04-06 13:20:59.492 [debug] "ROUTINO" path "C:/ > > > > > > Here when it still runs and I have to kill it : > > 2016-04-06 13:21:01.898 [debug] bufferScale QPointF(0.1,-0.1) > 2016-04-06 13:21:01.899 [debug] stop thread "dem" after 1 ms > 2016-04-06 13:21:01.900 [debug] start thread "gis" > 2016-04-06 13:21:01.900 [debug] bufferScale QPointF(0.1,-0.1) > 2016-04-06 13:21:01.904 [debug] stop thread "gis" after 4 ms > 2016-04-06 13:21:01.917 [debug] bufferScale QPointF(0.1,-0.1) > 2016-04-06 13:21:01.976 [debug] stop thread "map" after 156 ms > 2016-04-06 13:21:04.268 [debug] start thread "gis" > 2016-04-06 13:21:04.268 [debug] bufferScale QPointF(0.1,-0.1) > 2016-04-06 13:21:04.272 [debug] stop thread "gis" after 4 ms > 2016-04-06 13:21:06.559 [debug] start thread "gis" > 2016-04-06 13:21:06.559 [debug] bufferScale QPointF(0.1,-0.1) > *2016-04-06 13:21:06.560 [debug] stop thread "gis" after 1 ms* > *2016-04-06 13:21:18.415 [debug] Log configuration: log file= > "C:/Users/xxx/AppData/Local/Temp/org.qlandkarte.QMapShack.log" write > to file= true debug output= false* > 2016-04-06 13:21:18.416 [debug] "GDAL_DATA directory set to > C:\\Program Files\\QMapShack\\data" > 2016-04-06 13:21:18.416 [debug] "PROJ_LIB directory set to C:\\Program > Files\\QMapShack\\share" > 2016-04-06 13:21:18.417 [debug] locale "fr" > 2016-04-06 13:21:18.417 [debug] "using file 'C:\\Program > Files\\QMapShack\\translations/qtbase_fr.qm' for translations." > 2016-04-06 13:21:18.417 [debug] locale "fr" > 2016-04-06 13:21:18.418 [debug] "using file 'C:\\Program > Files\\QMapShack\\translations/qmapshack_fr.qm' for translations." > 2016-04-06 13:21:18.418 [debug] "CACHE" path "C:/Users/xxx/.QMapShack" > 2016-04-06 13:21:18.418 [debug] "USER DATA" path > "C:/Users/xxx/.config/QLandkarte/WaypointIcons" > 2016-04-06 13:21:18.419 [debug] "LOG" path > "C:/Users/xxx/AppData/Local/Temp" > 2016-04-06 13:21:18.445 [debug] Application ID: 7858 > > > > Thanks for your support, > > > > zero > > > > > > > > Le 06.04.2016 08:19, Oliver Eichler a écrit : > >> Hi, >> >> on shutdown the destructores of all child classes of the main widget >> are called. And they call the dtors of their children and so on. Usually >> this shouldn't be a problem. But maybe the log file gives a hint. Have a >> look at the -f option on the commandline: >> >> https://bitbucket.org/maproom/qmapshack/wiki/DocCmdOptions >> >> HTH >> >> Oliver >> >> Am 05.04.2016 um 22:26 schrieb Helmut Schmidt: >>> Hi zero, >>> >>> I made 5 tests and the QMS always disappeared latest 1sec after the >>> window disappeared. Of course this is not a useful statistics. >>> >>> I do not yet understand from your report whether QMS just takes long >>> time (say 5 seconds or 30 seconds or 1 minute) until it really >>> terminates after closing the main window. Or whether it hangs >>> infinitely. >>> Do you know whether the hangs would also happen when the .db file is in >>> an ordinary directory on your hard disk which is not synchronized? >>> Which >>> means: could it be some kind of deadlock in between QMS and teh >>> synchronization service? >>> >>> @Oliver: can you tell what kind of cleanup actions happen after the >>> window disappears? Would it be possible to execute those actions before >>> closing the window? >>> >>> Regards, >>> >>> Helmut >>> >>> Am 05.04.2016 um 13:12 schrieb z...@cms123.fr: <mailto:z...@cms123.fr:> >>>> Hello, >>>> >>>> As long as I remember, I always noticed that "quite often" (1 every 5 >>>> times maybe) when closing QMS, main window disappears as expected but >>>> CTRL+ALT+SUPPR-> task manager reveals that "qmapshack.exe" is still >>>> running in background. >>>> >>>> My main issue is that this causes synchronization issues with my .db >>>> file stored on a Box account. >>>> >>>> When I close QMS (but that in fact QMS still runs is background), the >>>> .db file remains unchanged and Box does not synchronize it. At this >>>> point I have to go to Windows task manager to kill qmapshack.exe. Then >>>> Box uploads the .db file to the cloud as expected. >>>> >>>> Maybe you have some ideas how to really close QMS, not leaving a >>>> running >>>> instance in background. >>>> >>>> Thanks for your help, >>>> >>>> zero >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> >>>> >>>> >>>> _______________________________________________ >>>> Qlandkartegt-users mailing list >>>> Qlandkartegt-users@lists.sourceforge.net >>>> <mailto:Qlandkartegt-users@lists.sourceforge.net> >>>> https://lists.sourceforge.net/lists/listinfo/qlandkartegt-users >>>> >>> ------------------------------------------------------------------------------ >>> _______________________________________________ >>> Qlandkartegt-users mailing list >>> Qlandkartegt-users@lists.sourceforge.net >>> <mailto:Qlandkartegt-users@lists.sourceforge.net> >>> https://lists.sourceforge.net/lists/listinfo/qlandkartegt-users >> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Qlandkartegt-users mailing list >> Qlandkartegt-users@lists.sourceforge.net >> <mailto:Qlandkartegt-users@lists.sourceforge.net> >> https://lists.sourceforge.net/lists/listinfo/qlandkartegt-users > > > > > > > ------------------------------------------------------------------------------ > > > _______________________________________________ > Qlandkartegt-users mailing list > Qlandkartegt-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/qlandkartegt-users ------------------------------------------------------------------------------ _______________________________________________ Qlandkartegt-users mailing list Qlandkartegt-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/qlandkartegt-users