You are not logged in.
Still don't know what I'am doing, but doing it with a lot of passion, so I have a config file named woot with this inside
tint2_look = 0
csv_cmd = pmenu
menu_halign = center
menu_valign = center
menu_height_min = 500
menu_height_max = 500
csv_no_dirs = 1
And I run
jgmenu --config-file woot
info: using monitor '2'
info: parsing tint2 config file '/home/b/.config/tint2/tint2rc'
[1] 16962 segmentation fault jgmenu --config-file woot
I guess I'am doing something wrong?
Offline
Oh dear. We don't like seg faults - and you're certainly not doing anything wrong. Seg faults are always my faults.
I suspect it is related to xrandr (but that's only a guess).
Would you mind helping me fault find by building+running with ASAN.
git clone https://github.com/johanmalm/jgmenu.git
cd jgmenu
./scripts/install-debian-dependencies.sh
make ASAN=1
JGMENU_SCREEN_INFO=1 ./jgmenu
With JGMENU_SCREEN_INFO set, we will see some info relating to xrandr.
Building with ASAN helps us understand where the seg fault happens.
I see you had
info: using monitor '2'
Do you get the seg fault if you hover the mouse-pointer over monitor 1 when launching jgmenu?
You can force which monitor jgmenu is launched, by setting 'monitor' in jgmenurc. That might help work out what's going on.
PS1. You need a '=' between '--config-file' and 'woot'.
PS2. It might be nothing to do with xrandr and monitors.
Offline
With term on monitor 1 I get the same seqfault (only it says info: using monitor '1')
The ASAN:
JGMENU_SCREEN_INFO=1 ./jgmenu
info: 4 xrandr outputs(s) detected
- monitor-1: x0=0; y0=0; w=1920; h=1200
- monitor-2: x0=1920; y0=0; w=1920; h=1080
X Error of failed request: BadRRCrtc (invalid Crtc parameter)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 20 (RRGetCrtcInfo)
Crtc id in failed request: 0x249
Serial number of failed request: 14
Current serial number in output stream: 14
=================================================================
==28420==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 104 byte(s) in 1 object(s) allocated from:
#0 0x7fc71fdcad28 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.3+0xc1d28)
#1 0x7fc71f7c1480 in XRRGetCrtcInfo (/usr/lib/x86_64-linux-gnu/libXrandr.so.2+0x3480)
Direct leak of 33 byte(s) in 1 object(s) allocated from:
#0 0x7fc71fdcb090 in realloc (/usr/lib/x86_64-linux-gnu/libasan.so.3+0xc2090)
#1 0x5580638ffd79 in xrealloc /home/b/data/source/jgmenu/util.c:111
#2 0x558063904f70 in sbuf_addstr /home/b/data/source/jgmenu/sbuf.c:32
#3 0x5580639050ec in sbuf_cpy /home/b/data/source/jgmenu/sbuf.c:42
#4 0x55806390c425 in get_dirs /home/b/data/source/jgmenu/xdgdirs.c:40
#5 0x55806390c6b2 in xdgdirs_get_configdirs /home/b/data/source/jgmenu/xdgdirs.c:61
#6 0x5580638fef18 in config_read_jgmenurc /home/b/data/source/jgmenu/config.c:327
#7 0x5580638f4d69 in main /home/b/data/source/jgmenu/jgmenu.c:2382
#8 0x7fc71d61f2e0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202e0)
SUMMARY: AddressSanitizer: 137 byte(s) leaked in 2 allocation(s).
And pure xrandr
xrandr
Screen 0: minimum 8 x 8, current 3840 x 1200, maximum 8192 x 8192
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 160mm x 90mm
1920x1080 60.00*+ 59.94 50.00 29.97 25.00 23.97 60.05 60.00 50.04
1680x1050 59.95
1600x900 60.00
1440x900 59.89
1366x768 59.79
1280x1024 75.02 60.02
1280x800 59.81
1280x720 60.00 59.94 50.00
1152x864 75.00
1024x768 75.03 70.07 60.00
800x600 75.00 72.19 60.32
720x576 50.00 50.08
720x480 59.94 60.05
640x480 75.00 72.81 59.94
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
1920x1200 59.95*+ 59.88
I don't know what are DVI-I-0 and DP-0 (certainly this old card doesn't have 4 heads).
Last edited by brontosaurusrex (2018-08-25 13:35:54)
Offline
Offline
@brontosaurusrex
Was the jgmenu in ~/bin a really old one? I don't like segfaults in any version ever
ASAN does give a nice backtrace when segfaulting, but can also hide segfaults when in other libraries such as xrandr.
Would you mind installing jgmenu from the backports again (without dgbsym) and try again. I'm still suspicious.
Offline
Seems so, I can't seqfault it now. Let me try the bunsen backports version.
edit: Ok, installed the one from bunsen backports (sudo dpkg -i jgmenu_1.2-1_amd64.deb), then
With term on monitor 1 and 2
/usr/bin/jgmenu --config-file=~/bin/woot
both working fine as it seems (each showing on correct monitor).
Last edited by brontosaurusrex (2018-08-25 15:06:40)
Offline
^ okay thanks. I'll relax then
I will still review the code that makes the xrandr calls. We should try to get rid of the error message you got:
X Error of failed request: BadRRCrtc (invalid Crtc parameter)
Do you get that with v1.2 from the BL backports?
@nobody thanks for your help too.
Offline
It seems so
/usr/bin/jgmenu --version
jgmenu v1.2
JGMENU_SCREEN_INFO=1 /usr/bin/jgmenu --config-file=~/bin/woot
info: 4 xrandr outputs(s) detected
- monitor-1: x0=0; y0=0; w=1920; h=1200
- monitor-2: x0=1920; y0=0; w=1920; h=1080
X Error of failed request: BadRRCrtc (invalid Crtc parameter)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 20 (RRGetCrtcInfo)
Crtc id in failed request: 0x249
Serial number of failed request: 14
Current serial number in output stream: 14
Offline
@brontosaurusrex - thanks. I've pushed a commit which might fix it.
If at all possible, would you mind doing it again and pasting the output?
git clone https://github.com/johanmalm/jgmenu.git
cd jgmenu
make
JGMENU_SCREEN_INFO=1 ./jgmenu
Last edited by malm (2018-08-25 17:47:34)
Offline
Seems to be fixed
JGMENU_SCREEN_INFO=1 ./jgmenu
info: 2 xrandr crt controller(s) found
- monitor-1: x0=0; y0=0; w=1920; h=1200
- monitor-2: x0=1920; y0=0; w=1920; h=1080
info: using monitor '1'
info: parsing tint2 config file '/home/b/.config/tint2/tint2rc'
info: got font from tint2rc
info: set font to 'cuprum 10'
info: got icon theme from gtk config file
info: set icon theme to 'Luv-dark'
warning: file '/home/b/.local/share/icons/hicolor/512x512/apps/appimagekit-jaxx.png' is not a recognised png file
Offline
^ Thanks. That looks better. Appreciate your help.
Offline
@brontosaurusrex, I think that your 'appimagekit-jaxx.png' could have been the source of the segfault if you used an old version of jgmenu (fixed that in v0.8.1)
Offline
Offline
^ Just as well jgmenu is hardened to cope with it then My guess is that it's a Windows .ico file (container for .bmp and .png).
jgmenu has been upversioned to v1.2.1 in the BL backports to include the monitor bug-fix
Offline
Offline
Nice work, the search box is a nice feature.
The Left/Right arrow keys aren't working to change columns, though. That by design?
You must unlearn what you have learned.
-- yoda
Offline
jgmenu v1.3 has been released and is in the backports.
Thanks! You fixed the pipemenu oddness.
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
@PackRat I will implement support for moving left/right between columns, but as we allow items of different height (e.g. separators), it's not a completely trivial change. I released v1.3 to get the pipemenu fix out there. Fine-tuning of "columns" will come
@johnraff It was a simple fix; I just hadn't noticed the oddity before.
Offline
jgmenu v1.4.1 is released (and is in the backports - thanks @nobody)
Updates since v1.3 include:
* Improve openbox module (with support from @johnraff)
- Handle openbox reconfigure and restart actions correctly
- Check ~/.config/openbox/menu.xml on awake and reload on change
- Set $PWD correctly when executing --cmd command
* Add --center argument
* Fix sticky submenu bug (with thanks to @johnraff)
* Re-enable build on OpenBSD by removing calls to timer_create()
* Enable pango markup for text
* Add config options "sep_halign" and "sep_markup"
* pmenu: do not show entries with NoDisplay=true in .desktop file.
Reported by ArchLabs Linux forum members Xase and sikkdays (the issue
specifically related to multiple entries showing for krita)
Offline
@malm, nice work!
No, he can't sleep on the floor. What do you think I'm yelling for?!!!
Offline