Debian: the Lintian complains about "shlib-calls-exit" in ha_oqgraph.so

Description

This is a split from MDEV-8378, priority and fix version inherited.

Lintian reports: http://labs.seravo.fi/~otto/mariadb-repo/mariadb-10.0-sid-amd64/lintian-0f7cb30.log and https://lintian.debian.org/tags/shlib-calls-exit.html

The listed shared library calls the C library exit() or _exit() functions.

In the case of an error, the library should instead return an appropriate error code to the calling program which can then determine how to handle the error, including performing any required clean-up.

In most cases, removing the call should be discussed with upstream, particularly as it may produce an ABI change.

Severity: wishlist, Certainty: possible

Check: shared-libs, Type: binary, udeb

This tag is marked experimental, which means that the code that generates it is not as well-tested as the rest of Lintian and might still give surprising results. Feel free to ignore experimental tags that do not seem to make sense, though of course bug reports are always welcome.

nm ./storage/oqgraph/ha_oqgraph.so|grep exit

1 2 U __cxa_atexit@@GLIBC_2.2.5 U exit@@GLIBC_2.2.5

This comes from Judy.h:

1 2 3 4 5 // If the caller does not like the way the default JUDYERROR macro handles // errors (such as an exit(1) call when out of memory), they may define their // own before the "#include <Judy.h>". A routine such as HandleJudyError // could do checking on specific error numbers and print a different message // dependent on the error.

Please define own JUDYERROR.

Environment

None

Status

Assignee

Andrew McDonnell

Reporter

Sergey Vojtovich

Labels

External issue ID

None

External issue ID

None

Components

Fix versions

Affects versions

10.0

Priority

Critical