Concerning the freeze of OpenCPN when GPS mode is activated, I've done some tests.
It seems that when I use the GPS simulator it will keep working, for this I use a separate connection in OpenCPN.
When using real GPS data from the default Signalk on 10110, when activating a route, OpenCPN freezes.
The difference between the connections is the majority of GPS data. The real GPS data contains more, whereas the simulated data contains just a few basic sentences. I can't narrow down which sentences they are, but maybe I can solve it by filtering some GPS sentences, but, I am totally unsure on which ones as they are quite many.
Code:
<GREEN>11:57:16 (TCP:192.168.1.127:10110) $GPGSV,4,3,14,07,14,297,15,26,12,173,11,15,11,035,36,30,10,326,21*72<0x0D><0x0A>
<GREEN>11:57:17 (TCP:192.168.1.127:10110) $GPGSV,4,4,14,44,08,114,,13,04,007,35*77<0x0D><0x0A>
<GREEN>11:57:17 (TCP:192.168.1.127:10110) $GPGLL,5238.2032,N,00501.8298,E,095717.000,A,A*54<0x0D><0x0A>
<GREEN>11:57:17 (TCP:192.168.1.127:10110) $GPTXT,01,01,02,ANTSTATUS=OK*3B<0x0D><0x0A>
<GREEN>11:57:17 (TCP:192.168.1.127:10110) $GPRMC,095718.000,A,5238.2032,N,00501.8298,E,0.00,197.90,110820,,,A*60<0x0D><0x0A>
<GREEN>11:57:17 (TCP:192.168.1.127:10110) $GPVTG,197.90,T,,M,0.00,N,0.00,K,A*3B<0x0D><0x0A>
<GREEN>11:57:17 (TCP:192.168.1.127:10110) $GPGGA,095718.000,5238.2032,N,00501.8298,E,1,7,1.42,-4.1,M,46.9,M,,*7D<0x0D><0x0A>
<GREEN>11:57:17 (TCP:192.168.1.127:10110) $GPGSA,A,3,15,20,27,18,08,30,10,,,,,,1.70,1.42,0.94*0E<0x0D><0x0A>
<GREEN>11:57:17 (TCP:192.168.1.127:10110) $GPGSV,4,1,14,27,89,254,23,21,87,091,18,10,55,126,15,08,52,293,22*75<0x0D><0x0A>
<GREEN>11:57:17 (TCP:192.168.1.127:10110) $GPGSV,4,2,14,20,46,070,29,16,45,192,27,11,23,267,22,18,17,066,28*78<0x0D><0x0A>
<GREEN>11:57:17 (TCP:192.168.1.127:10110) $GPGSV,4,3,14,07,14,297,15,26,12,173,11,15,11,035,36,30,10,326,21*72<0x0D><0x0A>
<GREEN>11:57:18 (TCP:192.168.1.127:10110) $GPGSV,4,4,14,44,08,114,,13,04,007,35*77<0x0D><0x0A>
<GREEN>11:57:18 (TCP:192.168.1.127:10110) $GPGLL,5238.2032,N,00501.8298,E,095718.000,A,A*5B<0x0D><0x0A>
<GREEN>11:57:18 (TCP:192.168.1.127:10110) $GPTXT,01,01,02,ANTSTATUS=OK*3B<0x0D><0x0A>
<GREEN>11:57:18 (TCP:192.168.1.127:10110) $GPRMC,095719.000,A,5238.2032,N,00501.8298,E,0.00,197.90,110820,,,A*61<0x0D><0x0A>
<GREEN>11:57:18 (TCP:192.168.1.127:10110) $GPVTG,197.90,T,,M,0.00,N,0.00,K,A*3B<0x0D><0x0A>
<GREEN>11:57:18 (TCP:192.168.1.127:10110) $GPGGA,095719.000,5238.2032,N,00501.8298,E,1,6,1.82,-4.1,M,46.9,M,,*71<0x0D><0x0A>
<GREEN>11:57:18 (TCP:192.168.1.127:10110) $GPGSA,A,3,15,20,27,18,08,30,,,,,,,2.07,1.82,0.98*0C<0x0D><0x0A>
<GREEN>11:57:18 (TCP:192.168.1.127:10110) $GPGSV,4,1,14,27,89,254,24,21,87,091,18,10,55,126,15,08,52,293,23*73<0x0D><0x0A>
<GREEN>11:57:18 (TCP:192.168.1.127:10110) $GPGSV,4,2,14,20,46,070,29,16,45,192,27,37,27,159,,11,23,267,22*71<0x0D><0x0A>
<GREEN>11:57:18 (TCP:192.168.1.127:10110) $GPGSV,4,3,14,18,17,066,28,07,14,297,15,26,12,173,12,15,11,035,36*72<0x0D><0x0A>
<GREEN>11:57:19 (TCP:192.168.1.127:10110) $GPGSV,4,4,14,30,10,326,21,13,04,007,34*7C<0x0D><0x0A>
<GREEN>11:57:19 (TCP:192.168.1.127:10110) $GPGLL,5238.2032,N,00501.8298,E,095719.000,A,A*5A<0x0D><0x0A>
<GREEN>11:57:19 (TCP:192.168.1.127:10110) $GPTXT,01,01,02,ANTSTATUS=OK*3B<0x0D><0x0A>
<GREEN>11:57:19 (TCP:192.168.1.127:10110) $GPRMC,095720.000,A,5238.2032,N,00501.8298,E,0.00,197.90,110820,,,A*6B<0x0D><0x0A>
<GREEN>11:57:19 (TCP:192.168.1.127:10110) $GPVTG,197.90,T,,M,0.00,N,0.00,K,A*3B<0x0D><0x0A>
<GREEN>11:57:19 (TCP:192.168.1.127:10110) $GPGGA,095720.000,5238.2032,N,00501.8298,E,1,7,1.42,-4.1,M,46.9,M,,*76<0x0D><0x0A>
<GREEN>11:57:19 (TCP:192.168.1.127:10110) $GPGSA,A,3,15,20,27,18,08,30,10,,,,,,1.70,1.42,0.94*0E<0x0D><0x0A>
<GREEN>11:57:19 (TCP:192.168.1.127:10110) $GPGSV,4,1,14,27,89,254,24,21,87,091,18,10,55,126,19,08,52,293,23*7F<0x0D><0x0A>
<GREEN>11:57:19 (TCP:192.168.1.127:10110) $GPGSV,4,2,14,20,46,070,29,16,45,192,27,37,27,159,,11,23,267,23*70<0x0D><0x0A>
<GREEN>11:57:19 (TCP:192.168.1.127:10110) $GPGSV,4,3,14,18,17,066,28,07,14,297,15,26,12,173,12,15,11,035,36*72<0x0D><0x0A>
<GREEN>11:57:20 (TCP:192.168.1.127:10110) $GPGSV,4,4,14,30,10,326,21,13,04,007,34*7C<0x0D><0x0A>
<GREEN>11:57:20 (TCP:192.168.1.127:10110) $GPGLL,5238.2032,N,00501.8298,E,095720.000,A,A*50<0x0D><0x0A>
<GREEN>11:57:20 (TCP:192.168.1.127:10110) $GPTXT,01,01,02,ANTSTATUS=OK*3B<0x0D><0x0A>
<GREEN>11:57:20 (TCP:192.168.1.127:10110) $GPRMC,095721.000,A,5238.2032,N,00501.8298,E,0.00,197.90,110820,,,A*6A<0x0D><0x0A>
Code:
<GREEN>11:59:50 (TCP:192.168.1.127:10110) $APXDR,A,0.813,D,ROLL*63<0x0D><0x0A>
<GREEN>11:59:50 (TCP:192.168.1.127:10110) $APHDM,30.604,M*02<0x0D><0x0A>
<GREEN>11:59:51 (TCP:192.168.1.127:10110) $APXDR,A,1.249,D,PTCH*75<0x0D><0x0A>
<GREEN>11:59:51 (TCP:192.168.1.127:10110) $APXDR,A,0.814,D,ROLL*64<0x0D><0x0A>
<GREEN>11:59:51 (TCP:192.168.1.127:10110) $APHDM,30.621,M*05<0x0D><0x0A>
<GREEN>11:59:51 (TCP:192.168.1.127:10110) $APXDR,A,1.253,D,PTCH*7E<0x0D><0x0A>
<GREEN>11:59:51 (TCP:192.168.1.127:10110) $APXDR,A,0.804,D,ROLL*65<0x0D><0x0A>
<GREEN>11:59:51 (TCP:192.168.1.127:10110) $APHDM,30.664,M*04<0x0D><0x0A>
<GREEN>11:59:52 (TCP:192.168.1.127:10110) $APXDR,A,1.233,D,PTCH*78<0x0D><0x0A>
<GREEN>11:59:52 (TCP:192.168.1.127:10110) $APXDR,A,0.796,D,ROLL*61<0x0D><0x0A>
<GREEN>11:59:52 (TCP:192.168.1.127:10110) $APHDM,30.725,M*00<0x0D><0x0A>
<GREEN>11:59:52 (TCP:192.168.1.127:10110) $APXDR,A,1.245,D,PTCH*79<0x0D><0x0A>
<GREEN>11:59:52 (TCP:192.168.1.127:10110) $APXDR,A,0.821,D,ROLL*62<0x0D><0x0A>
<GREEN>11:59:52 (TCP:192.168.1.127:10110) $APHDM,30.791,M*0F<0x0D><0x0A>
<GREEN>11:59:53 (TCP:192.168.1.127:10110) $APXDR,A,1.221,D,PTCH*7B<0x0D><0x0A>
<GREEN>11:59:53 (TCP:192.168.1.127:10110) $APXDR,A,0.814,D,ROLL*64<0x0D><0x0A>
<GREEN>11:59:53 (TCP:192.168.1.127:10110) $APHDM,30.831,M*0A<0x0D><0x0A>
<GREEN>11:59:53 (TCP:192.168.1.127:10110) $APXDR,A,1.215,D,PTCH*7C<0x0D><0x0A>
<GREEN>11:59:53 (TCP:192.168.1.127:10110) $APXDR,A,0.841,D,ROLL*64<0x0D><0x0A>
<GREEN>11:59:53 (TCP:192.168.1.127:10110) $APHDM,30.853,M*0E<0x0D><0x0A>
<GREEN>11:59:54 (TCP:192.168.1.127:10110) $APXDR,A,1.201,D,PTCH*79<0x0D><0x0A>
<GREEN>11:59:54 (TCP:192.168.1.127:10110) $APXDR,A,0.821,D,ROLL*62<0x0D><0x0A>
<GREEN>11:59:54 (TCP:192.168.1.127:10110) $APHDM,30.875,M*0A<0x0D><0x0A>
<GREEN>11:59:54 (TCP:192.168.1.127:10110) $APXDR,A,1.223,D,PTCH*79<0x0D><0x0A>
<GREEN>11:59:54 (TCP:192.168.1.127:10110) $APXDR,A,0.829,D,ROLL*6A<0x0D><0x0A>
<GREEN>11:59:54 (TCP:192.168.1.127:10110) $APHDM,30.869,M*07<0x0D><0x0A>
<GREEN>11:59:55 (TCP:192.168.1.127:10110) $APXDR,A,1.235,D,PTCH*7E<0x0D><0x0A>
<GREEN>11:59:55 (TCP:192.168.1.127:10110) $APXDR,A,0.856,D,ROLL*62<0x0D><0x0A>
<GREEN>11:59:55 (TCP:192.168.1.127:10110) $APHDM,30.839,M*02<0x0D><0x0A>
<GREEN>11:59:55 (TCP:192.168.1.127:10110) $APXDR,A,1.209,D,PTCH*71<0x0D><0x0A>
<GREEN>11:59:55 (TCP:192.168.1.127:10110) $APXDR,A,0.870,D,ROLL*66<0x0D><0x0A>
<GREEN>11:59:55 (TCP:192.168.1.127:10110) $APHDM,30.811,M*08<0x0D><0x0A>
<GREEN>11:59:56 (TCP:192.168.1.127:10110) $APXDR,A,1.226,D,PTCH*7C<0x0D><0x0A>
<GREEN>11:59:56 (TCP:192.168.1.127:10110) $APXDR,A,0.866,D,ROLL*61<0x0D><0x0A>
<GREEN>11:59:56 (TCP:192.168.1.127:10110) $APHDM,30.761,M*00<0x0D><0x0A>
It is hard to say which ones give the problem.