mariadb/storage/mroonga/vendor/groonga
Monty 0ccdf54b64 Check and remove high stack usage
I checked all stack overflow potential problems found with
gcc -Wstack-usage=16384
and
clang -Wframe-larger-than=16384 -no-inline

Fixes:
Added '#pragma clang diagnostic ignored "-Wframe-larger-than="'
  to a lot of function to where stack usage large but resonable.
- Added stack check warnings to BUILD scrips when using clang and debug.

Function changed to use malloc instead allocating things on stack:
- read_bootstrap_query() now allocates line_buffer (20000 bytes) with
  malloc() instead of using stack. This has a small performance impact
  but this is not releant for bootstrap.
- mroonga grn_select() used 65856 bytes on stack. Changed it to use
  malloc().
- Wsrep_schema::replay_transaction() and
  Wsrep_schema::recover_sr_transactions().
- Connect zipOpen3()

Not fixed:
- mroonga/vendor/groonga/lib/expr.c grn_proc_call() uses
  43712 byte on stack.  However this is not easy to fix as the stack
  used is caused by a lot of code generated by defines.
- Most changes in mroonga/groonga where only adding of pragmas to disable
  stack warnings.
- rocksdb/options/options_helper.cc uses 20288 of stack space.
  (no reason to fix except to get rid of the compiler warning)
- Causes using alloca() where the allocation size is resonable.
- An issue in libmariadb (reported to connectors).
2024-04-23 14:12:31 +03:00
..
benchmark
bindings
build
include Merge branch '10.5' into 10.6 2023-11-08 15:57:05 +01:00
lib Check and remove high stack usage 2024-04-23 14:12:31 +03:00
plugins Merge 10.4 into 10.5 2020-05-31 10:28:59 +03:00
src
tools
vendor Merge branch '10.5' into 10.6 2023-08-01 15:08:52 +02:00
appveyor.yml
autogen.sh
base_version
bundled_lz4_version
bundled_mecab_naist_jdic_version
bundled_mecab_version
bundled_message_pack_version
CMakeLists.txt Check and remove high stack usage 2024-04-23 14:12:31 +03:00
config.h.cmake
config.sh.in
configure.ac
COPYING
gpg_uid
groonga-arrow.pc.in
groonga-httpd-conf.sh.in
groonga.pc.in
Makefile.am
nginx_version
README.md
version-gen.sh

README

Groonga is an open-source fulltext search engine and column store.

Reference manual

See doc/source/ directory or http://groonga.org/docs/.

Here are shortcut links:

Community

Bundled software

mruby

  • Path: vendor/mruby-source
  • License: The MIT license. See vendor/mruby-source/MITL for details.

Onigmo

  • Path: vendor/onigmo-source
  • License: BSD license. See vendor/onigmo-source/COPYING for details.

nginx

  • Path: vendor/nginx-${VERSION}
  • License: BSD license. See vendor/nginx-${VERSION}/LICENSE for details.

Authors

Primary authors

  • Daijiro MORI
  • Tasuku SUENAGA
  • Yutaro Shimamura
  • Kouhei Sutou
  • Kazuho Oku
  • Moriyoshi Koizumi

Patches and modules from

TODO: Update or use https://github.com/groonga/groonga/graphs/contributors instead.

  • Daisuke Maki
  • Kazuhiro Osawa
  • Hiroyuki OYAMA
  • Nguyen Anh Phu
  • Hideyuki KUROSU <hideyuki. kurosu at gmail. com>
  • Takuo Kitame
  • Yoshihiro Oyama
  • cZfSunOs.U