So it has nothing to do with slotSaveWorkspace() :( If you compile QMS as debug version and start it with VisualStudio, can you reproduce the error? If you can, you can pause it and send the callstack (backtrace). This is a list of the last methods called. Maybe that can give us a hint about where it blocks.
Am 06.04.2016 um 21:20 schrieb zero: > Thanks for your support. > > I added the debug lines and here is what I get : > > When OK : > 016-04-06 21:11:09.149 [debug] bufferScale QPointF(0.5,-0.5) > 2016-04-06 21:11:09.149 [debug] bufferScale QPointF(0.5,-0.5) > 2016-04-06 21:11:09.149 [debug] bufferScale QPointF(0.5,-0.5) > 2016-04-06 21:11:09.165 [debug] DEM> tiles: 0.0859375 > 2016-04-06 21:11:09.227 [debug] bufferScale QPointF(0.5,-0.5) > 2016-04-06 21:11:09.227 [debug] stop thread "dem" after 343 ms > 2016-04-06 21:11:09.290 [debug] stop thread "gis" after 391 ms > 2016-04-06 21:11:09.540 [debug] stop thread "map" after 672 ms > 2016-04-06 21:11:11.006 [debug] slotSaveWorkspace() before lock > 2016-04-06 21:11:11.006 [debug] slotSaveWorkspace() after lock > 2016-04-06 21:11:11.006 [debug] slotSaveWorkspace() > 2016-04-06 21:11:11.051 [debug] close database "myDynaDB" > 2016-04-06 21:11:11.051 [debug] close database "myStaticDB" > 2016-04-06 21:11:31.443 [debug] Log configuration: log file= > "C:/Users/xxx/AppData/Local/Temp/org.qlandkarte.QMapShack.log" write to > file= true debug output= false > > When not OK : > 6-04-06 21:13:32.987 [debug] start thread "gis" > 2016-04-06 21:13:32.987 [debug] bufferScale QPointF(0.7,-0.7) > 2016-04-06 21:13:32.987 [debug] stop thread "gis" after 0 ms > 2016-04-06 21:13:33.971 [debug] start thread "gis" > 2016-04-06 21:13:33.971 [debug] bufferScale QPointF(0.7,-0.7) > 2016-04-06 21:13:34.237 [debug] stop thread "gis" after 266 ms > 2016-04-06 21:13:35.721 [debug] start thread "gis" > 2016-04-06 21:13:35.737 [debug] bufferScale QPointF(0.7,-0.7) > 2016-04-06 21:13:35.737 [debug] stop thread "gis" after 16 ms > 2016-04-06 21:16:27.383 [debug] Log configuration: log file= > "C:/Users/xxx/AppData/Local/Temp/org.qlandkarte.QMapShack.log" write to > file= true debug output= false > > Then no message appears. > > bye > > zero > > Le 06/04/2016 15:54, Oliver Eichler a écrit : >> 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 > > --- > L'absence de virus dans ce courrier électronique a été vérifiée par le > logiciel antivirus Avast. > https://www.avast.com/antivirus > > > ------------------------------------------------------------------------------ > _______________________________________________ > 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