Crash After Closing Antenna Control and Attempting to Open Menu
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 35/100
Research direction
The crash is in gtk_rot_ctrl_timeout_cb in gtk-rot-ctrl.c near line 804, which runs after rot_ctrl_destroy has already cleared SetAz. Start by checking where the timeout source is added and removed, and whether the destroy path leaves a callback that can still fire. Done means the reproduction steps (open antenna control, track, close, then open the module configure menu) no longer segfault.
Written by the indexing model from the issue text.
Description
I've noticed that Gpredict crashes with a segfault when I try to open the module configuration menu after closing the antenna control. This behavior seems related to issue #279.
OS: Ubuntu 16.04.1
Kernel: 4.15.0-142-generic
CPU: Intel (R) Core i7-7576U @ 3.50 GHz
Gpredict Version: 2.3.115-0f3be
Rotator Control: Yarsu G-5500 az-el rotator with the Yaesu GS-232B PC interface
Here is how to reproduce the issue:
- Open the antenna control, track, and engage
- Un-engage, un-track, and close the antenna control
- Open the satellite module popup and select "configure"
What I've learned so far is that gtk_rot_ctrl_timeout_cb is being called after rot_ctrl_destroy (which should have removed the corresponding timeout source from the default main context). At gtk-rot-ctrl.c:804 it attempts to access a property of ctrl->AzSet (at this point ctrl->SetAz is NULL) and segfaults.
I get the following error messages:
(gpredict:11045): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GtkRotCtrl'
Segmentation fault
- Dominant language
- C
- Stars
- 1.2k
- Forks
- 305
- Avg merge
- 8h 48m
- Merged PRs (30d)
- 3
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from csete/gpredict
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 Under an hour Newbie friendliness 60/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 4/5 3-5 days Newbie friendliness 78/100
Similar issues
-
mewencode: base256[] and base128[] are indexed out of bounds by a non-ASCII octetPossibly taken @kazu-yamamoto claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
kazu-yamamoto/Mew#276 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 91/100
FujiNetWIFI/fujinet-firmware#2045 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
[Performance]: Qwen-Image-2.1 CPU-only on i5-10500H (6C AVX2, 32 GB): 512x512 in 7.7 min at 8 stepsOpen
Difficulty 1/5 Under an hour Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
area:gates area:gfx found-by:critic kind:gate-defect
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
InauguralSystems/EigenScript#1825 ·
Maintainers usually reply within 1 day