Debian: the Lintian complains about "shlib-calls-exit" in ha_innodb.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/innobase/ha_innodb.so|grep exit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 U __cxa_atexit@@GLIBC_2.2.5 U exit@@GLIBC_2.2.5 00000000004738b0 b mutex_exit_count U pthread_exit@@GLIBC_2.2.5 000000000013bdf0 t _Z13os_mutex_exitP10os_mutex_t 000000000001ec94 t _Z13os_mutex_exitP10os_mutex_t.part.2 000000000013c940 t _Z14os_thread_exitPv 00000000000b9e50 t _Z15hash_mutex_exitP12hash_table_tm 00000000000b9fe0 t _Z19hash_mutex_exit_allP12hash_table_t 0000000000159f90 t _Z19pars_exit_statementv 00000000000ba050 t _Z23hash_mutex_exit_all_butP12hash_table_tP10ib_mutex_t 0000000000078f20 t _Z25dict_mutex_exit_for_mysqlv 00000000001a82f0 t _Z26srv_conc_force_exit_innodbP5trx_t 0000000000134dd0 T _Z28os_file_handle_error_no_exitPKcS0_m 000000000007ccb0 t _Z38dict_table_wait_for_bg_threads_to_exitP12dict_table_tm 000000000009ccb0 t _Z9exit_stepP9que_thr_t 000000000001d135 t _ZL19pfs_mutex_exit_funcP10ib_mutex_t 0000000000077520 t _ZL19pfs_mutex_exit_funcP10ib_mutex_t 000000000009cd30 t _ZL19pfs_mutex_exit_funcP10ib_mutex_t 00000000000bace0 t _ZL19pfs_mutex_exit_funcP10ib_mutex_t 00000000000de530 t _ZL19pfs_mutex_exit_funcP10ib_mutex_t 000000000001db33 t _ZL19pfs_mutex_exit_funcP10ib_mutex_t 00000000001145f0 t _ZL19pfs_mutex_exit_funcP10ib_mutex_t 00000000001a9450 t _ZL19pfs_mutex_exit_funcP10ib_mutex_t 00000000001aee80 t _ZL19pfs_mutex_exit_funcP10ib_mutex_t 00000000001a96c0 t _ZL21srv_purge_should_exitm 0000000000134920 t _ZL30os_file_handle_error_cond_exitPKcS0_mm.constprop.29

Environment

None

Status

Assignee

Jan Lindström

Reporter

Sergey Vojtovich

Labels

External issue ID

None

External issue ID

None

Fix versions

Affects versions

10.0

Priority

Critical