text:
Update sbt to 1.10.6

About this PR
📦 Updates org.scala-sbt:sbt from 1.9.9 to 1.10.6
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-sbt", artifactId = "sbt" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scala-sbt", artifactId = "sbt" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, version-scheme:early-semver, commit-count:1

Superseded by #584.

repo: vigoo/prox


text:
Update scala-collection-compat to 2.7.0

Updates org.scala-lang.modules:scala-collection-compat from 2.6.0 to 2.7.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang.modules", artifactId = "scala-collection-compat" } ]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #208.

source: gharchive/pull-request

repo: vigoo/zio-aws

license_type: permissive

license_source: github-api


text:
A job not start when device restarted.

Hello. I don't know, actually, what kind of reason, but my job not start when device restarted. This is my code:
BackgroundJob.register({
jobKey: exactJobKey,
job: () => console.log(new Date())
});
    BackgroundJob.schedule({
        jobKey: exactJobKey,
        period: 10800000,
        allowExecutionInForeground: true,
        exact: true,
        persist: true
    });

So,  console.log(new Date()) is working only then I start my app manually. Should this task run automatically?

Did you try running the example project?

I have the same issue. My cfg:
`
var name = 'test';
var period = 30;
var exact = false; // or true, it doesn't matter for that issue (after 1 hour after device restart still no bg job fired)
BackgroundJob.schedule({
jobKey: name,
period: period * 1000,
persist: true,
exact: exact,
allowExecutionInForeground: true
});
`
Maybe the issue occurs when allowExecutionInForeground is set as true?

No it's that you have exact execution chosen. That should be added to the readme.

If this helps, registering the background job this way works.
BackgroundJob.schedule({
jobKey: regularJobKey,
period: 15000
});
This is given in the example and i just tested this on emulator. To restart the emulator, adb -s  reboot

source: gharchive/issue

authors: artemukolov gnato macashok81 vikeri

repo: vikeri/react-native-background-job

license: mit

license_source: bigquery


text:
Add g:airline#extensions#capslock#sign

Thanks!

What does this patch do?
What are the benefits?
Could you explain?

the sign of airline#extension#capslock is 'CAPS' by default. if user define g:airline#extensions#capslock#sign, the sign can be customized.
if user don't define this variable, get(g:, 'airline#extensions#capslock#sign', 'CAPS') will return 'CAPS'. just like before.

@chrisbra
What do you think this patch?

thanks, please fix the warning and also add some documentation.

@Freed-Wu
please sqhash these commit

Please squash these commit.

thanks!

authors: Freed-Wu chrisbra kazukazuinaina

repo: vim-airline/vim-airline


text:
Solidity syntax checker solc not working

The solidity checker is not visible to syntastic even if sol is setted as default for solidity files, and the solc.vim is in the right folder.
The :SyntasticInfo produces this:
Syntastic version: 3.8.0-101 (Vim 800, Linux)
Info for filetype: solidity
Global mode: active
Filetype solidity is active
The current file will be checked automatically
Available checkers: -
Currently enabled checkers: -

Not sure what you mean by "sol is [set] as default for solidity files", or by "solc.vim is in the right folder".  According to the FAQ syntastic only cares about solc being in your $PATH, as seen by Vim.

For set i mean that it shoud be active becuse in the registry.vim is set as default for solidity files, for the right folder is my bad, i meant it is where all the other checkers are in .vim/bundle/syntastic/syntax_checkers and the other checkers are working

You should set syntastic_solidity_checkers instead of relying on the registry.  Your problem is elsewhere anyway, since no checker is seen as available.

Apparently the solidity compiler from npm is unable to work with solc.vim, becuase with some little changes i can make him see it but it doesn't work

According to the manual (:h syntastic-solidity-solc), the solc supported by syntastic is written in C.

sorry didn't noticed that npm solc was only a subset of the c++ solc, in fact while installing it they had the same name

A few other checkers are prone to similar name conflicts, which is why you should always check the list of supported checkers in the manual (:h syntastic-checkers). shrug

repo: vim-syntastic/syntastic

license: WTFPL


text:
Fixes issue #570 for running jasmine on windwos

This issues fixes some path problems when running vim-test on a windows instance of vim/nvim

I don't know how to link this PR to issue #570.  This PR should resolve the issue on Windows

Thanks!  I've never written vimscript so I don't know how to debug it.  There were a lot of echom calls to figure out what was gonig on. haha!

repo: vim-test/vim-test

license: MIT


text:
Update builtin syntax files

Some builtin syntax files do not support latest version syntax.
For example, Template string (ES2015), async/await (Python3), and so on.
some file is too old.
Please update it!

Hi KiYugadgeter!
On Mi, 06 Jan 2016, KiYugadgeter wrote:

Some builtin syntax files do not support latest version syntax
For example, Template string (ES2015), async/await (Python3), and so on
some file is too old
Please update it!

Please contact the maintainer of each syntax file.
Best,
Christian
Ich weiß zwar nicht, was du willst - aber ich werde mich trotzdem beeilen.
-- Dein Computer

async/await is available in the Python syntax file.
See here: https://github.com/vim/vim/blob/master/runtime/syntax/python.vim#L84
Are you actually using the updated files?

authors: KiYugadgeter chrisbra zvezdan

repo: vim/vim

license: Vim


text:
Example windo command does not work

Describe the bug
The help for :windo is followed by the following example.
https://github.com/vim/vim/blob/c5cf369e9543ff065e2e1da91da3218c223840e2/runtime/doc/windows.txt#L793
Executing this command results in the following error:
E474: Invalid argument: nofoldcolumn

To Reproduce
Detailed steps to reproduce the behavior:

Run vim --clean (or gvim --clean, etc.)
:windo set nolist nofoldcolumn | normal zn

Expected behavior
The help page says "This resets the 'list' option and disables folding in all windows."
Environment (please complete the following information):

Vim version: 8.2.2529
OS: Ubuntu 20.04.2
Terminal: Konsole 19.12.3

Patch to update the documentation:
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index 69de9bafe..9e1f010ed 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -790,7 +790,7 @@ can also get to them with the buffer list commands, like ":bnext".

 Examples: >

-	:windo set nolist nofoldcolumn | normal zn
+	:windo set nolist foldcolumn=0 | normal! zn

 This resets the 'list' option and disables folding in all windows. >

I'll include the correction, thanks.

authors: brammool dstein64 lacygoill


text:
Test_gui_findrepl and Test_gui_tabmenu_event fail with athena GUIs

Steps to reproduce
Test_gui_findrepl and Test_gui_tabmenu_event fail with athena GUIs.
$ ./configure --with-features=huge --enable-gui=athena
$ make test_gui
…snip...
Executed 39 tests                        in  10.500956 seconds
4 FAILED:
Found errors in Test_gui_findrepl():
Caught exception in Test_gui_findrepl(): Vim(call):E475: Invalid argument: findrepl @ command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_findrepl, line 6
Found errors in Test_gui_tabline_event():
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabline_event line 7: Expected v:true but got v:false
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabline_event line 9: Expected 2 but got 1
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabline_event line 10: Expected v:true but got v:false
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabline_event line 12: Expected 3 but got 1
Found errors in Test_gui_tabmenu_event():
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabmenu_event line 11: Expected 1 but got 2
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabmenu_event line 21: Expected 3 but got 2
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabmenu_event line 27: Expected 'False' but got v:true
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabmenu_event line 28: Expected 'False' but got v:true
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabmenu_event line 29: Expected 'False' but got v:true
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabmenu_event line 30: Expected 'False' but got v:true
Found errors in Test_set_guifontwide():
Caught exception in Test_set_guifontwide(): Vim(let):E598: Invalid fontset @ command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_set_guifontwide, line 58
SKIPPED Test_encoding_conversion(): gui_gtk feature missing
SKIPPED Test_gui_drop_files(): drop_file feature missing
SKIPPED Test_gui_tablabel_tooltip(): gui_athena feature present
SKIPPED Test_set_guifontset(): Test not hosted by the system/environment
Makefile:63: recipe for target 'test_gui' failed
make[1]: *** [test_gui] Error 1
make[1]: Leaving directory '/home/pel/sb/vim/src/testdir'
Makefile:2353: recipe for target 'test_gui' failed
make: *** [test_gui] Error 2

Expected behaviour
All tests should pass.
Version of Vim
8.2.4514
Environment
xubuntu-18.04.6
Logs and stack traces
No response

Dominique wrote:

Steps to reproduce
Test_gui_findrepl and Test_gui_tabmenu_event fail with athena GUIs.
$ ./configure --with-features=huge --enable-gui=motif
$ make test_gui
…snip...
Executed 39 tests                        in  10.500956 seconds
4 FAILED:
Found errors in Test_gui_findrepl():
Caught exception in Test_gui_findrepl(): Vim(call):E475: Invalid argument: findrepl @ command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_findrepl, line 6
Found errors in Test_gui_tabline_event():
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabline_event line 7: Expected v:true but got v:false
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabline_event line 9: Expected 2 but got 1
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabline_event line 10: Expected v:true but got v:false
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabline_event line 12: Expected 3 but got 1
Found errors in Test_gui_tabmenu_event():
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabmenu_event line 11: Expected 1 but got 2
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabmenu_event line 21: Expected 3 but got 2
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabmenu_event line 27: Expected 'False' but got v:true
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabmenu_event line 28: Expected 'False' but got v:true
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabmenu_event line 29: Expected 'False' but got v:true
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabmenu_event line 30: Expected 'False' but got v:true
Found errors in Test_set_guifontwide():
Caught exception in Test_set_guifontwide(): Vim(let):E598: Invalid fontset @ command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_set_guifontwide, line 58
SKIPPED Test_encoding_conversion(): gui_gtk feature missing
SKIPPED Test_gui_drop_files(): drop_file feature missing
SKIPPED Test_gui_tablabel_tooltip(): gui_athena feature present
SKIPPED Test_set_guifontset(): Test not hosted by the system/environment
Makefile:63: recipe for target 'test_gui' failed
make[1]: *** [test_gui] Error 1
make[1]: Leaving directory '/home/pel/sb/vim/src/testdir'
Makefile:2353: recipe for target 'test_gui' failed
make: *** [test_gui] Error 2

Expected behaviour
All tests should pass.

When I try Vim crashes.  Looks like this happens when removing a menu.
I hope someone can look into this.
--
hundred-and-one symptoms of being an internet addict:
179. You wonder why your household garbage can doesn't have an
"empty recycle bin" button.
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

@brammool  wrote:

When I try Vim crashes.  Looks like this happens when removing a menu.
I hope someone can look into this.

For me it does not crash, even with a asan build but:

4 tests fail when building with athena GUI when doing make test_gui
2 tests fail when building with motif GUI when doing make test_gui

Ah, with valgrind, the motif build gives:
==13635== Memcheck, a memory error detector
==13635== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==13635== Using Valgrind-3.17.0.GIT and LibVEX; rerun with -h for copyright info
==13635== Command: ../vim -f -u unix.vim -u NONE -U NONE --noplugin --not-a-term -S runtest.vim test_gui.vim
==13635== Parent PID: 13634
==13635==
==13635== Invalid read of size 8
==13635==    at 0x519168F: _XmEntryTextGet (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==13635==    by 0x519B7D6: _XmStringDrawSegment (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==13635==    by 0x519C445: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==13635==    by 0x519CC44: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==13635==    by 0x519CEFA: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==13635==    by 0x519D861: XmStringDrawUnderline (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==13635==    by 0x511296E: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==13635==    by 0x395C86: label_expose (gui_motif.c:309)
==13635==    by 0x50DDA1C: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==13635==    by 0x553F6E3: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x5541331: XtDispatchEventToWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x55417DA: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x5541918: XtDispatchEvent (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x554D5CE: XtAppProcessEvent (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x39F79D: gui_mch_update (gui_x11.c:2614)
==13635==    by 0x5541245: XtDispatchEventToWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x55417DA: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x5541918: XtDispatchEvent (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x554D5CE: XtAppProcessEvent (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x39F79D: gui_mch_update (gui_x11.c:2614)
==13635==    by 0x394ADE: gui_start (gui.c:161)
==13635==    by 0x394D83: ex_gui (gui.c:5096)
==13635==    by 0x1DD426: do_one_cmd (ex_docmd.c:2567)
==13635==    by 0x1DD426: do_cmdline (ex_docmd.c:993)
==13635==    by 0x356BE5: call_user_func (userfunc.c:2843)
==13635==    by 0x3571B3: call_user_func_check (userfunc.c:2991)
==13635==    by 0x3571B3: call_user_func_check (userfunc.c:2957)
==13635==  Address 0xd0dbbb8 is 0 bytes after a block of size 8 alloc'd
==13635==    at 0x4C32FB5: malloc (vg_replace_malloc.c:380)
==13635==    by 0x5532805: XtMalloc (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x5198024: _XmStringNCreate (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==13635==    by 0x5198260: XmStringCreate (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==13635==    by 0x51128B0: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==13635==    by 0x395C86: label_expose (gui_motif.c:309)
==13635==    by 0x50DDA1C: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==13635==    by 0x553F6E3: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x5541331: XtDispatchEventToWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x55417DA: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x5541918: XtDispatchEvent (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x554D5CE: XtAppProcessEvent (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x39F79D: gui_mch_update (gui_x11.c:2614)
==13635==    by 0x5541245: XtDispatchEventToWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x55417DA: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x5541918: XtDispatchEvent (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x554D5CE: XtAppProcessEvent (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==13635==    by 0x39F79D: gui_mch_update (gui_x11.c:2614)
==13635==    by 0x394ADE: gui_start (gui.c:161)
==13635==    by 0x394D83: ex_gui (gui.c:5096)
==13635==    by 0x1DD426: do_one_cmd (ex_docmd.c:2567)
==13635==    by 0x1DD426: do_cmdline (ex_docmd.c:993)
==13635==    by 0x356BE5: call_user_func (userfunc.c:2843)
==13635==    by 0x3571B3: call_user_func_check (userfunc.c:2991)
==13635==    by 0x3571B3: call_user_func_check (userfunc.c:2957)
==13635==    by 0x35774C: call_func (userfunc.c:3557)
==13635==    by 0x357D6A: get_func_tv (userfunc.c:1787)

And with athena GUI, I get:
==16332== Memcheck, a memory error detector
==16332== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==16332== Using Valgrind-3.17.0.GIT and LibVEX; rerun with -h for copyright info
==16332== Command: ../vim -f -u unix.vim -u NONE -U NONE --noplugin --not-a-term -S runtest.vim test_gui.vim
==16332== Parent PID: 16331
==16332==
==16332== Invalid read of size 8
==16332==    at 0x52F03D1: XtWidgetToApplicationContext (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52EECBD: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x395013: gui_mch_destroy_menu (gui_athena.c:1584)
==16332==    by 0x24454E: free_menu (menu.c:1054)
==16332==    by 0x244D07: remove_menu.part.0 (menu.c:1022)
==16332==    by 0x2467DD: remove_menu (menu.c:923)
==16332==    by 0x2467DD: ex_menu (menu.c:356)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x354445: call_user_func (userfunc.c:2843)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2991)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2957)
==16332==    by 0x354FAC: call_func (userfunc.c:3557)
==16332==    by 0x3555CA: get_func_tv (userfunc.c:1787)
==16332==    by 0x355D40: ex_call (userfunc.c:5457)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x1AD719: ex_execute (eval.c:6514)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x354445: call_user_func (userfunc.c:2843)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2991)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2957)
==16332==    by 0x354FAC: call_func (userfunc.c:3557)
==16332==    by 0x3555CA: get_func_tv (userfunc.c:1787)
==16332==    by 0x355D40: ex_call (userfunc.c:5457)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x2D9A3B: do_source (scriptfile.c:1516)
==16332==    by 0x2DA8E2: cmd_source (scriptfile.c:1098)
==16332==    by 0x2DA8E2: cmd_source (scriptfile.c:1078)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x3C82DD: exe_commands (main.c:3089)
==16332==    by 0x3C82DD: vim_main2 (main.c:772)
==16332==  Address 0x95caac8 is 8 bytes inside a block of size 432 free'd
==16332==    at 0x4C3589F: free (vg_replace_malloc.c:755)
==16332==    by 0x52EE5B7: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52EE75E: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52EEC8D: _XtDoPhase2Destroy (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52EEE13: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x394FDD: gui_mch_destroy_menu (gui_athena.c:1561)
==16332==    by 0x24454E: free_menu (menu.c:1054)
==16332==    by 0x244D07: remove_menu.part.0 (menu.c:1022)
==16332==    by 0x2467DD: remove_menu (menu.c:923)
==16332==    by 0x2467DD: ex_menu (menu.c:356)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x354445: call_user_func (userfunc.c:2843)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2991)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2957)
==16332==    by 0x354FAC: call_func (userfunc.c:3557)
==16332==    by 0x3555CA: get_func_tv (userfunc.c:1787)
==16332==    by 0x355D40: ex_call (userfunc.c:5457)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x1AD719: ex_execute (eval.c:6514)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x354445: call_user_func (userfunc.c:2843)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2991)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2957)
==16332==    by 0x354FAC: call_func (userfunc.c:3557)
==16332==    by 0x3555CA: get_func_tv (userfunc.c:1787)
==16332==    by 0x355D40: ex_call (userfunc.c:5457)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x2D9A3B: do_source (scriptfile.c:1516)
==16332==  Block was alloc'd at
==16332==    at 0x4C32FB5: malloc (vg_replace_malloc.c:380)
==16332==    by 0x52E4805: XtMalloc (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52ED5B0: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52ED66E: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52EE00E: _XtCreatePopupShell (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x531D81B: XtVaCreatePopupShell (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x393FFB: gui_mch_add_menu (gui_athena.c:785)
==16332==    by 0x246CB8: gui_create_initial_menus (menu.c:2046)
==16332==    by 0x391014: gui_init (gui.c:705)
==16332==    by 0x3220C0: set_termname (term.c:1944)
==16332==    by 0x391B00: gui_attempt_start (gui.c:189)
==16332==    by 0x391BF7: gui_start (gui.c:134)
==16332==    by 0x391EB3: ex_gui (gui.c:5096)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x354445: call_user_func (userfunc.c:2843)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2991)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2957)
==16332==    by 0x354FAC: call_func (userfunc.c:3557)
==16332==    by 0x3555CA: get_func_tv (userfunc.c:1787)
==16332==    by 0x355D40: ex_call (userfunc.c:5457)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x1AD719: ex_execute (eval.c:6514)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x354445: call_user_func (userfunc.c:2843)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2991)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2957)
==16332==    by 0x354FAC: call_func (userfunc.c:3557)
==16332==
==16332== Invalid read of size 8
==16332==    at 0x52F03DE: XtWidgetToApplicationContext (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52EECBD: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x395013: gui_mch_destroy_menu (gui_athena.c:1584)
==16332==    by 0x24454E: free_menu (menu.c:1054)
==16332==    by 0x244D07: remove_menu.part.0 (menu.c:1022)
==16332==    by 0x2467DD: remove_menu (menu.c:923)
==16332==    by 0x2467DD: ex_menu (menu.c:356)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x354445: call_user_func (userfunc.c:2843)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2991)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2957)
==16332==    by 0x354FAC: call_func (userfunc.c:3557)
==16332==    by 0x3555CA: get_func_tv (userfunc.c:1787)
==16332==    by 0x355D40: ex_call (userfunc.c:5457)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x1AD719: ex_execute (eval.c:6514)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x354445: call_user_func (userfunc.c:2843)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2991)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2957)
==16332==    by 0x354FAC: call_func (userfunc.c:3557)
==16332==    by 0x3555CA: get_func_tv (userfunc.c:1787)
==16332==    by 0x355D40: ex_call (userfunc.c:5457)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x2D9A3B: do_source (scriptfile.c:1516)
==16332==    by 0x2DA8E2: cmd_source (scriptfile.c:1098)
==16332==    by 0x2DA8E2: cmd_source (scriptfile.c:1078)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x3C82DD: exe_commands (main.c:3089)
==16332==    by 0x3C82DD: vim_main2 (main.c:772)
==16332==  Address 0x95cab58 is 152 bytes inside a block of size 432 free'd
==16332==    at 0x4C3589F: free (vg_replace_malloc.c:755)
==16332==    by 0x52EE5B7: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52EE75E: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52EEC8D: _XtDoPhase2Destroy (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52EEE13: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x394FDD: gui_mch_destroy_menu (gui_athena.c:1561)
==16332==    by 0x24454E: free_menu (menu.c:1054)
==16332==    by 0x244D07: remove_menu.part.0 (menu.c:1022)
==16332==    by 0x2467DD: remove_menu (menu.c:923)
==16332==    by 0x2467DD: ex_menu (menu.c:356)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x354445: call_user_func (userfunc.c:2843)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2991)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2957)
==16332==    by 0x354FAC: call_func (userfunc.c:3557)
==16332==    by 0x3555CA: get_func_tv (userfunc.c:1787)
==16332==    by 0x355D40: ex_call (userfunc.c:5457)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x1AD719: ex_execute (eval.c:6514)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x354445: call_user_func (userfunc.c:2843)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2991)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2957)
==16332==    by 0x354FAC: call_func (userfunc.c:3557)
==16332==    by 0x3555CA: get_func_tv (userfunc.c:1787)
==16332==    by 0x355D40: ex_call (userfunc.c:5457)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x2D9A3B: do_source (scriptfile.c:1516)
==16332==  Block was alloc'd at
==16332==    at 0x4C32FB5: malloc (vg_replace_malloc.c:380)
==16332==    by 0x52E4805: XtMalloc (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52ED5B0: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52ED66E: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52EE00E: _XtCreatePopupShell (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x531D81B: XtVaCreatePopupShell (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x393FFB: gui_mch_add_menu (gui_athena.c:785)
==16332==    by 0x246CB8: gui_create_initial_menus (menu.c:2046)
==16332==    by 0x391014: gui_init (gui.c:705)
==16332==    by 0x3220C0: set_termname (term.c:1944)
==16332==    by 0x391B00: gui_attempt_start (gui.c:189)
==16332==    by 0x391BF7: gui_start (gui.c:134)
==16332==    by 0x391EB3: ex_gui (gui.c:5096)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x354445: call_user_func (userfunc.c:2843)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2991)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2957)
==16332==    by 0x354FAC: call_func (userfunc.c:3557)
==16332==    by 0x3555CA: get_func_tv (userfunc.c:1787)
==16332==    by 0x355D40: ex_call (userfunc.c:5457)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x1AD719: ex_execute (eval.c:6514)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x354445: call_user_func (userfunc.c:2843)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2991)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2957)
==16332==    by 0x354FAC: call_func (userfunc.c:3557)
==16332==
==16332== Invalid read of size 1
==16332==    at 0x52EECD7: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x395013: gui_mch_destroy_menu (gui_athena.c:1584)
==16332==    by 0x24454E: free_menu (menu.c:1054)
==16332==    by 0x244D07: remove_menu.part.0 (menu.c:1022)
==16332==    by 0x2467DD: remove_menu (menu.c:923)
==16332==    by 0x2467DD: ex_menu (menu.c:356)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x354445: call_user_func (userfunc.c:2843)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2991)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2957)
==16332==    by 0x354FAC: call_func (userfunc.c:3557)
==16332==    by 0x3555CA: get_func_tv (userfunc.c:1787)
==16332==    by 0x355D40: ex_call (userfunc.c:5457)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x1AD719: ex_execute (eval.c:6514)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x354445: call_user_func (userfunc.c:2843)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2991)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2957)
==16332==    by 0x354FAC: call_func (userfunc.c:3557)
==16332==    by 0x3555CA: get_func_tv (userfunc.c:1787)
==16332==    by 0x355D40: ex_call (userfunc.c:5457)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x2D9A3B: do_source (scriptfile.c:1516)
==16332==    by 0x2DA8E2: cmd_source (scriptfile.c:1098)
==16332==    by 0x2DA8E2: cmd_source (scriptfile.c:1078)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x3C82DD: exe_commands (main.c:3089)
==16332==    by 0x3C82DD: vim_main2 (main.c:772)
==16332==    by 0x712DC86: (below main) (libc-start.c:310)
==16332==  Address 0x95caadc is 28 bytes inside a block of size 432 free'd
==16332==    at 0x4C3589F: free (vg_replace_malloc.c:755)
==16332==    by 0x52EE5B7: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52EE75E: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52EEC8D: _XtDoPhase2Destroy (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52EEE13: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x394FDD: gui_mch_destroy_menu (gui_athena.c:1561)
==16332==    by 0x24454E: free_menu (menu.c:1054)
==16332==    by 0x244D07: remove_menu.part.0 (menu.c:1022)
==16332==    by 0x2467DD: remove_menu (menu.c:923)
==16332==    by 0x2467DD: ex_menu (menu.c:356)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x354445: call_user_func (userfunc.c:2843)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2991)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2957)
==16332==    by 0x354FAC: call_func (userfunc.c:3557)
==16332==    by 0x3555CA: get_func_tv (userfunc.c:1787)
==16332==    by 0x355D40: ex_call (userfunc.c:5457)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x1AD719: ex_execute (eval.c:6514)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x354445: call_user_func (userfunc.c:2843)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2991)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2957)
==16332==    by 0x354FAC: call_func (userfunc.c:3557)
==16332==    by 0x3555CA: get_func_tv (userfunc.c:1787)
==16332==    by 0x355D40: ex_call (userfunc.c:5457)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x2D9A3B: do_source (scriptfile.c:1516)
==16332==  Block was alloc'd at
==16332==    at 0x4C32FB5: malloc (vg_replace_malloc.c:380)
==16332==    by 0x52E4805: XtMalloc (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52ED5B0: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52ED66E: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x52EE00E: _XtCreatePopupShell (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x531D81B: XtVaCreatePopupShell (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==16332==    by 0x393FFB: gui_mch_add_menu (gui_athena.c:785)
==16332==    by 0x246CB8: gui_create_initial_menus (menu.c:2046)
==16332==    by 0x391014: gui_init (gui.c:705)
==16332==    by 0x3220C0: set_termname (term.c:1944)
==16332==    by 0x391B00: gui_attempt_start (gui.c:189)
==16332==    by 0x391BF7: gui_start (gui.c:134)
==16332==    by 0x391EB3: ex_gui (gui.c:5096)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x354445: call_user_func (userfunc.c:2843)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2991)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2957)
==16332==    by 0x354FAC: call_func (userfunc.c:3557)
==16332==    by 0x3555CA: get_func_tv (userfunc.c:1787)
==16332==    by 0x355D40: ex_call (userfunc.c:5457)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x1AD719: ex_execute (eval.c:6514)
==16332==    by 0x1DAFD6: do_one_cmd (ex_docmd.c:2567)
==16332==    by 0x1DAFD6: do_cmdline (ex_docmd.c:993)
==16332==    by 0x354445: call_user_func (userfunc.c:2843)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2991)
==16332==    by 0x354A13: call_user_func_check (userfunc.c:2957)
==16332==    by 0x354FAC: call_func (userfunc.c:3557)

The stack with athena GUI indeed points to a bug related to menus.

Bisectiing with the Motif GUI:
make clean
./configure --with-features=huge --enable-gui=motif
make -j12
make test_gui

GIT   TAG
---------
v8.2.4519 (FAIL) 1 test failed: Test_set_guifontwide
v8.2.4492 (FAIL) 1 test failed: Test_set_guifontwide
v8.2.4491 (PASS)

So recent patch 8.2.4492 introduced a regression.
Bisecting with Athena GUI:
make clean
./configure --with-features=huge --enable-gui=athena
make -j12
make test_gui

GIT   TAG
---------
v8.2.4519 (FAIL) 4 tests failed: Test_gui_tabline_event & Test_gui_tabmenu_event & Test_gui_findrepl & Test_set_guifontwide
v8.2.4500 (FAIL) 4 tests failed: Test_gui_tabline_event & Test_gui_tabmenu_event & Test_gui_findrepl & Test_set_guifontwide
v8.2.4495 (FAIL) 4 tests failed: Test_gui_tabline_event & Test_gui_tabmenu_event & Test_gui_findrepl & Test_set_guifontwide
v8.2.4493 (FAIL) 4 tests failed: Test_gui_tabline_event & Test_gui_tabmenu_event & Test_gui_findrepl & Test_set_guifontwide
v8.2.4492 (FAIL) 4 tests failed: Test_gui_tabline_event & Test_gui_tabmenu_event & Test_gui_findrepl & Test_set_guifontwide
v8.2.4491 (FAIL) 3 tests failed: Test_gui_tabline_event & Test_gui_tabmenu_event & Test_gui_findrepl
v8.2.4490 (FAIL) 3 tests failed: Test_gui_tabline_event & Test_gui_tabmenu_event & Test_gui_findrepl
v8.2.4570 (FAIL) 3 tests failed: Test_gui_tabline_event & Test_gui_tabmenu_event & Test_gui_findrepl
v8.2.4450 (FAIL) 3 tests failed: Test_gui_tabline_event & Test_gui_tabmenu_event & Test_gui_findrepl
v8.2.4400 (FAIL) 3 tests failed: Test_gui_tabline_event & Test_gui_tabmenu_event & Test_gui_findrepl
v8.2.4300 (FAIL) 3 tests failed: Test_gui_tabline_event & Test_gui_tabmenu_event & Test_gui_findrepl
v8.2.4275 (????) failed to build: undefined reference to `gui_do_findrepl'
v8.2.4270 (????) failed to build: undefined reference to `gui_do_findrepl'
v8.2.4265 (????) failed to build: undefined reference to `gui_do_findrepl'
v8.2.4263 (????) failed to build: undefined reference to `gui_do_findrepl'
v8.2.4262 (FAIL) 2 tests failed: Test_gui_tabline_event & Test_gui_tabmenu_event
v8.2.4260 (FAIL) 2 tests failed: Test_gui_tabline_event & Test_gui_tabmenu_event
v8.2.4250 (FAIL) 2 tests failed: Test_gui_tabline_event & Test_gui_tabmenu_event
v8.2.4240 (????) 2 tests failed: Test_gui_tabline_event & Test_gui_tabmenu_event
v8.2.4339 (????) 2 tests failed: Test_gui_tabline_event & Test_gui_tabmenu_event
v8.2.4337 (????) failed to build: undefined reference to `send_tabline_menu_event'
v8.2.4235 (????) failed to build: undefined reference to `send_tabline_menu_event'
v8.2.4230 (????) failed to build: undefined reference to `send_tabline_menu_event'
v8.2.4229 (????) failed to build: undefined reference to `send_tabline_menu_event'
v8.2.4228 (PASS)
v8.2.4225 (PASS)
v8.2.4220 (PASS)
v8.2.4200 (PASS)
v8.2.4000 (PASS)
v8.2.3000 (PASS)
v8.2.2000 (PASS)

Tests have been failing for a long time with Athena GUI and sometimes
there were also build errors. I'm surprised we did not notice this earlier.
It shows that the Athena GUI deserves a CI build.
Or should we consider dropping the Athena GUI?
It's very old. Does anybody still needs it?
Furthermore, in all cases Valgrind shows invalid memory accesses
with both Athena and Motif GUIs. Confusingly, asan does not find
memory errors though.

Bisectiing with the Motif GUI:
make clean
./configure --with-features=huge --enable-gui=motif
make -j12
make test_gui

GIT   TAG
---------
v8.2.4519 (FAIL) 1 test failed: Test_set_guifontwide
v8.2.4492 (FAIL) 1 test failed: Test_set_guifontwide
v8.2.4491 (PASS)

So recent patch 8.2.4492 introduced a regression.

That patch introduced an error for using a wrong option value.
So probably this uncovered a mistake in the Motif tests.  Hmm, looks
like it was intentional:
  " Set it to an invalid value brutally for preparation.
  let &guifontset = '-*-notexist-*'

Removing that makes it pass.  Previously it would have had no effect,
only the error message is new.  Let me just remove it.

Bisecting with Athena GUI:
make clean
./configure --with-features=huge --enable-gui=athena
make -j12
make test_gui

GIT   TAG
---------
v8.2.4519 (FAIL) 4 tests failed: Test_gui_tabline_event & Test_gui_tabmenu_event & Test_gui_findrepl & Test_set_guifontwide

[...]

v8.2.4229 (????) failed to build: undefined reference to `send_tabline_menu_event'
v8.2.4228 (PASS)
v8.2.4225 (PASS)

Tests have been failing for a long time with Athena GUI and sometimes
there were also build errors. I'm surprised we did not notice this earlier.

The ???? means a flaky test failed?  I don't see a relation betwen
8.2.4229 and tabline.

It shows that the Athena GUI deserves a CI build.
Or should we consider dropping the Athena GUI?
It's very old. Does anybody still needs it?

The Athena GUI is the only one using basic X libraries.  The Motif
library were commerical for a long time.  I'm not sure what the current
status of the Motif libraries is.  It does appear to work with whatever
libraries are currently available.  Are they available to every one?

Furthermore, in all cases Valgrind shows invalid memory accesses
with both Athena and Motif GUIs. Confusingly, asan does not find
memory errors though.

This requires more investigation.  Once this is fixed we could add a CI
run for Athena and Motif.
--
hundred-and-one symptoms of being an internet addict:
184. You no longer ask prospective dates what their sign is, instead
your line is "Hi, what's your URL?"
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

@brammool  wrote:

The ???? means a flaky test failed?  I don't see a relation betwen
8.2.4229 and tabline.

The ???? means that I could not run the test, because that version
of Vim  failed to build (link error as I wrote in my comment).
At tag v8.2.4229, I get:
$ ./configure --with-features=huge --enable-gui=athena
$ make -j12
…
/usr/local/bin/ld: objects/testing.o: in function `f_test_gui_tabline_event':
/home/pel/sb/vim/src/testing.c:1354: undefined reference to `send_tabline_event'
/usr/local/bin/ld: objects/testing.o: in function `f_test_gui_tabmenu_event':
/home/pel/sb/vim/src/testing.c:1372: undefined reference to `send_tabline_menu_event'

Ah, I made a mistake.  I get the same link error at tag v8.2.4228.
But tag v8.2.4427 builds fine and has no failing test with Athena GUI.
In other words, it should have been:
v8.2.4229 (????) failed to build: undefined reference to `send_tabline_menu_event'
v8.2.4228 (????) failed to build: undefined reference to `send_tabline_menu_event'
v8.2.4227 (PASS)

Which makes sense since patch 8.2.4228 introduced function
send_tabline_menu_event(). If the crash you see is related
to menus, it's probably related to that patch.

The Athena GUI is the only one using basic X libraries.  The Motif
library were commerical for a long time.

Yes. LessTif was the free alternative, but it was abandoned
after Motif became available under LGPL license since 2012
according to https://en.wikipedia.org/wiki/Motif_(software).
Even before that, LessTif had very little development activity
(last release being from 2009).
I assume the LGPL Motif is available on all Unix-like OS.

I think that this ticket has 2 unrelated distinct issues:

valgrind errors with Athena and Motif GUI related to menu
3 test failures in Test_gui_findrepl, Test_gui_tabline_event and Test_gui_tabmenu_event with Athena GUI only, introduced in patch 8.2.4228

I can reproduce the valgrind error with both Athena and Motif GUI using this minimized command:

$ valgrind --num-callers=50 ./vim -f -g --clean -c'aunmenu Help' -c'tlunmenu Help' -cq

With Motif GUI:
$ valgrind --num-callers=50 ./vim -f -g --clean -c'aunmenu Help' -c'tlunmenu Help' -cq
==18752== Memcheck, a memory error detector
==18752== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==18752== Using Valgrind-3.17.0.GIT and LibVEX; rerun with -h for copyright info
==18752== Command: ./vim -f -g --clean -caunmenu\ Help -ctlunmenu\ Help -cq
==18752==
==18752== Invalid read of size 8
==18752==    at 0x519168F: _XmEntryTextGet (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x519B7D6: _XmStringDrawSegment (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x519C445: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x519CC44: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x519CEFA: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x519D861: XmStringDrawUnderline (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x511296E: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x396F56: label_expose (gui_motif.c:309)
==18752==    by 0x50DDA1C: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x553F6E3: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x5541331: XtDispatchEventToWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x55417DA: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x5541918: XtDispatchEvent (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x554D5CE: XtAppProcessEvent (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x3A0A6D: gui_mch_update (gui_x11.c:2614)
==18752==    by 0x5541245: XtDispatchEventToWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x55417DA: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x5541918: XtDispatchEvent (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x554D5CE: XtAppProcessEvent (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x3A0A6D: gui_mch_update (gui_x11.c:2614)
==18752==    by 0x395DAE: gui_start (gui.c:161)
==18752==    by 0x3CE054: vim_main2 (main.c:528)
==18752==    by 0x737BC86: (below main) (libc-start.c:310)
==18752==  Address 0xc3cea88 is 0 bytes after a block of size 8 alloc'd
==18752==    at 0x4C32FB5: malloc (vg_replace_malloc.c:380)
==18752==    by 0x5532805: XtMalloc (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x5198024: _XmStringNCreate (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x5198260: XmStringCreate (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x51128B0: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x396F56: label_expose (gui_motif.c:309)
==18752==    by 0x50DDA1C: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x553F6E3: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x5541331: XtDispatchEventToWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x55417DA: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x5541918: XtDispatchEvent (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x554D5CE: XtAppProcessEvent (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x3A0A6D: gui_mch_update (gui_x11.c:2614)
==18752==    by 0x5541245: XtDispatchEventToWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x55417DA: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x5541918: XtDispatchEvent (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x554D5CE: XtAppProcessEvent (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==18752==    by 0x3A0A6D: gui_mch_update (gui_x11.c:2614)
==18752==    by 0x395DAE: gui_start (gui.c:161)
==18752==    by 0x3CE054: vim_main2 (main.c:528)
==18752==    by 0x737BC86: (below main) (libc-start.c:310)
==18752==
==18752==
==18752== HEAP SUMMARY:
==18752==     in use at exit: 1,826,926 bytes in 7,196 blocks
==18752==   total heap usage: 99,270 allocs, 92,074 frees, 42,198,941 bytes allocated
==18752==
==18752== LEAK SUMMARY:
==18752==    definitely lost: 257 bytes in 27 blocks
==18752==    indirectly lost: 160 bytes in 6 blocks
==18752==      possibly lost: 23,720 bytes in 395 blocks
==18752==    still reachable: 1,802,789 bytes in 6,768 blocks
==18752==         suppressed: 0 bytes in 0 blocks
==18752== Rerun with --leak-check=full to see details of leaked memory
==18752==
==18752== For lists of detected and suppressed errors, rerun with: -s
==18752== ERROR SUMMARY: 6 errors from 1 contexts (suppressed: 82 from 1)

With Athena GUI:
$ valgrind --num-callers=50 ./vim -f -g --clean -c'aunmenu Help' -c'tlunmenu Help' -cq
==21524== Memcheck, a memory error detector
==21524== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==21524== Using Valgrind-3.17.0.GIT and LibVEX; rerun with -h for copyright info
==21524== Command: ./vim -f -g --clean -caunmenu\ Help -ctlunmenu\ Help -cq
==21524==
==21524== Invalid read of size 8
==21524==    at 0x52F03D1: XtWidgetToApplicationContext (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52EECBD: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x3962E3: gui_mch_destroy_menu (gui_athena.c:1584)
==21524==    by 0x244E5E: free_menu (menu.c:1054)
==21524==    by 0x245617: remove_menu.part.0 (menu.c:1022)
==21524==    by 0x2470ED: remove_menu (menu.c:923)
==21524==    by 0x2470ED: ex_menu (menu.c:356)
==21524==    by 0x1DB6C6: do_one_cmd (ex_docmd.c:2567)
==21524==    by 0x1DB6C6: do_cmdline (ex_docmd.c:993)
==21524==    by 0x3C967D: exe_commands (main.c:3089)
==21524==    by 0x3C967D: vim_main2 (main.c:772)
==21524==    by 0x712DC86: (below main) (libc-start.c:310)
==21524==  Address 0xa2bac28 is 8 bytes inside a block of size 432 free'd
==21524==    at 0x4C3589F: free (vg_replace_malloc.c:755)
==21524==    by 0x52EE5B7: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52EE75E: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52EEC8D: _XtDoPhase2Destroy (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52EEE13: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x3962AD: gui_mch_destroy_menu (gui_athena.c:1561)
==21524==    by 0x244E5E: free_menu (menu.c:1054)
==21524==    by 0x245617: remove_menu.part.0 (menu.c:1022)
==21524==    by 0x2470ED: remove_menu (menu.c:923)
==21524==    by 0x2470ED: ex_menu (menu.c:356)
==21524==    by 0x1DB6C6: do_one_cmd (ex_docmd.c:2567)
==21524==    by 0x1DB6C6: do_cmdline (ex_docmd.c:993)
==21524==    by 0x3C967D: exe_commands (main.c:3089)
==21524==    by 0x3C967D: vim_main2 (main.c:772)
==21524==    by 0x712DC86: (below main) (libc-start.c:310)
==21524==  Block was alloc'd at
==21524==    at 0x4C32FB5: malloc (vg_replace_malloc.c:380)
==21524==    by 0x52E4805: XtMalloc (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52ED5B0: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52ED66E: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52EE00E: _XtCreatePopupShell (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x531D81B: XtVaCreatePopupShell (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x3952CB: gui_mch_add_menu (gui_athena.c:785)
==21524==    by 0x2475C8: gui_create_initial_menus (menu.c:2046)
==21524==    by 0x3922E4: gui_init (gui.c:705)
==21524==    by 0x322F00: set_termname (term.c:1944)
==21524==    by 0x392DD0: gui_attempt_start (gui.c:189)
==21524==    by 0x392EC7: gui_start (gui.c:134)
==21524==    by 0x3C8B64: vim_main2 (main.c:528)
==21524==    by 0x712DC86: (below main) (libc-start.c:310)
==21524==
==21524== Invalid read of size 8
==21524==    at 0x52F03DE: XtWidgetToApplicationContext (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52EECBD: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x3962E3: gui_mch_destroy_menu (gui_athena.c:1584)
==21524==    by 0x244E5E: free_menu (menu.c:1054)
==21524==    by 0x245617: remove_menu.part.0 (menu.c:1022)
==21524==    by 0x2470ED: remove_menu (menu.c:923)
==21524==    by 0x2470ED: ex_menu (menu.c:356)
==21524==    by 0x1DB6C6: do_one_cmd (ex_docmd.c:2567)
==21524==    by 0x1DB6C6: do_cmdline (ex_docmd.c:993)
==21524==    by 0x3C967D: exe_commands (main.c:3089)
==21524==    by 0x3C967D: vim_main2 (main.c:772)
==21524==    by 0x712DC86: (below main) (libc-start.c:310)
==21524==  Address 0xa2bacb8 is 152 bytes inside a block of size 432 free'd
==21524==    at 0x4C3589F: free (vg_replace_malloc.c:755)
==21524==    by 0x52EE5B7: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52EE75E: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52EEC8D: _XtDoPhase2Destroy (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52EEE13: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x3962AD: gui_mch_destroy_menu (gui_athena.c:1561)
==21524==    by 0x244E5E: free_menu (menu.c:1054)
==21524==    by 0x245617: remove_menu.part.0 (menu.c:1022)
==21524==    by 0x2470ED: remove_menu (menu.c:923)
==21524==    by 0x2470ED: ex_menu (menu.c:356)
==21524==    by 0x1DB6C6: do_one_cmd (ex_docmd.c:2567)
==21524==    by 0x1DB6C6: do_cmdline (ex_docmd.c:993)
==21524==    by 0x3C967D: exe_commands (main.c:3089)
==21524==    by 0x3C967D: vim_main2 (main.c:772)
==21524==    by 0x712DC86: (below main) (libc-start.c:310)
==21524==  Block was alloc'd at
==21524==    at 0x4C32FB5: malloc (vg_replace_malloc.c:380)
==21524==    by 0x52E4805: XtMalloc (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52ED5B0: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52ED66E: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52EE00E: _XtCreatePopupShell (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x531D81B: XtVaCreatePopupShell (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x3952CB: gui_mch_add_menu (gui_athena.c:785)
==21524==    by 0x2475C8: gui_create_initial_menus (menu.c:2046)
==21524==    by 0x3922E4: gui_init (gui.c:705)
==21524==    by 0x322F00: set_termname (term.c:1944)
==21524==    by 0x392DD0: gui_attempt_start (gui.c:189)
==21524==    by 0x392EC7: gui_start (gui.c:134)
==21524==    by 0x3C8B64: vim_main2 (main.c:528)
==21524==    by 0x712DC86: (below main) (libc-start.c:310)
==21524==
==21524== Invalid read of size 1
==21524==    at 0x52EECD7: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x3962E3: gui_mch_destroy_menu (gui_athena.c:1584)
==21524==    by 0x244E5E: free_menu (menu.c:1054)
==21524==    by 0x245617: remove_menu.part.0 (menu.c:1022)
==21524==    by 0x2470ED: remove_menu (menu.c:923)
==21524==    by 0x2470ED: ex_menu (menu.c:356)
==21524==    by 0x1DB6C6: do_one_cmd (ex_docmd.c:2567)
==21524==    by 0x1DB6C6: do_cmdline (ex_docmd.c:993)
==21524==    by 0x3C967D: exe_commands (main.c:3089)
==21524==    by 0x3C967D: vim_main2 (main.c:772)
==21524==    by 0x712DC86: (below main) (libc-start.c:310)
==21524==  Address 0xa2bac3c is 28 bytes inside a block of size 432 free'd
==21524==    at 0x4C3589F: free (vg_replace_malloc.c:755)
==21524==    by 0x52EE5B7: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52EE75E: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52EEC8D: _XtDoPhase2Destroy (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52EEE13: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x3962AD: gui_mch_destroy_menu (gui_athena.c:1561)
==21524==    by 0x244E5E: free_menu (menu.c:1054)
==21524==    by 0x245617: remove_menu.part.0 (menu.c:1022)
==21524==    by 0x2470ED: remove_menu (menu.c:923)
==21524==    by 0x2470ED: ex_menu (menu.c:356)
==21524==    by 0x1DB6C6: do_one_cmd (ex_docmd.c:2567)
==21524==    by 0x1DB6C6: do_cmdline (ex_docmd.c:993)
==21524==    by 0x3C967D: exe_commands (main.c:3089)
==21524==    by 0x3C967D: vim_main2 (main.c:772)
==21524==    by 0x712DC86: (below main) (libc-start.c:310)
==21524==  Block was alloc'd at
==21524==    at 0x4C32FB5: malloc (vg_replace_malloc.c:380)
==21524==    by 0x52E4805: XtMalloc (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52ED5B0: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52ED66E: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52EE00E: _XtCreatePopupShell (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x531D81B: XtVaCreatePopupShell (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x3952CB: gui_mch_add_menu (gui_athena.c:785)
==21524==    by 0x2475C8: gui_create_initial_menus (menu.c:2046)
==21524==    by 0x3922E4: gui_init (gui.c:705)
==21524==    by 0x322F00: set_termname (term.c:1944)
==21524==    by 0x392DD0: gui_attempt_start (gui.c:189)
==21524==    by 0x392EC7: gui_start (gui.c:134)
==21524==    by 0x3C8B64: vim_main2 (main.c:528)
==21524==    by 0x712DC86: (below main) (libc-start.c:310)
==21524==
==21524==
==21524== HEAP SUMMARY:
==21524==     in use at exit: 810,441 bytes in 2,360 blocks
==21524==   total heap usage: 70,303 allocs, 67,943 frees, 37,268,284 bytes allocated
==21524==
==21524== LEAK SUMMARY:
==21524==    definitely lost: 17 bytes in 2 blocks
==21524==    indirectly lost: 0 bytes in 0 blocks
==21524==      possibly lost: 0 bytes in 0 blocks
==21524==    still reachable: 810,424 bytes in 2,358 blocks
==21524==         suppressed: 0 bytes in 0 blocks
==21524== Rerun with --leak-check=full to see details of leaked memory
==21524==
==21524== For lists of detected and suppressed errors, rerun with: -s
==21524== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 17 from 1)

If I comment out all tests in src/testdir/test_gui.vim, except the last 3, I get:

$ make test_gui
cd testdir; make test_gui VIMPROG=../vim  SCRIPTSOURCE=../../runtime
make[1]: Entering directory '/home/pel/sb/vim/src/testdir'
rm -f test_gui.res test.log messages
VIMRUNTIME=../../runtime  ../vim -f  -u unix.vim -u NONE -U NONE --noplugin --not-a-term -S runtest.vim test_gui.vim

From test_gui.vim:
Executed Test_gui_findrepl()                       in   0.000556 seconds
Executed Test_gui_tabline_event()                  in   0.001721 seconds
Executed Test_gui_tabmenu_event()                  in   0.000949 seconds
Executed 3 tests                         in   0.016333 seconds
3 FAILED:
Found errors in Test_gui_findrepl():
Caught exception in Test_gui_findrepl(): Vim(call):E475: Invalid argument: findrepl @ command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_findrepl, line 6
Found errors in Test_gui_tabline_event():
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabline_event line 7: Expected v:true but got v:false
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabline_event line 9: Expected 2 but got 1
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabline_event line 10: Expected v:true but got v:false
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabline_event line 12: Expected 3 but got 1
Found errors in Test_gui_tabmenu_event():
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabmenu_event line 11: Expected 1 but got 2
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabmenu_event line 21: Expected 3 but got 2
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabmenu_event line 27: Expected 'False' but got v:true
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabmenu_event line 28: Expected 'False' but got v:true
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabmenu_event line 29: Expected 'False' but got v:true
command line..script /home/pel/sb/vim/src/testdir/runtest.vim[456]..function RunTheTest[44]..Test_gui_tabmenu_event line 30: Expected 'False' but got v:true
Makefile:63: recipe for target 'test_gui' failed
make[1]: *** [test_gui] Error 1
make[1]: Leaving directory '/home/pel/sb/vim/src/testdir'
Makefile:2353: recipe for target 'test_gui' failed
make: *** [test_gui] Error 2

Valgrind output after adding a few debug printf(stderr, "*** …") (without changing line number) with Athena GUI:
{noformat}
$ valgrind --num-callers=50 ./vim -f -g --clean -c'aunmenu Help' -c'tlunmenu Help' -cq
==26675== Memcheck, a memory error detector
==26675== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==26675== Using Valgrind-3.17.0.GIT and LibVEX; rerun with -h for copyright info
==26675== Command: ./vim -f -g --clean -caunmenu\ Help -ctlunmenu\ Help -cq
==26675==
*** Entering gui_mch_menu
*** Exiting gui_mch_menu
*** Entering gui_mch_menu
*** Exiting gui_mch_menu
*** Entering gui_mch_menu
*** Exiting gui_mch_menu
*** Entering gui_mch_menu
*** Exiting gui_mch_menu
*** Entering gui_mch_menu
*** Exiting gui_mch_menu
*** Entering gui_mch_menu
*** Exiting gui_mch_menu
*** Entering gui_mch_menu
*** Exiting gui_mch_menu
*** Entering gui_mch_menu
*** Exiting gui_mch_menu
*** Entering gui_mch_menu
*** Exiting gui_mch_menu
*** Entering gui_mch_menu
*** Exiting gui_mch_menu
*** Entering gui_mch_menu
*** Exiting gui_mch_menu
*** Entering gui_mch_menu
*** Exiting gui_mch_menu
*** Entering gui_mch_menu
*** [gui_mch_destroy_menu:1561] freeing menu id [0xa2b9900]
*** [gui_mch_destroy_menu:1583] freeing menu id [0xa2bac20]
==26675== Invalid read of size 8
==26675==    at 0x52F03D1: XtWidgetToApplicationContext (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52EECBD: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x40FA94: gui_mch_destroy_menu (gui_athena.c:1584)
==26675==    by 0x26C0B9: free_menu (menu.c:1054)
==26675==    by 0x26C040: remove_menu (menu.c:1022)
==26675==    by 0x26AF7F: ex_menu (menu.c:356)
==26675==    by 0x1DF000: do_one_cmd (ex_docmd.c:2567)
==26675==    by 0x1DBFAB: do_cmdline (ex_docmd.c:993)
==26675==    by 0x1DB43A: do_cmdline_cmd (ex_docmd.c:587)
==26675==    by 0x455A38: exe_commands (main.c:3089)
==26675==    by 0x452470: vim_main2 (main.c:772)
==26675==    by 0x451CEF: main (main.c:424)
==26675==  Address 0xa2bac28 is 8 bytes inside a block of size 432 free'd
==26675==    at 0x4C3589F: free (vg_replace_malloc.c:755)
==26675==    by 0x52EE5B7: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52EE75E: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52EEC8D: _XtDoPhase2Destroy (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52EEE13: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x40F9A3: gui_mch_destroy_menu (gui_athena.c:1561)
==26675==    by 0x26C0B9: free_menu (menu.c:1054)
==26675==    by 0x26C040: remove_menu (menu.c:1022)
==26675==    by 0x26AF7F: ex_menu (menu.c:356)
==26675==    by 0x1DF000: do_one_cmd (ex_docmd.c:2567)
==26675==    by 0x1DBFAB: do_cmdline (ex_docmd.c:993)
==26675==    by 0x1DB43A: do_cmdline_cmd (ex_docmd.c:587)
==26675==    by 0x455A38: exe_commands (main.c:3089)
==26675==    by 0x452470: vim_main2 (main.c:772)
==26675==    by 0x451CEF: main (main.c:424)
==26675==  Block was alloc'd at
==26675==    at 0x4C32FB5: malloc (vg_replace_malloc.c:380)
==26675==    by 0x52E4805: XtMalloc (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52ED5B0: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52ED66E: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52EE00E: _XtCreatePopupShell (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x531D81B: XtVaCreatePopupShell (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x40DF28: gui_mch_add_menu (gui_athena.c:785)
==26675==    by 0x26DB21: gui_create_initial_menus (menu.c:2046)
==26675==    by 0x4063E9: gui_init (gui.c:705)
==26675==    by 0x379203: set_termname (term.c:1944)
==26675==    by 0x379C8E: termcapinit (term.c:2532)
==26675==    by 0x4059F5: gui_attempt_start (gui.c:189)
==26675==    by 0x405938: gui_start (gui.c:134)
==26675==    by 0x451ECE: vim_main2 (main.c:528)
==26675==    by 0x451CEF: main (main.c:424)
==26675==
==26675== Invalid read of size 8
==26675==    at 0x52F03DE: XtWidgetToApplicationContext (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52EECBD: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x40FA94: gui_mch_destroy_menu (gui_athena.c:1584)
==26675==    by 0x26C0B9: free_menu (menu.c:1054)
==26675==    by 0x26C040: remove_menu (menu.c:1022)
==26675==    by 0x26AF7F: ex_menu (menu.c:356)
==26675==    by 0x1DF000: do_one_cmd (ex_docmd.c:2567)
==26675==    by 0x1DBFAB: do_cmdline (ex_docmd.c:993)
==26675==    by 0x1DB43A: do_cmdline_cmd (ex_docmd.c:587)
==26675==    by 0x455A38: exe_commands (main.c:3089)
==26675==    by 0x452470: vim_main2 (main.c:772)
==26675==    by 0x451CEF: main (main.c:424)
==26675==  Address 0xa2bacb8 is 152 bytes inside a block of size 432 free'd
==26675==    at 0x4C3589F: free (vg_replace_malloc.c:755)
==26675==    by 0x52EE5B7: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52EE75E: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52EEC8D: _XtDoPhase2Destroy (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52EEE13: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x40F9A3: gui_mch_destroy_menu (gui_athena.c:1561)
==26675==    by 0x26C0B9: free_menu (menu.c:1054)
==26675==    by 0x26C040: remove_menu (menu.c:1022)
==26675==    by 0x26AF7F: ex_menu (menu.c:356)
==26675==    by 0x1DF000: do_one_cmd (ex_docmd.c:2567)
==26675==    by 0x1DBFAB: do_cmdline (ex_docmd.c:993)
==26675==    by 0x1DB43A: do_cmdline_cmd (ex_docmd.c:587)
==26675==    by 0x455A38: exe_commands (main.c:3089)
==26675==    by 0x452470: vim_main2 (main.c:772)
==26675==    by 0x451CEF: main (main.c:424)
==26675==  Block was alloc'd at
==26675==    at 0x4C32FB5: malloc (vg_replace_malloc.c:380)
==26675==    by 0x52E4805: XtMalloc (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52ED5B0: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52ED66E: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52EE00E: _XtCreatePopupShell (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x531D81B: XtVaCreatePopupShell (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x40DF28: gui_mch_add_menu (gui_athena.c:785)
==26675==    by 0x26DB21: gui_create_initial_menus (menu.c:2046)
==26675==    by 0x4063E9: gui_init (gui.c:705)
==26675==    by 0x379203: set_termname (term.c:1944)
==26675==    by 0x379C8E: termcapinit (term.c:2532)
==26675==    by 0x4059F5: gui_attempt_start (gui.c:189)
==26675==    by 0x405938: gui_start (gui.c:134)
==26675==    by 0x451ECE: vim_main2 (main.c:528)
==26675==    by 0x451CEF: main (main.c:424)
==26675==
==26675== Invalid read of size 1
==26675==    at 0x52EECD7: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x40FA94: gui_mch_destroy_menu (gui_athena.c:1584)
==26675==    by 0x26C0B9: free_menu (menu.c:1054)
==26675==    by 0x26C040: remove_menu (menu.c:1022)
==26675==    by 0x26AF7F: ex_menu (menu.c:356)
==26675==    by 0x1DF000: do_one_cmd (ex_docmd.c:2567)
==26675==    by 0x1DBFAB: do_cmdline (ex_docmd.c:993)
==26675==    by 0x1DB43A: do_cmdline_cmd (ex_docmd.c:587)
==26675==    by 0x455A38: exe_commands (main.c:3089)
==26675==    by 0x452470: vim_main2 (main.c:772)
==26675==    by 0x451CEF: main (main.c:424)
==26675==  Address 0xa2bac3c is 28 bytes inside a block of size 432 free'd
==26675==    at 0x4C3589F: free (vg_replace_malloc.c:755)
==26675==    by 0x52EE5B7: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52EE75E: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52EEC8D: _XtDoPhase2Destroy (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52EEE13: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x40F9A3: gui_mch_destroy_menu (gui_athena.c:1561)
==26675==    by 0x26C0B9: free_menu (menu.c:1054)
==26675==    by 0x26C040: remove_menu (menu.c:1022)
==26675==    by 0x26AF7F: ex_menu (menu.c:356)
==26675==    by 0x1DF000: do_one_cmd (ex_docmd.c:2567)
==26675==    by 0x1DBFAB: do_cmdline (ex_docmd.c:993)
==26675==    by 0x1DB43A: do_cmdline_cmd (ex_docmd.c:587)
==26675==    by 0x455A38: exe_commands (main.c:3089)
==26675==    by 0x452470: vim_main2 (main.c:772)
==26675==    by 0x451CEF: main (main.c:424)
==26675==  Block was alloc'd at
==26675==    at 0x4C32FB5: malloc (vg_replace_malloc.c:380)
==26675==    by 0x52E4805: XtMalloc (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52ED5B0: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52ED66E: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x52EE00E: _XtCreatePopupShell (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x531D81B: XtVaCreatePopupShell (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==26675==    by 0x40DF28: gui_mch_add_menu (gui_athena.c:785)
==26675==    by 0x26DB21: gui_create_initial_menus (menu.c:2046)
==26675==    by 0x4063E9: gui_init (gui.c:705)
==26675==    by 0x379203: set_termname (term.c:1944)
==26675==    by 0x379C8E: termcapinit (term.c:2532)
==26675==    by 0x4059F5: gui_attempt_start (gui.c:189)
==26675==    by 0x405938: gui_start (gui.c:134)
==26675==    by 0x451ECE: vim_main2 (main.c:528)
==26675==    by 0x451CEF: main (main.c:424)
==26675==
*** Exiting gui_mch_menu
==26675==
==26675== HEAP SUMMARY:
==26675==     in use at exit: 810,441 bytes in 2,360 blocks
==26675==   total heap usage: 70,221 allocs, 67,861 frees, 37,595,928 bytes allocated
==26675==
==26675== LEAK SUMMARY:
==26675==    definitely lost: 17 bytes in 2 blocks
==26675==    indirectly lost: 0 bytes in 0 blocks
==26675==      possibly lost: 0 bytes in 0 blocks
==26675==    still reachable: 810,424 bytes in 2,358 blocks
==26675==         suppressed: 0 bytes in 0 blocks
==26675== Rerun with --leak-check=full to see details of leaked memory
==26675==
==26675== For lists of detected and suppressed errors, rerun with: -s
==26675== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 17 from 1)
{noformat}
{noformat}
1534         /*
1535          * This is a hack to stop the Athena simpleMenuWidget from getting a
1536          * BadValue error when a menu's last child is destroyed. We check to
1537          * see if this is the last child and if so, don't delete it. The parent
1538          * will be deleted soon anyway, and it will delete its children like
1539          * all good widgets do.
1540          /
1541         // NOTE: The cause of the BadValue X Protocol Error is because when the
1542         // last child is destroyed, it is first unmanaged, thus causing a
1543         // geometry resize request from the parent Shell widget.
1544         // Since the Shell widget has no more children, it is resized to have
1545         // width/height of 0.  XConfigureWindow() is then called with the
1546         // width/height of 0, which generates the BadValue.
1547         //
1548         // This happens in phase two of the widget destruction process.
1549         {
1550             if (parent != menuBar
1551 #ifdef FEAT_TOOLBAR
1552                     && parent != toolBar
1553 #endif
1554                     )
1555             {
1556                 XtVaGetValues(parent, XtNnumChildren, &num_children, NULL);
1557                 if (num_children > 1)
1558                     XtDestroyWidget(menu->id);
1559             }
1560             else
1561             {fprintf(stderr, "** [%s:%d] freeing menu id [%p]\n", FUNCTION, LINE, (void*)(menu->id)); XtDestroyWidget(menu->id);} //1
1562             menu->id = (Widget)0;
1563         }
1564
1565         if (parent == menuBar)
1566         {
1567             if (!gui.menu_height_fixed)
1568                 gui.menu_height = height + 2 * (space + border);
1569         }
1570 #ifdef FEAT_TOOLBAR
1571         else if (parent == toolBar)
1572         {
1573             // When removing last toolbar item, don't display the toolbar.
1574             XtVaGetValues(toolBar, XtNnumChildren, &num_children, NULL);
1575             if (num_children == 0)
1576                 gui_mch_show_toolbar(FALSE);
1577             else
1578                 gui.toolbar_height = gui_mch_compute_toolbar_height();
1579         }
1580 #endif
1581     }
1582     if (menu->submenu_id != (Widget)0)
1583     {   fprintf(stderr, "*** [%s:%d] freeing menu id [%p]\n", FUNCTION, LINE, (void*)(menu->submenu_id));
1584         XtDestroyWidget(menu->submenu_id); //2
1585         menu->submenu_id = (Widget)0;
1586     }  fprintf(stderr, "*** Exiting gui_mch_menu\n");
1587 }
{noformat}
Notice the comment about the ugly hack at line 1535
which is probably the cause of the valgrind errors.
This patch appears to fix the valgrind error (not the 3 test failures as they are unrelated), but I do not know whether it has unwanted side effects and it's probably not correct:
$ git diff gui_athena.c
diff --git a/src/gui_athena.c b/src/gui_athena.c
index 6cbabf81d..bc3ace734 100644
--- a/src/gui_athena.c
+++ b/src/gui_athena.c
@@ -1557,8 +1557,6 @@ gui_mch_destroy_menu(vimmenu_T *menu)
                if (num_children > 1)
                    XtDestroyWidget(menu->id);
            }
-           else
-               XtDestroyWidget(menu->id);
            menu->id = (Widget)0;
        }

To @brammool : I'm also curious whether it fixes the crash that you see.

Dominique wrote:

@brammool  wrote:

The ???? means a flaky test failed?  I don't see a relation betwen
8.2.4229 and tabline.

The ???? means that I could not run the test, because that version
of Vim  failed to build (link error as I wrote in my comment).

Ah, yes.  But it did pass the tests before that, thus it can work if we
check the changes since then.  Unless it's because a test was added that
uncovered an existing problem.

At tag v8.2.4229, I get:
$ ./configure --with-features=huge --enable-gui=athena
$ make -j12
…
/usr/local/bin/ld: objects/testing.o: in function `f_test_gui_tabline_event':
/home/pel/sb/vim/src/testing.c:1354: undefined reference to `send_tabline_event'
/usr/local/bin/ld: objects/testing.o: in function `f_test_gui_tabmenu_event':
/home/pel/sb/vim/src/testing.c:1372: undefined reference to `send_tabline_menu_event'

Ah, I made a mistake.  I get the same link error at tag v8.2.4228.
But tag v8.2.4427 builds fine and has no failing test with Athena GUI.
In other words, it should have been:
v8.2.4229 (????) failed to build: undefined reference to `send_tabline_menu_event'
v8.2.4228 (????) failed to build: undefined reference to `send_tabline_menu_event'
v8.2.4227 (PASS)

Which makes sense since patch 8.2.4228 introduced function
send_tabline_menu_event(). If the crash you see is related
to menus, it's probably related to that patch.

That patch only introduced testing support.  I don't see something
related to deleting menus, which is what is causing the crash.

The Athena GUI is the only one using basic X libraries.  The Motif
library were commerical for a long time.

Yes. LessTif was the free alternative, but it was abandoned
after Motif became available under LGPL license since 2012
according to https://en.wikipedia.org/wiki/Motif_(software).
Even before that, LessTif had very little development activity
(last release being from 2009).
I assume the LGPL Motif is available on all Unix-like OS.

I wonder if there is any good reason to keep the Athena implementation
then.  As mentioned, it is very primitive and we have custom widgets.
Who would complain if we just removed it?
--
I thought I was eating a crab salad.  It turned out to be a crap salad.
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Domique wrote:

Notice the comment about the ugly hack at line 1535
which is probably the cause of the valgrind errors.
This patch appears to fix the valgrind error (not the 3 test failures
as they are unrelated), but I do not know whether it has unwanted side
effects and it's probably not correct:
$ git diff gui_athena.c
diff --git a/src/gui_athena.c b/src/gui_athena.c
index 6cbabf81d..bc3ace734 100644
--- a/src/gui_athena.c
+++ b/src/gui_athena.c
@@ -1557,8 +1557,6 @@ gui_mch_destroy_menu(vimmenu_T *menu)
                if (num_children > 1)
                    XtDestroyWidget(menu->id);
            }
-           else
-               XtDestroyWidget(menu->id);
            menu->id = (Widget)0;
        }

To @brammool : I'm also curious whether it fixes the crash that you see.

Yes, it does.  Not sure if we then get a memory leak.
Anyway, let's first discuss if we can get rid of the Athena GUI.
--
hundred-and-one symptoms of being an internet addict:
190. You quickly hand over your wallet, leather jacket, and car keys
during a mugging, then proceed to beat the crap out of your
assailant when he asks for your laptop.
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

I think that this ticket has 2 unrelated distinct issues:

valgrind errors with Athena and Motif GUI related to menu
3 test failures in Test_gui_findrepl, Test_gui_tabline_event and
Test_gui_tabmenu_event with Athena GUI only, introduced in patch
8.2.4228

Yegappan made a PR that skips these tests for Athena.

I can reproduce the valgrind error with both Athena and Motif GUI
using this minimized command:

$ valgrind --num-callers=50 ./vim -f -g --clean -c'aunmenu Help' -c'tlunmenu Help' -cq

With Motif GUI:
$ valgrind --num-callers=50 ./vim -f -g --clean -c'aunmenu Help' -c'tlunmenu Help' -cq
==18752== Memcheck, a memory error detector
==18752== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==18752== Using Valgrind-3.17.0.GIT and LibVEX; rerun with -h for copyright info
==18752== Command: ./vim -f -g --clean -caunmenu\ Help -ctlunmenu\ Help -cq
==18752==
==18752== Invalid read of size 8
==18752==    at 0x519168F: _XmEntryTextGet (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x519B7D6: _XmStringDrawSegment (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x519C445: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x519CC44: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x519CEFA: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x519D861: XmStringDrawUnderline (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x511296E: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4)
==18752==    by 0x396F56: label_expose (gui_motif.c:309)

This label_expose() function is used for 3D shade effects.  Maybe that
code does something wrong.  You can skip installing it at the top of
gui_x11_create_widgets().  If you comment out that "if" block, does the
problem go away?

With Athena GUI:
$ valgrind --num-callers=50 ./vim -f -g --clean -c'aunmenu Help' -c'tlunmenu Help' -cq
==21524== Memcheck, a memory error detector
==21524== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==21524== Using Valgrind-3.17.0.GIT and LibVEX; rerun with -h for copyright info
==21524== Command: ./vim -f -g --clean -caunmenu\ Help -ctlunmenu\ Help -cq
==21524==
==21524== Invalid read of size 8
==21524==    at 0x52F03D1: XtWidgetToApplicationContext (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x52EECBD: XtDestroyWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0)
==21524==    by 0x3962E3: gui_mch_destroy_menu (gui_athena.c:1584)
==21524==    by 0x244E5E: free_menu (menu.c:1054)
==21524==    by 0x245617: remove_menu.part.0 (menu.c:1022)
==21524==    by 0x2470ED: remove_menu (menu.c:923)

This is a different problem, looks like it is freeing the same widget
twice.
--
I'm in shape.  Round IS a shape.
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

@brammool I'm sad to see Athena go. I think folks nowadays prefer the
look of GTK, but for the end-user GTK is much more limiting than the
old GUI toolkits.
A GTK user relies on themes, whose files and settings are difficult to
sift through and many options are still undocumented, while Athena
uses X resources; even a clueless user can use editres to figure out
the best settings interactively.
Furthermore, with X resources you can target single applications (so
that, e.g., changing the width of a widget in Vim won't affect Xterm).
Good luck doing that in GTK.
But I understand the work that supporting half a dozen of different
GUIs entails. But since you invited it, I'm against dropping Athena.
If you'd like to hear more reasons (in number or detail) I prefer
Athena, do let me know.

How about using Motif?  That is very much like Athena, but using better
widgets.
I agree that GTK has it's problems.  They tend to start a new version
before all the problems with the previous one have been fixed.
Currently we have GTK2 which is mature but lacks some modern changes,
and GTK3 which still doesn't work all that well.  Especially people keep
complaining about performance.
--
hundred-and-one symptoms of being an internet addict:
235. You start naming your kids Pascal, COBOL, Algol and Fortran.
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

I didn't like the Motif one because the scrollbar thumb would ignore the scrollForeground value (see :h gui-resources). However, in the interval of our discussion I located and fixed the problem and will submit a pull request for that. But I stumbled on a couple of other existing issues in the process and would like to try to figure those out too, so as to submit it all in one patch.

I didn't like the Motif one because the scrollbar thumb would ignore
the scrollForeground value (see :h gui-resources). However, in the
interval of our discussion I located and fixed the problem and will
submit a pull request for that. But I stumbled on a couple of other
existing issues in the process and would like to try to figure those
out too, so as to submit it all in one patch.

Always good to fix problems.  I think most users who do use a GUI use
GTK, but it's good to have an alternative.  Having four choices is a bit
too much, especially because for Athena we have custom widgets that we
need to maintain.  Well, and that it may crash when removing a menu.
--
hundred-and-one symptoms of being an internet addict:
236. You start saving URL's in your digital watch.
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Let me close this, since the Athena Gui has been removed as of 0b40d086b337f14fd
If you find problems with Motif GUI, please open a new issue. Thanks.

authors: brammool chrisbra dpelle qsmodo


text:
Fixed invalid memory access when changing color of cursor in terminal

This PR fixes access to free memory when changing
the color of cursor in terminal (fixes #2938).
The fix consists in doing deep copies of strings for
last_set_cursor_color and last_set_cursor_shape
instead of doing pointer copy (pointer copies
could be pointing to freed memory).

Codecov Report

Merging #2941 into master will decrease coverage by 0.02%.
The diff coverage is 93.75%.

@@            Coverage Diff             @@
##           master    #2941      +/-   ##
==========================================
- Coverage   75.71%   75.69%   -0.03%
==========================================
  Files          92       92
  Lines      135030   135029       -1
==========================================
- Hits       102241   102212      -29
- Misses      32789    32817      +28

Impacted Files
Coverage Δ

src/terminal.c
72.49% <93.75%> (+0.15%)
:arrow_up:

src/gui_beval.c
55.79% <0%> (-6.44%)
:arrow_down:

src/window.c
81.68% <0%> (-0.46%)
:arrow_down:

src/gui_gtk_x11.c
47.83% <0%> (-0.15%)
:arrow_down:

src/ex_cmds2.c
80.2% <0%> (-0.1%)
:arrow_down:

src/term.c
59.56% <0%> (-0.06%)
:arrow_down:

src/os_unix.c
54.3% <0%> (-0.05%)
:arrow_down:

src/screen.c
76.59% <0%> (-0.05%)
:arrow_down:

src/eval.c
81.55% <0%> (+0.04%)
:arrow_up:

src/gui.c
49.4% <0%> (+0.1%)
:arrow_up:

... and 1 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6bff719...feed0a6. Read the comment docs.

authors: codecov-io dpelle


text:
Rendre accessible public le fichier des annotations .csv txt

Rendre accessible public le fichier des annotations .csv txt
À chaque sauvegarde générer le fichier des exportations et le déposer sous le répertoire public du projet/image

requête :
POST /test-mapserver6/requestDownload HTTP/1.1
Host: localhost:7780
Connection: keep-alive
Content-Length: 55
sec-ch-ua: "Google Chrome";v="107", "Chromium";v="107", "Not=A?Brand";v="24"
Accept: application/json, text/javascript, */*; q=0.01
Content-Type: application/json; charset=UTF-8
X-Requested-With: XMLHttpRequest
sec-ch-ua-mobile: ?0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36
sec-ch-ua-platform: "Windows"
Origin: http://localhost:7780
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: http://localhost:7780/test-mapserver6/configuration/dataDownload
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,fr-CA;q=0.8,fr;q=0.7
Cookie: skipTutorial=true; skipAnnotationConfirmation=true; username=admin; session_token="!iCRQ4xyosiwP+WPeU3yFVg==?gASVbAAAAAAAAACMDXNlc3Npb25fdG9rZW6UjFZZa2RPRW52X0pTcjNxSWI0aGV2Z2Rtb3FCeHlzWF9tcG5kd1FRSFpUVXM1ZmE4S3hGUkQzOVRSTnBVMnNIUmt3ZlBSZ1NPWTc5bldJdjVDZDRfRUZqd5SGlC4="; cookieMsgSuppressed=true

response :
HTTP/1.0 200 OK
Date: Mon, 14 Nov 2022 19:55:35 GMT
Server: WSGIServer/0.2 CPython/3.7.13
Content-Type: application/json
Content-Length: 129

{"response": {"result": "aide_query_2022-11-14_19-55-32.txt", "status": "SUCCESS", "meta": "aide_query_2022-11-14_19-55-32.txt"}}

URL : http://localhost:7780/test-mapserver6/downloadData/aide_query_2022-11-14_19-55-32.txt
File location on server :
/app/tmp/aide/downloadRequests/test-mapserver6/aide_query_2022-11-14_19-55-32.txt

fait voir modules/LabelUI/static/js/dataHandler.js _exportShareAnnotations


text:
local variable issue

Hello @vincentcox ,
I am facing this error after supplying the apk
UnboundLocalError: local variable 'sorted_tosort' referenced before assignment
[WARNING] 127.0.0.1 - - [10/Oct/2018 19:35:59] code 404, message File not found

Are you using a build from the release? Or do you use the python command line?
If it's possible, I can check with your APK to debug this issue.

Hi @vincentcox ,
Thanks for prompt reply. I am using from the command line.

Getting the same even with the test-apk.apk
`python3 stacoan.py -p test-apk.apk --disable-server --disable-browser
[INFO] Decompiling app...
[INFO] /mnt/Security/Tools/Android/StaCoAn/src/test-apk_apk/jadx_source_code
[INFO] "/mnt/Security/Tools/Android/StaCoAn/src/jadx/bin/jadx" -d "/mnt/Security/Tools/Android/StaCoAn/src/test-apk_apk/jadx_source_code" "test-apk.apk"
Invalid maximum heap size: -Xmx4g
The specified size exceeds the maximum representable size.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
[INFO] --------- JADX OUTPUT BELOW ---------
[INFO] jadx return code: 1
[INFO] Decompiling done.
[INFO] Searching trough files
[INFO] Searching done.
[INFO] start generating report
[INFO] progress: 100%
[ERROR] ERROR: Unknown error: local variable 'sorted_tosort' referenced before assignment.
`

I know what happened. JADX could not allocate 4Gigs of memory so it didn't run. The problem tries to continue anyhow and there are 0 results, which causes a for loop to not run somewhere.
Please double check that you are using 64-bit java version. JADX sets max memory heap to 4GB by default. This only possible on 64-bit java.

Is this issue with system architecture, as I am having 32bit system.

Indeed, it's caused by the 32 bit architecture. However, you can try to run:
set DEFAULT_JVM_OPTS="-Xms128M" "-Xmx2g"
But I am not sure if it will work because StaCoAn spawns an own subshell.

Let me know if it works. I will try to make a fix for this if it's not working.

Still getting the same :(

I'll create a fix this weekend. Thanks for reporting this issue, I will let you know when the fix is available.

Hello @vincentcox ,
Thank you for your quick & positive response on this issue.
Waiting for the fix :1234:

Can you try the DEV branch?
git clone -b dev https://github.com/vincentcox/StaCoAn
cd StaCoAn
cd src
python3 stacoan.py -p test-apk.apk --disable-server --disable-browser

Let me know what the output is, If it works for you then I know the correct amount of memory I can allocate for 32 bit systems. Then I can build a fix to the master.

Hi @vincentcox ,
Sorry for the being late in response, still getting the same issue
python3 stacoan.py -p test-apk.apk --disable-server --disable-browser
[INFO] Decompiling app...
[INFO] /mnt/Security/Tools/Android/StaCoAn/src/test-apk_apk/jadx_source_code
[INFO] "/mnt/Security/Tools/Android/StaCoAn/src/jadx/bin/jadx" -d "/mnt/Security/Tools/Android/StaCoAn/src/test-apk_apk/jadx_source_code" "test-apk.apk"
[INFO] 32 bit detected, setting max memory for java to 2G instead of 4G. This might cause problems for JADX.
Invalid maximum heap size: -Xmx4g
The specified size exceeds the maximum representable size.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
[INFO] --------- JADX OUTPUT BELOW ---------
[INFO] jadx return code: 1
[INFO] Decompiling done.
[INFO] Searching trough files
[INFO] Searching done.
[INFO] start generating report
[INFO] progress: 100%
[ERROR] ERROR: Unknown error: local variable 'sorted_tosort' referenced before assignment.

Can you try the dev branch again?
git clone -b dev https://github.com/vincentcox/StaCoAn
cd StaCoAn
cd src
python3 stacoan.py -p test-apk.apk --disable-server --disable-browser

Normally it should work now because I put the variable into the command. Let me know the output if it still doesn't work, we'll figure it out!

Hello @vincentcox ,
Don't know why its not working on my machine ??? Still getting the same issue check this

I'll download a 32 bit kali machine to figure this out. It will take me some time but I will dive into this! 💪

Great @vincentcox :+1:

Hi @vincentcox ,
Thank you, it Works :+1: :100:
This is the best support I ever got :100:

No problem, thank you for your patience because it took me some time to figure it out.
Soon I will push a global fix for this, but meanwhile you can use this fix to get it working for you.
Have a nice weekend!

Thank you :+1:

authors: jaikishantulswani vincentcox

repo: vincentcox/StaCoAn


text:
Add SingleBatchChangeIDs field to RecordSetChange #25

Requirements

Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.
All new code requires tests to ensure against regressions.

Description of the Change

Why Should This Be In The Package?

Benefits

Possible Drawbacks

Verification Process

Applicable Issues (Optional)

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: jayashreekumaresan2026:x: jayashreekumaresanjayashreekumaresan2026 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

repo: vinyldns/go-vinyldns


text:
Can't write in Script Editor

What is the problem?
When I start a new userscript, it opens a Script Editor, but I can't write or edit anything. Settings tab works and I can edit there, but the editor doesn't. Installation of other scripts works okay. I tried also reinstalling Violentmonkey, but it didn't help.
How to reproduce it?

Open Dashboard of Violentmonkey
Click on plus icon and click on "New"
Script editor is opened, but it can't be written to it

Environment

Browser: Maxthon 5
Browser version: 5.1.0.2200
Violentmonkey version: 2.7.2
OS: Windows 10 x64

@gera2ld copy and paste to new js also not workin'

repo: violentmonkey/violentmonkey-mx


text:
Can't install on mac

Error: SyntaxError: Missing parentheses in call to 'exec' while install evernote

I've been getting the same error when trying to install pypdfocr with pip install pypdfocr on OSX.
The problem seems to occur when pypdfocr tries to install the Evernote. In python 2.7, exec is written without parentheses but in python 3.x I think it's supposed to have them (and that is where the problem is coming from). Maybe adding a version of pypdfocr without Evernote support could be a quick fix.
copy/paste of the said error
Collecting evernote (from pypdfocr)
  Cache entry deserialization failed, entry ignored
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/f9/6b/877f8edef8ef040d32eb38f3bf6322ba334de9d10614d8db9d869c162fc1/evernote-1.25.3.tar.gz (141kB)
    100% |████████████████████████████████| 143kB 5.2MB/s
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/kb/j3dk_36n2wqc7dz9j74bv6rc0000gn/T/pip-build-l8c0pef2/evernote/setup.py", line 6
        exec x
             ^
    SyntaxError: Missing parentheses in call to 'exec'

same here.

repo: virantha/pypdfocr


text:
test: workaround issue RHEL-30952

Since compose CentOS-Stream-9-20240328.0, CentOS Stream 9 qcow2 image can't boot. Let's use old one as a workaround

/test-cs9-replace


text:
dependency: Enable vendored feature for openssl

To enable static building of the sevctl binary enable vendored feature of openssl.

cc: @tylerfanelli @@larrydewey

repo: virtee/sevctl


text:
Fix UI colors

Fix UI colors (harmonize between all modals and tiles).

Colors fixed in commit 56a68598e300ddf0160b87bda76b3a271555faac.

repo: virtualabs/hackwatch