problem manifests itself when using an attached display; zoom in anywhere and all is OK, but zoom out then in again and you usually have a crash.
Interestingly there isn't a problem using X over ssh (XMing on a PC)
.. a data alignment gotcha in s52plib?
backtrace follows:
(gdb) run
Starting program: /usr/local/bin/opencpn
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
[New Thread 0x464712a0 (LWP 7630)]
[Thread 0x464712a0 (LWP 7630) exited]
[New Thread 0x464712a0 (LWP 7631)]
[Thread 0x464712a0 (LWP 7631) exited]
[New Thread 0x464712a0 (LWP 7635)]
[Thread 0x464712a0 (LWP 7635) exited]
Program received signal SIGSEGV, Segmentation fault.
0x40c2f144 in cairo_save () from /usr/lib/arm-linux-gnueabihf/libcairo.so.2
(gdb) bt
#0 0x40c2f144 in cairo_save () from /usr/lib/arm-linux-gnueabihf/libcairo.so.2
#1 0x40397350 in wxCairoContext::wxCairoContext(wxGraphicsRenderer* , wxWindowDC const&) ()
from /usr/lib/arm-linux-gnueabihf/libwx_gtk2u_core-2.8.so.0
#2 0x40397398 in wxCairoRenderer::CreateContext(wxWindowDC const&) () from /usr/lib/arm-linux-gnueabihf/libwx_gtk2u_core-2.8.so.0
#3 0x40326a2c in wxGCDC::wxGCDC(wxWindowDC const&) () from /usr/lib/arm-linux-gnueabihf/libwx_gtk2u_core-2.8.so.0
#4 0x002cc834 in s52plib::RenderHPGL(_ObjRazRules*, _Rule*, wxPoint&, ViewPort*, float) ()
#5 0x002ce218 in s52plib::RenderSY(_ObjRazRules*, _Rules*, ViewPort*) ()
#6 0x002d34cc in s52plib:
oRenderObject(wxDC*, _ObjRazRules*, ViewPort*) ()
#7 0x002d3260 in s52plib::RenderObjectToDC(wxDC*, _ObjRazRules*, ViewPort*) ()
#8 0x002ec0d8 in s57chart:
CRenderLPB(wxMemoryDC&, ViewPort const&, wxRect*) ()
#9 0x002ebf20 in s57chart:
CRenderRect(wxMemoryDC&, ViewPort const&, wxRect*) ()
#10 0x002eb88c in s57chart:
oRenderViewOnDC(wxMemoryDC&, ViewPort const&, RenderTypeEnum, bool) ()
#11 0x002ea544 in s57chart:
oRenderRegionViewOnDC(wxMemoryDC&, ViewPort const&, wxRegion const&, bool) ()
#12 0x002ea39c in s57chart::RenderRegionViewOnDC(wxMemoryDC&, ViewPort const&, wxRegion const&) ()
#13 0x00315f38 in cm93compchart:
oRenderRegionViewOnDC(wxMemoryDC&, ViewPort const&, wxRegion const&) ()
#14 0x003155c4 in cm93compchart::RenderRegionViewOnDC(wxMemoryDC&, ViewPort const&, wxRegion const&) ()
#15 0x0013fa54 in Quilt::RenderQuiltRegionViewOnDC(wxMemoryDC&, ViewPort&, wxRegion&) ()
#16 0x0016749c in ChartCanvas::OnPaint(wxPaintEvent&) ()
#17 0x4008f314 in wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const ()
from /usr/lib/arm-linux-gnueabihf/libwx_baseu-2.8.so.0
#18 0x40109954 in wxEvtHandler::ProcessEventIfMatches(wxEventTableEn tryBase const&, wxEvtHandler*, wxEvent&) ()
from /usr/lib/arm-linux-gnueabihf/libwx_baseu-2.8.so.0
#19 0x40109ab4 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /usr/lib/arm-linux-gnueabihf/libwx_baseu-2.8.so.0
#20 0x40109e70 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/arm-linux-gnueabihf/libwx_baseu-2.8.so.0
#21 0x402b4adc in wxWindow::GtkSendPaintEvents() () from /usr/lib/arm-linux-gnueabihf/libwx_gtk2u_core-2.8.so.0
#22 0x402b4f5c in ?? () from /usr/lib/arm-linux-gnueabihf/libwx_gtk2u_core-2.8.so.0
(gdb)