-
-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FvwmPager crashes at restart #1137
Comments
One thing I do notice is your FvwmButtons configuration shouldn't use the name of the page, if you add a name to
|
@ThomasAdam the only thing I can see is the method |
Maybe. But the stacktrace would indicate a SIGFPE -- although I can't tell from the informatioon we've been provided if that's true. @dirteat -- I'm going to need to see a backtrace with debug symbols, please. I'd also want to see a fuller log from |
All right, thanks for the feedback, I'll fix my swallow! I'll provide a bt, but the segfault is occuring one over many restarts (I can tell now, I've been toying with that since a few hours), and at all restarts the pager is not restarted. So the segfault and my issue here are not in one-to-one correspondence. BUT, I finally found out the culprit in my configuration:
The number "8" is just a user-defined colorset:
The Pager not restarting is occurring as soon as I set this option. Reading the man, I've just discovered it was deprecated, so this might be my fault indeed. That config is following me since decades :) I think you should be able to reproduce. First start with that option set, everything works fine, a restart and the pager is gone without any log. Let me know if you need me to do other tests. I'll backtrace the segfault if I can trigger it in a rational way. Thanks!! NB: The monitor setup is unusual indeed (beamer on HDMI0, DP-4 main screen. Due to their different aspect ratios and resolution, HDMI0 is centered within DP4). HDMI-0 connected 1920x1080+320+260 |
I really don't think the Given:
What I need from this, is a reliable stack trace to tell me where in |
Can you tell me what man page you're looking at, and what needs changing? I also have a very old config, and this week's update has caused the colors on FvwmPager to act weird (the active highlight color is now default light gray, not the colorset I specified). |
@ExecutorElassus Please don't piggy back on other issues, it distracts from the issue at hand which is FvwmPager crashing. If the FvwmPager manual page doesn't help you figure out how to set the colors you want for the pager, you can ask for help on the forums. |
@ThomasAdam This is weird, I can reproduce 100% of the time on my machine, without even using a Swallowing, that the Pager disappear at restart only when I set:
@ExecutorElassus |
You're probably right, I've tested on another computer running fvwm3 1.1.1 within mono screen output (DP-0 connected primary 5120x2160+0+0), I don't get the bug anymore even though I am setting the *FvwmPager: HilightColorset * 8... Backtrace coming.... |
@ThomasAdam I don't think that is the issue, although most the time The issue appears to me is why a monitor doesn't have its virtual size and pages set correctly, as I cannot think of what else would fail in the function that was reported having trouble during the init. Since the user seems to suggest this is related to some option, could options be getting in the way or preventing getting the monitor information correctly? Being able to peak at the monitor struts at the time of the crash is needed, and I assume the coredump will tell us that. |
If we want to try to randomly test things, assuming the error is division by zero or some undefined value in the fpmonitor strut, here is an attempt to initialize values a bit. diff --git a/modules/FvwmPager/fpmonitor.c b/modules/FvwmPager/fpmonitor.c
index e9802b83f..010f59ec1 100644
--- a/modules/FvwmPager/fpmonitor.c
+++ b/modules/FvwmPager/fpmonitor.c
@@ -32,6 +32,12 @@ struct fpmonitor *fpmonitor_new(struct monitor *m)
fp->CPagerWin = NULL;
fp->m = m;
fp->disabled = false;
+ fp->virtual_scr.Vx = 0;
+ fp->virtual_scr.Vy = 0;
+ fp->virtual_scr.VWidth = m->si->w;
+ fp->virtual_scr.VHeight = m->si->h;
+ fp->virtual_scr.VxPages = 1;
+ fp->virtual_scr.VyPages = 1;
TAILQ_INSERT_TAIL(&fp_monitor_q, fp, entry);
return (fp); So apply this patch and see if that changes things in any way. |
Looking at your monitor setup, is one monitor set on top of another monitor, so they are both viewing the same basic area? |
In the segfault I reported before, the logs also show
Yes, but notice that their height/width are different, so they never cover exactly the same region. |
I gave a try, the pager does not appear at all whatever the config, and restarting fvwm3, I see the process FvwmPager getting multiplied. I reverted to 1.1.1 bare. Still no segfault, just some logs when I toy with arandr moving the two displays around while trying to trigger a crash:
|
Thanks, @dirteat -- I think I see the problem. |
A quick update, I haven't managed to caputure any FvwmPager segfault under gdb, so I have no idea how those were triggered. In the logs, in addition to the typical messages quoted earlier, I have sometimes, series of:
|
Hi there,
Fvwm3 version (run:
fvwm3 --version
)fvwm3 1.1.1 (released)
with support for: ReadLine, XPM, PNG, SVG, Shape, XShm, SM, Bidi text, XRandR, XRender, XCursor, XFT, NLS
Linux distribution or BSD name/version
Mageia, devel version Cauldron
Platform (run:
uname -sp
)x86_64
Expected Behaviour
My config Swallow the FvwmPager into a button, works fine when fvwm3 starts, but the pager disappear when hitting the "restart" menu and the logs show that it crashed.
Enabling logging
pkill -USR2 fvwm3
Nothing in the logs appears.
Steps to Reproduce
How can the problem be reproduced? For this, the following is helpful:
Reduce the problem to the smallest
fvwm
configuration example (wherepossible). In progress!
Does the problem also happen with Fvwm2?
The problem does not appear with fvwm2, but it was also not present with the previous version of fvwm3, 1.0.6a
Include your configuration with this issue.
It is very long, I'll provide a thin one once I have isolated the minimal config triggering it. Possibly the swallowing?
Test (EnvIsSet FVWM_IS_FVWM3) *DeskButtonsBox: (Swallow (NoHints) "Desk 0" "FvwmPager")
Does Fvwm3 crash?
No, but the Pager module does:
: [🡕] Process 2649567 (FvwmPager) of user 1000 dumped core.
Stack trace of thread 2649567:
#0 0x0000000000408d4d set_vp_size_and_loc (FvwmPager + 0x8d4d)
#1 0x000000000040e198 initialize_fpmonitor_windows.part.0 (FvwmPager + 0xe198)
#2 0x000000000040ed81 init_fvwm_pager (FvwmPager + 0xed81)
#3 0x000000000040755b main (FvwmPager + 0x755b)
#4 0x00007fa3be2d1737 __libc_start_call_main (libc.so.6 + 0x23737)
#5 0x00007fa3be2d17f5 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x237f5)
#6 0x0000000000407981 _start (FvwmPager + 0x7981)
ELF object binary architecture: AMD x86-64
Cheers,
Chris.
The text was updated successfully, but these errors were encountered: