gpsmon crashes (segfault)

Bug #2076191 reported by Mario Lorenz
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gpsd (Ubuntu)
Fix Released
High
Christian Ehrhardt
Noble
Fix Released
Undecided
Unassigned
Oracular
Fix Released
Undecided
Unassigned

Bug Description

[ Impact ]

 * There are two bugs in gpsd that break gpsmon on noble. On one hand a re-use
    of freed resources and on the other a compile issue with fortify source.
    One leads to a crash, the other to an assertion.

 * Upstream has fixes for these which we are backporting here.

 * I can't be sure if all are affected but 2/2 test objects
   one SiRF and u-blox trigger it

[ Test Plan ]

 * Disclaimer: needs a system with a gps device (and that might be limited
   to some kinds of them)

 * # 1a - start gpsd either directly like e.g.:
   $ /usr/sbin/gpsd -D5 -N -b -n -p -s 9600 /dev/loraGPS
   # 1b - start the service that comes with the package
   # configure your devices, in my case two via usb
   $ sudo vim /etc/default/gpsd
     DEVICES="/dev/ttyUSB0 /dev/ttyUSB1"
   # With that start the service and check it runs
   $ sudo systemctl restart gpsd
   $ sudo systemctl status gpsd

   # Then as step 2 start gpsmon to monitor local gps'es
   $ gpsmon

 * In the bad case this runs into a buffer overflow detect and crash
   looks like that after a few seconds:

$ gpsmon
tcp://localhost:2947 JSON slave driver>
(82) {"class":"VERSION","release":"3.25","rev":"3.25","proto_major":3,"proto_minor":15}
(313) {"class":"DEVICES","devices":[{"class":"DEVICE","path":"/dev/ttyUSB0","activated":"2024-12-04T13:01:52.547Z","native":0,"bps":9600,"parity":"N","stopbits":1,"cycle":1.00},{"class":"DEVI
CE","path":"/dev/ttyUSB1","activated":"2024-12-04T13:01:53.473Z","native":0,"bps":9600,"parity":"N","stopbits":1,"cycle":1.00}]}
(122) {"class":"WATCH","enable":true,"json":false,"nmea":false,"raw":2,"scaled":false,"timing":false,"split24":false,"pps":true}
Segmentation fault (core dumped)

 * Good case should display whatever the gps receives so far.

   I realized posting that example might show my position quite accurately, so I skip that :-) Just the header ...

tcp://localhost:2947 SiRF>
┌─────────── X ────── Y ────── Z ────────── North ──── East ───── Alt ─────────┐or":15}
...

[ Where problems could occur ]

 * I needed to backport some more context changes, tried to keep
   them style only, but mistakes could happen.
   But on the other hand the impact is gladly limited,
   changes are isolated to gpsmon/monitor_nmea0183.c
   and a minimal one in gpsmon/gpsmon.c
   Therefore breakage should be
    a) only in gpsmon and not gpsd
    b) almost only for NMEA type devices

[ Other Info ]

 * n/a

--- original bug ---

Ubuntu 24.04 LTS

ii gpsd-tools 3.25-3ubuntu3 amd64 Global Positioning System - tools

Calling the gpsmon utility from this package, it should show the current GPS status
of the connected GPS (LEA 6M). Instead it segfaults and is therefore unusable.

Tracing this, the problem is a double delwin(), ie. double-free of devicewin, in lines 517 and 521 of gpsmon.c

Apparently this bug has been fixed upstream in
https://gitlab.com/gpsd/gpsd/-/commit/bc840b0d3ba65d3d8fe2b7faeadd5af5ed2b5e60

I have tested this patch indeed solves the problem, at least in my case.

Regards,
Mario

Related branches

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Thank you for taking the time to report a bug and improve Ubuntu.

It is good to know that you can reproduce this problem locally and have also checked that the upstream patch seems to fix it. If I understand correctly, it's not possible to trigger the issue without having specific GPS hardware, right? If that's the case, then we will need your help to test the fix when doing the SRU. Otherwise, would you be able to provide a simple reproducer that doesn't depend on GPS hardware?

Thanks.

Changed in gpsd (Ubuntu):
status: New → Incomplete
Revision history for this message
Mario Lorenz (dl5mlo) wrote :

Since this is the only GPS hardware I have here at the moment, I can not know if it only affects my hardware.
I had gdb'd the issue down and it was obvious enough. I then found that it has been already been fixed in upstream gpsd gitlab -master.

I only assume that this is triggered only under certain, possibly rare, circumstances, otherwise upstream would probably have cut a new release with this fix, or at least Boian Bonev, who commited the fix and who seems to be maintaining the Debian package would have updated the Debian package, but this does not seem to be the case.

As to reproducing the issue, without a gps, I have tried running gpsmon with the GPS receiver turned off, but then gpsmon just waits. It will crash as soon as I turn the unit on again and data is flowing.

I'll gladly help in any way I can. For starters, I have a different GPS model on order, and will report when it arrives and how it behaves there.

Revision history for this message
Paride Legovini (paride) wrote :

Hello, as long as you are willing to help with verifying the fix once it lands in the Ubuntu -proposed pockets, I think we can work on delivering a fix.

73 de Paride IZ3SUS

Changed in gpsd (Ubuntu):
status: Incomplete → Triaged
tags: added: server-todo
tags: added: bitesize
Revision history for this message
Mitchell Dzurick (mitchdz) wrote (last edit ):

Hi, I've kicked off a build in my PPA here[0].

Mario, feel free to test the package in my PPA once it finishes building (should hopefully take about 4-5 hours from the time I'm making this comment.

This is different from the -proposed pocket validation, I'm just making sure it builds in LP :)

[0] - https://launchpad.net/~mitchdz/+archive/ubuntu/gpsd-avoid-double-delwin

Revision history for this message
Mario Lorenz (dl5mlo) wrote : Re: [Bug 2076191] Re: gpsmon crashes (segfault)

Hi Mitchell,

I have installed the PPA and it seems to solve the issue, no segfault
anymore.

I however do now see an assertion failure if I turn off the GPS and then
turn it on again. I'll see if I can investigate this over the weekend to
find out if this is related or a different issue. I'll keep you posted.

Best regards,

Mario,
DL5MLO

Am 08. Aug 2024, um 17:25:36 schrieb Mitchell Dzurick:
> Hi, I've kicked off a build in my PPA here[0].
>
> Mario, feel free to test the package in my PPA once it finishes building
> (should hopefully take about 4-5 hours from the time I'm making this
> comment.
>
> This is different from the -proposed pocket validation, I'm just making
> sure it builds in LP :)
>
> [0] - https://launchpad.net/~mitchdz/+archive/ubuntu/gpsd-avoid-double-
> delwin
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/2076191
>
> Title:
> gpsmon crashes (segfault)
>
> Status in gpsd package in Ubuntu:
> Triaged
>
> Bug description:
> Ubuntu 24.04 LTS
>
> ii gpsd-tools 3.25-3ubuntu3 amd64 Global Positioning
> System - tools
>
> Calling the gpsmon utility from this package, it should show the current GPS status
> of the connected GPS (LEA 6M). Instead it segfaults and is therefore unusable.
>
> Tracing this, the problem is a double delwin(), ie. double-free of
> devicewin, in lines 517 and 521 of gpsmon.c
>
> Apparently this bug has been fixed upstream in
> https://gitlab.com/gpsd/gpsd/-/commit/bc840b0d3ba65d3d8fe2b7faeadd5af5ed2b5e60
>
> I have tested this patch indeed solves the problem, at least in my
> case.
>
> Regards,
> Mario
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/gpsd/+bug/2076191/+subscriptions
>

Revision history for this message
Mitchell Dzurick (mitchdz) wrote :

Interesting. Glad to see the segfault is resolved, but that's not friendly with the assertion failure. Please keep us posted!

Revision history for this message
Bryce Harrington (bryce) wrote (last edit ):

Mario, can you provide a log showing the assertion failure?

Given the patch is not yet provided in an upstream release, it may be worth discussing the issue with upstream, to ensure the resulting patch is one that'll be safe to ship.

tags: removed: bitesize
Changed in gpsd (Ubuntu):
status: Triaged → Incomplete
tags: removed: server-todo
Revision history for this message
Mario Lorenz (dl5mlo) wrote :

Hello Bryce,

That is why I mentioned it. Problem is just I am on a business trip and
will not be home until sunday, so no logs until then.
The bright side is that according to
shipping status notifications another (different) GPS module has arrived
at home. So early next week I will hopefully have tested the other unit
tested and be in a position to discuss (if needed with upstream) what
needs to be done. I will also want to manually build latest -git to
verify that maybe this issue has been fixed by upstream in the meantime.

Best regards,
Mario

Am 14. Aug 2024, um 15:22:30 schrieb Bryce Harrington:
> Mario, can you provide a log showing the assertion failure?
>
> Given the patch is not yet provided in an upstream release, it may be
> worth discussing the issue with upstream, to ensure the resulting patch
> is one that'll be safe to ship.
>
> ** Tags removed: bitesize
>
> ** Changed in: gpsd (Ubuntu)
> Status: Triaged => Incomplete
>
> ** Tags removed: server-todo
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/2076191
>
> Title:
> gpsmon crashes (segfault)
>
> Status in gpsd package in Ubuntu:
> Incomplete
>
> Bug description:
> Ubuntu 24.04 LTS
>
> ii gpsd-tools 3.25-3ubuntu3 amd64 Global Positioning
> System - tools
>
> Calling the gpsmon utility from this package, it should show the current GPS status
> of the connected GPS (LEA 6M). Instead it segfaults and is therefore unusable.
>
> Tracing this, the problem is a double delwin(), ie. double-free of
> devicewin, in lines 517 and 521 of gpsmon.c
>
> Apparently this bug has been fixed upstream in
> https://gitlab.com/gpsd/gpsd/-/commit/bc840b0d3ba65d3d8fe2b7faeadd5af5ed2b5e60
>
> I have tested this patch indeed solves the problem, at least in my
> case.
>
> Regards,
> Mario
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/gpsd/+bug/2076191/+subscriptions
>
--
Mario Lorenz Internet: <email address hidden>

Revision history for this message
Mario Lorenz (dl5mlo) wrote :

Bryce,

I can report the following:

Am 14. Aug 2024, um 15:22:30 schrieb Bryce Harrington:
> Mario, can you provide a log showing the assertion failure?

It simply says:
gpsmon: assertion failure, probable I/O error

Or with gpsmon -D5 to provide some more details:

gpsmon:INFO: startup at 2024-08-22T21:44:50.000Z (1724363090)
gpsmon:PROG: CORE: gpsd_activate(tcp://localhost:2947, 1) fd -1
gpsmon:PROG: CORE: gpsd_open(tcp://localhost:2947) fd -1
gpsmon:PROG: CORE: opening TCP feed at localhost, port 2947.
gpsmon:PROG: CORE: TCP tcp://localhost:2947 IP opened on fd 3
gpsmon:PROG: CORE: activate fd 3 done
gpsmon: assertion failure, probable I/O error

gpsd-3.25-dev (GIT download, built myself) does not suffer from this
problem. I havent bisected it though.

-git seems to mostly work, there is only the oddity remaining that after
I powercycle the GPS, gpsd does not seem to completely recognize it
again and switchin the unit to UBX mode as it does when gpsd is started.
With NMEA the output in particular of cgps flickers between n/a and
correct data. I have not yet checked if this is merely cosmetic or if
does influence time synchronization via chronyd.

I can further report that the problem does not seem to change with GPS
units, at least I have now sample size = 2 with a NEO-M8N unit. It
behaves identically (crash with distributed package, crash is fixed with
mitchdz updated package, assertion error still happens, until I switch
to -git.

Best regards,
Mario

--
Mario Lorenz Internet: <email address hidden>

Revision history for this message
Mitchell Dzurick (mitchdz) wrote :

Great to hear back from you Mario.

I'd suggest opening an upstream bug for the reconnect issue.

Regarding the assertion error, I wasn't able to immediately pin down the commit that would fix that. Happen to have a commit you'd like me to try to add to the PPA?

Revision history for this message
Nico Maas (n.maas87) wrote :

Just found this bug report after installating gpsd on Ubuntu 24.04 LTS with current packages and can confirm gpsmon segfault is occuring as soon as you try to open it.
Any fix for that in route?
Thanks a lot!

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Let's deal with the problem we have a confirmed fix for.

@Nico, can you also confirm that the package from the ppa[1] fixes the issue for you?

1. https://launchpad.net/~mitchdz/+archive/ubuntu/gpsd-avoid-double-delwin

Changed in gpsd (Ubuntu):
status: Incomplete → Confirmed
importance: Undecided → High
status: Confirmed → Triaged
tags: added: server-todo
Revision history for this message
Nico Maas (n.maas87) wrote :

@Andreas I installed it and I can say that starting gpsmon now directly results in a crash and output "gpsmon: assertion failure, probable I/O error". I don't know, its an ARM64 system and it installed following packages:

Get:1 https://ppa.launchpadcontent.net/mitchdz/gpsd-avoid-double-delwin/ubuntu noble/main arm64 gpsd arm64 3.25-3ubuntu4~noble1 [454 kB]
Get:2 https://ppa.launchpadcontent.net/mitchdz/gpsd-avoid-double-delwin/ubuntu noble/main arm64 gpsd-tools arm64 3.25-3ubuntu4~noble1 [371 kB]
Get:3 https://ppa.launchpadcontent.net/mitchdz/gpsd-avoid-double-delwin/ubuntu noble/main arm64 gpsd-clients arm64 3.25-3ubuntu4~noble1 [537 kB]
Get:4 https://ppa.launchpadcontent.net/mitchdz/gpsd-avoid-double-delwin/ubuntu noble/main arm64 libgps30t64 arm64 3.25-3ubuntu4~noble1 [96.0 kB]
Get:5 https://ppa.launchpadcontent.net/mitchdz/gpsd-avoid-double-delwin/ubuntu noble/main arm64 python3-gps arm64 3.25-3ubuntu4~noble1 [161 kB]

 gpsmon -D5
gpsmon:INFO: startup at 2024-10-24T16:13:45.000Z (1729786425)
gpsmon:PROG: CORE: gpsd_activate(tcp://localhost:2947, 1) fd -1
gpsmon:PROG: CORE: gpsd_open(tcp://localhost:2947) fd -1
gpsmon:PROG: CORE: opening TCP feed at localhost, port 2947.
gpsmon:PROG: CORE: TCP tcp://localhost:2947 IP opened on fd 3
gpsmon:PROG: CORE: activate fd 3 done
gpsmon: assertion failure, probable I/O error

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Ok, so we advanced from a segfault-at-start, to an assertion-crash-at-start :/

So we need another fix.

Revision history for this message
Nico Maas (n.maas87) wrote :

Yeah I concur, I am glad that still gpsd at least works, but gpsmon would be an important tool to also judge the quality of data, so it would be nice if Ubuntu would be able to ship working packages for it.

Revision history for this message
Mitchell Dzurick (mitchdz) wrote :

Nico, are you able to test the latest upstream and see if it's fixed there?

Revision history for this message
Nico Maas (n.maas87) wrote :

@Mitchell Um, no its... not. It then changes again from Assertion to Core Dump after Buffer Overflow. Reason, I am quite sure now, is the newer ncurses version on Ubuntu 24.04 LTS. Because, if you run gpsmon --nocurses it will work right away with your PPA. Same with my newly build version.
I opened up this ticket: https://gitlab.com/gpsd/gpsd/-/issues/307

For those playing along at home, just a quick overview of what I have done to build gpsd and gpsmon from scratch, might be helpful for someone in the future:

It seems like there might be some fixes in the current head/main release. Also, the gpsmon segfault crash is named and should be fixed there: https://gitlab.com/gpsd/gpsd/-/issues/300 - which I think is the one Mitchell built into the PPA.

# I installed the dependencies:
apt install gcc scons python3-gi python3-gi-cairo g++
apt install python3-gobject libgtk-3-dev
apt install libncurses5-dev libtinfo-dev pps-tools
apt install gir1.2-gtk-3.0

# Got the soure code at latest commit 02f2750adac5bb4e92f0953fcad5e828355e2703
git clone https://gitlab.com/gpsd/gpsd.git
cd gpsd/

# Fixed the ncurses, otherwise it will not build gpsmon:
# ncurses: https://gitlab.com/gpsd/gpsd/-/issues/190
sed 's/ncursesw5/ncursesw6/g' -i SConscript

# build it
scons && scons check

# you can start gpsd in buildtmp/gpsd/ , e.g. with
./gpsd -D5 -N -b -n -p -s 9600 /dev/loraGPS

# you can start gpsmon in buildtmp/gpsmon/
./gpsmon -D5
# it will buffer overflow detect and crash.
# you can start it "working" with ./gpsmon -D5 --nocurses

Revision history for this message
Nico Maas (n.maas87) wrote :
Revision history for this message
Nico Maas (n.maas87) wrote :

Latest release does fix the issue, it was a compiler bug:
https://gitlab.com/gpsd/gpsd/-/commit/67f33e815b6209cdbe1ffe438e8bfeffdbb89d1b
So this could be packaged as a new release?
@ahasenack, @mitchdz

Revision history for this message
Christian Ehrhardt (paelzer) wrote (last edit ):

Thanks for spotting that Nico!
Sadly there are plenty of style and strnlen related changes in the context, so the backports are a bit bigger than I was hoping - but still it should be just what we want for this bug.

I built a new PPA with what we could SRU if you can confirm this now to be working better.

PPA: https://launchpad.net/~paelzer/+archive/ubuntu/lp-2076191-fix-crashes-in-nmea0183

I've three MRs to review once the pre-tests are good, so I can upload it into the SRU queue:
- P: https://code.launchpad.net/~paelzer/ubuntu/+source/gpsd/+git/gpsd/+merge/477724
- O: https://code.launchpad.net/~paelzer/ubuntu/+source/gpsd/+git/gpsd/+merge/477725
- N: https://code.launchpad.net/~paelzer/ubuntu/+source/gpsd/+git/gpsd/+merge/477726

@Nico and @Mario - since it needs the special HW you have, would you able to the verification that once more officially on Noble-proposed and Oracular-proposed [1] once we enter the SRU process?

[1]: https://canonical-sru-docs.readthedocs-hosted.com/en/latest/explanation/standard-processes/#standard-processes

P.S. And deprecated or not, while it lowers expectations one should have it shouldn't crash if we have a fix :-)

description: updated
Revision history for this message
Christian Ehrhardt (paelzer) wrote :

I've uncovered a few (3) old GPS receivers and might be able to recreate this:
Is that how it looks for you?

$ gpsmon
tcp://localhost:2947 JSON slave driver>
(82) {"class":"VERSION","release":"3.25","rev":"3.25","proto_major":3,"proto_minor":15}
(313) {"class":"DEVICES","devices":[{"class":"DEVICE","path":"/dev/ttyUSB0","activated":"2024-12-04T13:01:52.547Z","native":0,"bps":9600,"parity":"N","stopbits":1,"cycle":1.00},{"class":"DEVI
CE","path":"/dev/ttyUSB1","activated":"2024-12-04T13:01:53.473Z","native":0,"bps":9600,"parity":"N","stopbits":1,"cycle":1.00}]}
(122) {"class":"WATCH","enable":true,"json":false,"nmea":false,"raw":2,"scaled":false,"timing":false,"split24":false,"pps":true}
Segmentation fault (core dumped)

With the fix in the PPA for noble it works for me.
it is slightly confused by me having more than one GPS receivers attached and configured into gpsd, but I consider this a stress test :-)
Tell me if things work for you as well.

description: updated
Changed in gpsd (Ubuntu):
assignee: nobody → Christian Ehrhardt  (paelzer)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gpsd - 3.25-4ubuntu1

---------------
gpsd (3.25-4ubuntu1) plucky; urgency=medium

  * d/p/lp-2076191-*: Fix gpsmon crash in NMEA (LP: #2076191)

 -- Christian Ehrhardt <email address hidden> Wed, 04 Dec 2024 11:31:36 +0100

Changed in gpsd (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Christian Ehrhardt (paelzer) wrote :

Fixes pre-tested and uploaded to -unapproved

description: updated
Revision history for this message
Nico Maas (n.maas87) wrote :

I tried to install your ppa but it did not work:

The following packages have unmet dependencies:
 gpsd : Depends: libgps30t64 (= 3.25-3ubuntu3.1~nobleppa2) but 3.25-3ubuntu4~noble1 is to be installed
E: Unable to correct problems, you have held broken packages.

Currently running on

Distributor ID: Ubuntu
Description: Ubuntu 24.04.1 LTS
Release: 24.04
Codename: noble

Linux titania-rk1 6.1.0-1025-rockchip #25-Ubuntu SMP Mon Aug 26 23:01:14 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux

So ARM64 / AARCH

Revision history for this message
Nico Maas (n.maas87) wrote :

Sorry, my bad, there were still parts of gpsd-clients and the old libgps packages installed.
I removed them now and installed from your PPA, this is working now, yes! :)

Revision history for this message
Mario Lorenz (dl5mlo) wrote :

Am 04. Dez 2024, um 10:48:14 schrieb Christian Ehrhardt :
>
> I built a new PPA with what we could SRU if you can confirm this now to
> be working better.
>
> PPA: https://launchpad.net/~paelzer/+archive/ubuntu/lp-2076191-fix-
> crashes-in-nmea0183
>
> I've three MRs to review once the pre-tests are good, so I can upload it into the SRU queue:
> - P: https://code.launchpad.net/~paelzer/ubuntu/+source/gpsd/+git/gpsd/+merge/477724
> - O: https://code.launchpad.net/~paelzer/ubuntu/+source/gpsd/+git/gpsd/+merge/477725
> - N: https://code.launchpad.net/~paelzer/ubuntu/+source/gpsd/+git/gpsd/+merge/477726
>
> @Nico and @Mario - since it needs the special HW you have, would you
> able to the verification that once more officially on Noble-proposed and
> Oracular-proposed [1] once we enter the SRU process?

Hello Christian,

I have to admit not knowing the processes involved, but what I have done
is his:

- reconnected the GPS Receiver in question (Ublox)
- removed the prior PPA using apt remove, and reinstalled the stock ubuntu (noble)
  packages - gpsd 3.25-5ubuntu3 - plus supporting packages
- started gpsmon, and verified the crash as in my original bug
  report
- added the PPA above, ran apt-get update && apt-get upgrade, which
  upgraded gpsd et al to 3.25-3ubuntu3.1~nobleppa2
- started gpsmon
    observed complaints about a read error
- systemctl restart gpsd
- started gpsmon
    observed proper display of gps status, position and time as expected

which confirms that your patched version seems to work and solve my
original issue.

If this helps?

Best regards,
Mario
--
Mario Lorenz Internet: <email address hidden>

Revision history for this message
Christian Ehrhardt (paelzer) wrote :

Thank you Mario and Nico,
that is enough for now - thanks for checking my PPA.
I've uploaded it to the latest Ubuntu where it is already fixed now.

Furthermore I uploaded the fix to noble and oracular -unapproved. There it now waits for SRU handling [1].
Once picked up there by the SRU team they will ask here on the bug for a verification of the builds in noble/oracular-proposed then which either of us can then do allowing it to be released to everyone.

[1]: https://canonical-sru-docs.readthedocs-hosted.com/en/latest/explanation/principles/

Changed in gpsd (Ubuntu Noble):
status: New → In Progress
Changed in gpsd (Ubuntu Oracular):
status: New → In Progress
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Mario, or anyone else affected,

Accepted gpsd into oracular-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/gpsd/3.25-4ubuntu0.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-oracular to verification-done-oracular. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-oracular. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in gpsd (Ubuntu Oracular):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-oracular
Changed in gpsd (Ubuntu Noble):
status: In Progress → Fix Committed
tags: added: verification-needed-noble
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Mario, or anyone else affected,

Accepted gpsd into noble-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/gpsd/3.25-3ubuntu3.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-noble to verification-done-noble. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-noble. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Nico Maas (n.maas87) wrote :

Noble release tested on ARM64 hardware and works, error is not present anymore / gpsmon does not crash anymore on NMEA data.

Test:
- Started gpds with GPSD_OPTIONS=" -b -n -p -s 38400 " to deny it to talk to the gps receiver so that it stays on NMEA data format
- Started gpsmon and received correct NMEA0183 data and visualization without crash.

LGTM, can be sent to production :)
Thank you to all who helped get this fixed.

Revision history for this message
Mario Lorenz (dl5mlo) wrote : Re: [Bug 2076191] Please test proposed package

Am 13. Dez 2024, um 11:33:08 schrieb Timo Aaltonen:
> Hello Mario, or anyone else affected,
>
> Accepted gpsd into noble-proposed. The package will build now and be
> available at https://launchpad.net/ubuntu/+source/gpsd/3.25-3ubuntu3.1
> in a few hours, and then in the -proposed repository.
>
> Please help us by testing this new package. See
> https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
> to enable and use -proposed. Your feedback will aid us getting this
> update out to other Ubuntu users.

Hello Timo,

I have installed gpsd, gpsd-clients, gpsd-tools, libgps30t64 version
3.25-3ubuntu3.1 and can confirm that the problem is solved here.

Thank you very much,

Mario

--
Mario Lorenz Internet: <email address hidden>

Revision history for this message
Christian Ehrhardt (paelzer) wrote :

Thank you Mario and Nico,
updating the verification tags for Noble per your feedback and myself testing Oracular then to be complete.

tags: added: verification-done-noble
removed: verification-needed-noble
Revision history for this message
Christian Ehrhardt (paelzer) wrote (last edit ):
Download full text (4.3 KiB)

Before upgrading to Oracular it was too easy to test noble to not also do it

Verified the bug still happened before

ubuntu@nuc:~$ apt policy gpsd
gpsd:
  Installed: 3.25-3ubuntu3
  Candidate: 3.25-3ubuntu3
  Version table:
     3.25-3ubuntu3.1 100
        100 http://de.archive.ubuntu.com/ubuntu noble-proposed/main amd64 Packages
 *** 3.25-3ubuntu3 500
        500 http://de.archive.ubuntu.com/ubuntu noble/main amd64 Packages
        100 /var/lib/dpkg/status

upgrade to proposed

ubuntu@nuc:~$ sudo apt install gpsd/noble-proposed gpsd-clients/noble-proposed gpsd-tools/noble-proposed libgps30t64/noble-proposed python3-gps/noble-proposed
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Selected version '3.25-3ubuntu3.1' (Ubuntu:24.04/noble-proposed [amd64]) for 'gpsd'
Selected version '3.25-3ubuntu3.1' (Ubuntu:24.04/noble-proposed [amd64]) for 'gpsd-clients'
Selected version '3.25-3ubuntu3.1' (Ubuntu:24.04/noble-proposed [amd64]) for 'gpsd-tools'
Selected version '3.25-3ubuntu3.1' (Ubuntu:24.04/noble-proposed [amd64]) for 'libgps30t64'
Selected version '3.25-3ubuntu3.1' (Ubuntu:24.04/noble-proposed [amd64]) for 'python3-gps'
The following packages will be upgraded:
  gpsd gpsd-clients gpsd-tools libgps30t64 python3-gps
5 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Need to get 1438 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://de.archive.ubuntu.com/ubuntu noble-proposed/main amd64 gpsd amd64 3.25-3ubuntu3.1 [423 kB]
Get:2 http://de.archive.ubuntu.com/ubuntu noble-proposed/main amd64 gpsd-tools amd64 3.25-3ubuntu3.1 [321 kB]
Get:3 http://de.archive.ubuntu.com/ubuntu noble-proposed/universe amd64 gpsd-clients amd64 3.25-3ubuntu3.1 [489 kB]
Get:4 http://de.archive.ubuntu.com/ubuntu noble-proposed/main amd64 libgps30t64 amd64 3.25-3ubuntu3.1 [65.6 kB]
Get:5 http://de.archive.ubuntu.com/ubuntu noble-proposed/universe amd64 python3-gps amd64 3.25-3ubuntu3.1 [139 kB]
Fetched 1438 kB in 0s (3297 kB/s)
(Reading database ... 199728 files and directories currently installed.)
Preparing to unpack .../gpsd_3.25-3ubuntu3.1_amd64.deb ...
Unpacking gpsd (3.25-3ubuntu3.1) over (3.25-3ubuntu3) ...
Preparing to unpack .../gpsd-tools_3.25-3ubuntu3.1_amd64.deb ...
Unpacking gpsd-tools (3.25-3ubuntu3.1) over (3.25-3ubuntu3) ...
Preparing to unpack .../gpsd-clients_3.25-3ubuntu3.1_amd64.deb ...
Unpacking gpsd-clients (3.25-3ubuntu3.1) over (3.25-3ubuntu3) ...
Preparing to unpack .../libgps30t64_3.25-3ubuntu3.1_amd64.deb ...
Unpacking libgps30t64:amd64 (3.25-3ubuntu3.1) over (3.25-3ubuntu3) ...
Preparing to unpack .../python3-gps_3.25-3ubuntu3.1_amd64.deb ...
Unpacking python3-gps (3.25-3ubuntu3.1) over (3.25-3ubuntu3) ...
Setting up libgps30t64:amd64 (3.25-3ubuntu3.1) ...
Setting up python3-gps (3.25-3ubuntu3.1) ...
Setting up gpsd (3.25-3ubuntu3.1) ...
Creating/updating gpsd user account...
gpsd.service is a disabled or a static unit not running, not starting it.
Setting up gpsd-tools (3.25-3ubuntu3.1) ...
Setting up gpsd-clients (3.25-3ubuntu3.1) ...
Processing triggers for gnome-menus (3.36.0-1.1ubuntu3) ...
Processing triggers for libc-bin (2.39-0...

Read more...

Revision history for this message
Christian Ehrhardt (paelzer) wrote :
Download full text (4.2 KiB)

After a do-release-upgrade to oracular I was on

ubuntu@nuc:~$ apt policy gpsd
gpsd:
  Installed: 3.25-4
  Candidate: 3.25-4
  Version table:
     3.25-4ubuntu0.1 100
        100 http://de.archive.ubuntu.com/ubuntu oracular-proposed/main amd64 Packages
 *** 3.25-4 500
        500 http://de.archive.ubuntu.com/ubuntu oracular/main amd64 Packages
        100 /var/lib/dpkg/status

And there the crash happened as expected.

Upgrade to proposed

ubuntu@nuc:~$ sudo apt install gpsd/oracular-proposed gpsd-clients/oracular-proposed gpsd-tools/oracular-proposed libgps30t64/oracular-proposed python3-gps/oracular-proposed
Selected version '3.25-4ubuntu0.1' (Ubuntu:24.10/oracular-proposed [amd64]) for 'gpsd'
Selected version '3.25-4ubuntu0.1' (Ubuntu:24.10/oracular-proposed [amd64]) for 'gpsd-clients'
Selected version '3.25-4ubuntu0.1' (Ubuntu:24.10/oracular-proposed [amd64]) for 'gpsd-tools'
Selected version '3.25-4ubuntu0.1' (Ubuntu:24.10/oracular-proposed [amd64]) for 'libgps30t64'
Selected version '3.25-4ubuntu0.1' (Ubuntu:24.10/oracular-proposed [amd64]) for 'python3-gps'
Upgrading:
  gpsd gpsd-clients gpsd-tools libgps30t64 python3-gps

Summary:
  Upgrading: 5, Installing: 0, Removing: 0, Not Upgrading: 0
  Download size: 1447 kB
  Space needed: 33.8 kB / 454 GB available

Get:1 http://de.archive.ubuntu.com/ubuntu oracular-proposed/main amd64 gpsd amd64 3.25-4ubuntu0.1 [427 kB]
Get:2 http://de.archive.ubuntu.com/ubuntu oracular-proposed/main amd64 gpsd-tools amd64 3.25-4ubuntu0.1 [324 kB]
Get:3 http://de.archive.ubuntu.com/ubuntu oracular-proposed/universe amd64 gpsd-clients amd64 3.25-4ubuntu0.1 [491 kB]
Get:4 http://de.archive.ubuntu.com/ubuntu oracular-proposed/main amd64 libgps30t64 amd64 3.25-4ubuntu0.1 [65.6 kB]
Get:5 http://de.archive.ubuntu.com/ubuntu oracular-proposed/universe amd64 python3-gps amd64 3.25-4ubuntu0.1 [139 kB]
Fetched 1447 kB in 0s (3106 kB/s)
(Reading database ... 202833 files and directories currently installed.)
Preparing to unpack .../gpsd_3.25-4ubuntu0.1_amd64.deb ...
Unpacking gpsd (3.25-4ubuntu0.1) over (3.25-4) ...
Preparing to unpack .../gpsd-tools_3.25-4ubuntu0.1_amd64.deb ...
Unpacking gpsd-tools (3.25-4ubuntu0.1) over (3.25-4) ...
Preparing to unpack .../gpsd-clients_3.25-4ubuntu0.1_amd64.deb ...
Unpacking gpsd-clients (3.25-4ubuntu0.1) over (3.25-4) ...
Preparing to unpack .../libgps30t64_3.25-4ubuntu0.1_amd64.deb ...
Unpacking libgps30t64:amd64 (3.25-4ubuntu0.1) over (3.25-4) ...
Preparing to unpack .../python3-gps_3.25-4ubuntu0.1_amd64.deb ...
Unpacking python3-gps (3.25-4ubuntu0.1) over (3.25-4) ...
Setting up libgps30t64:amd64 (3.25-4ubuntu0.1) ...
Setting up python3-gps (3.25-4ubuntu0.1) ...
Setting up gpsd (3.25-4ubuntu0.1) ...
Creating/updating gpsd user account...
gpsd.service is a disabled or a static unit not running, not starting it.
Setting up gpsd-tools (3.25-4ubuntu0.1) ...
Setting up gpsd-clients (3.25-4ubuntu0.1) ...
Processing triggers for gnome-menus (3.36.0-1.1ubuntu3) ...
Processing triggers for libc-bin (2.40-1ubuntu3) ...
Processing triggers for man-db (2.12.1-3) ...
Processing triggers for desktop-file-utils (0.27-2build1) ...

Service after restart seems happy

ubuntu@nuc:~$ syste...

Read more...

tags: added: verification-done verification-done-oracular
removed: verification-needed verification-needed-oracular
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gpsd - 3.25-4ubuntu0.1

---------------
gpsd (3.25-4ubuntu0.1) oracular; urgency=medium

  * d/p/lp-2076191-*: Fix gpsmon crash in NMEA (LP: #2076191)

 -- Christian Ehrhardt <email address hidden> Wed, 04 Dec 2024 11:34:30 +0100

Changed in gpsd (Ubuntu Oracular):
status: Fix Committed → Fix Released
Revision history for this message
Andreas Hasenack (ahasenack) wrote : Update Released

The verification of the Stable Release Update for gpsd has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gpsd - 3.25-3ubuntu3.1

---------------
gpsd (3.25-3ubuntu3.1) noble; urgency=medium

  * d/p/lp-2076191-*: Fix gpsmon crash in NMEA (LP: #2076191)

 -- Christian Ehrhardt <email address hidden> Wed, 04 Dec 2024 11:36:00 +0100

Changed in gpsd (Ubuntu Noble):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.