gpsd-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gpsmon segmentation fault


From: SZIGETVÁRI János
Subject: Re: gpsmon segmentation fault
Date: Sat, 11 Apr 2020 13:24:55 +0200

Hi Gary, Paul,

In the meantime I rebuilt gpsd using the latest available sources from git.
That crashed at the very same place than before. This got me thinking what I could do move forward.
In the end I decided to rebuild the OS' ncurses packages with -g3 and -fno-omit-frame-pointer and -funwind-tables .
That was successful, and after install, although gpsmon still crashed, but I got the following backtrace:

tc://localhost:2947           JSON slave driver>
(111) {"class":"VERSION","release":"3.20.1~dev","rev":"release-3.20-433-ge897c3f63","proto_major":3,"proto_minor":14}
(256) {"class":"DEVICES","devices":[{"class":"DEVICE","path":"/dev/ttyAMA0","driver":"u-blox","subtype":"SW 7.03 (45969),HW 00040007","activated":"2020-04-11T11:12:13.230Z","flags":1,"native":1,"bps":9600,"parity":"N","stopbits":1,"cycle
":1.00,"mincycle":0.25}]}
(122) {"class":"WATCH","enable":true,"json":false,"nmea":false,"raw":2,"scaled":false,"timing":false,"split24":false,"pps":true}

Program received signal SIGSEGV, Segmentation fault.
                                                    0x76e5e1e0 in _nc_waddch_nosync () from /lib/libncurses.so.6
(gdb) bt full
#0  0x76e5e1e0 in _nc_waddch_nosync () from /lib/libncurses.so.6
No symbol table info available.
#1  0x76e5f3b4 in waddnstr () from /lib/libncurses.so.6
No symbol table info available.
#2  0x76e696e0 in mvwprintw () from /lib/libncurses.so.6
No symbol table info available.
#3  0x0002367c in ubx_initialize () at monitor_ubx.c:34
        i = 0
#4  0x00014c5c in switch_type (devtype=0xcc1f8 <driver_ubx>) at gpsmon.c:524
        leftover = 0
        trial = 0xed30c <monitor_objects+36>
        newobject = 0xed30c <monitor_objects+36>
#5  0x00014eb8 in select_packet_monitor (device=0xf4008 <session>) at gpsmon.c:570
        active_type = 0xcc1f8 <driver_ubx>
        last_type = 19
#6  0x00015938 in gpsmon_hook (device=0xf4008 <session>, changed=19494547352520246) at gpsmon.c:809
        buf = "\214\000\006\000\000\000\000\000\000\000\000\000h\360\377~\003\000\000\000\020\357\377~\350\357\377~le\":true,\"json\":false,\"nmea\":false,\"raw\":2,\"scaled\":false,\"timing\":false,\"split24\":false,\"pps\":true}\n\000\060\067\",\"activated\":\"2020-04-11T11:12:13.230Z\",\"flags\":1,\"native\":1,\"bps\":"...
        ts_buf1 = "\b\000\000\000\240%\f\000\000\000\000\000\070\060\001\000\000\000\000\000\000"
        ts_buf2 = "\340\210\311v\324\316\377~\240%\f\000\000\000\000\000\070\060\001\000\000"
        __PRETTY_FUNCTION__ = "gpsmon_hook"
#7  0x00061b7c in gpsd_multipoll (data_ready=true, device=0xf4008 <session>, handler=0x154e8 <gpsmon_hook>, reawake_time=0) at libgpsd_core.c:1844
        changed = 19494547352520246
        fragments = 1
#8  0x00017844 in main (argc=1, argv=0x7efff264) at gpsmon.c:1398
        efds = {fds_bits = {0 <repeats 32 times>}}
        option = -1
        explanation = 0x0
        bailout = 0
        matches = 0
        nmea = false
        all_fds = {fds_bits = {9, 0 <repeats 31 times>}}
        rfds = {fds_bits = {8, 0 <repeats 31 times>}}
        maxfd = 3
        inbuf = "x\365\377v\300\207\311vH\246\377v\000\000\000\000\000\360\377~0y\377v \304\374v\205\317c\t\003\000\000\000x\365\377vj\252\337v0y\377v(\360\377~\220\302\374v\020n\375v\001\000\000\000 \304\374v\026\000\000\000\360\304\374vx\365\377v"
        nocurses = false
        activated = 3

Hopefully this will be more useful than before.

Best Regards,
János
--
Janos SZIGETVARI
RHCE, License no. 150-053-692

LinkedIn: linkedin.com/in/janosszigetvari

__@__˚V˚
Make the switch to open (source) applications, protocols, formats now:
- windows -> Linux, iexplore -> Firefox, msoffice -> LibreOffice
- msn -> jabber protocol (Pidgin, Google Talk)
- mp3 -> ogg, wmv -> ogg, jpg -> png, doc/xls/ppt -> odt/ods/odp


Gary E. Miller <address@hidden> ezt írta (időpont: 2020. ápr. 9., Cs, 22:52):
Yo SZIGETVÁRI!

On Thu, 9 Apr 2020 22:43:24 +0200
SZIGETVÁRI János <address@hidden> wrote:

> I'm using the source code of the 3.20 release, so that's to be
> expected.

Why not git head?  Any fix will only be in git head.

> > Or, maybe a threading issue.  To test the thread hypothesis, comment
> > out this line in gpsmon.c, rebuild and test:
> >
> >             pps_thread_activate(&session.pps_thread);
> > 
>
> Okay, I did exactly what you asked, however gpsmon still crashes at
> the same place:

Thanks.  So prolly not a threading thing.

Which leaves me back at a bad ncurses.

This happens really early in the initialization.  Almost all boilerplate
to that point.  I don't see where the code could be wrong before the
fail point...

RGDS
GARY
---------------------------------------------------------------------------
Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97703
        address@hidden  Tel:+1 541 382 8588

            Veritas liberabit vos. -- Quid est veritas?
    "If you can't measure it, you can't improve it." - Lord Kelvin

reply via email to

[Prev in Thread] Current Thread [Next in Thread]