alibaba / alibaba/AliSQL

mysqld crash at Dir_Walker::is_directory for debug builds

Open
#129 4 comments 0 reactions 1 assignee Claimed by @p1p1bear View on GitHub
Dominant language
C++
Stars
6k
Forks
902
PR merge metrics
No merged PRs in 30d

Description

Seems to be a problem with debug builds. Release builds work fine, also crashes with mysql 8.0.44 debug builds.

If a directory contains file extension .traineddata which indicates a Trained Data Archive used by Tesseract OCR, an open-source optical character recognition engine, then specifying the directory as --innodb_directories in the startup command crashes the server.

Download the data from https://github.com/tesseract-ocr/tessdata_fast
Initialize the datadir and then try to use the startup command for starting the mysqld server as shown below

`./bin/mysqld --datadir=~/data5 --lower_case_table_names=1 --initialize-insecure --default-authentication-plugin=mysql_native_password`

`./bin/mysqld --datadir=~/data5 --socket=/tmp/mysql.sock --port=3306 --core-file --lower_case_table_names=1 --innodb_directories='~/tessdata_fast-main'`

#0 pthread_kill () from /lib64/libpthread.so.0
#1 my_write_core (sig=6) at mysql1/mysys/stacktrace.cc:344
#2 handle_fatal_signal (sig=6) at mysql1/sql/signal_handler.cc:232
#3
#4 raise () from /lib64/libc.so.6
#5 abort () from /lib64/libc.so.6
#6 my_server_abort () at mysql1/sql/signal_handler.cc:288
#7 my_abort () at mysql1/mysys/my_init.cc:264
#8 ut_dbg_assertion_failed (expr="exists", file="mysql1/storage/innobase/os/os0file.cc", line=7772) at mysql1/storage/innobase/ut/ut0dbg.cc:100
#9 Dir_Walker::is_directory (path="~/tessdata_fast-main/configs") at mysql1/storage/innobase/os/os0file.cc:7772
#10 Dir_Walker::walk_posix(std::__cxx11::basic_string, std::allocator > const&, bool, std::function, std::allocator > const&, unsigned long)>&&) (
basedir="~/tessdata_fast-main/", recursive=true, f=...) at mysql1/storage/innobase/os/os0file.cc:3663

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.