Bug #116302 Assertion failure: os0file.cc:2891:dir_fd != -1 when attempting to load a dump
Submitted: 4 Oct 2024 17:34 Modified: 9 Oct 2024 13:28
Reporter: Edward Grant Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:9.0.1 OS:MacOS
Assigned to: CPU Architecture:Any

[4 Oct 2024 17:34] Edward Grant
Description:
I have two instances of MySQL, a source and a target. Each of these is running in a different local docker container. I am attempting to dump table definitions from the source and recreate them in the target.

The root error appear to be:
2024-10-04T17:21:17.706259Z 8 [ERROR] [MY-013183] [InnoDB] Assertion failure: os0file.cc:2891:dir_fd != -1 thread 281472747433728

The error occurs at what appears to be a random point through the process. Each time I attempt this process, the statement given in the error is different. It can be on a `CREATE TABLE` or `DROP TABLE IF EXISTS` statement.

Some things I have observed:

* The crashes occur both with and without the --no-data option. When that option is present, it will error within a couple seconds of execution starting. When that option is omitted, it will successfully create and populate some of the tables before erroring.

* The full database is approximately 200 tables, and attempting to load the dump of 200 tables always fails. I have been able to successfully create and load smaller dumps of two or three tables.

* Tweaking the innodb_force_recovery option does not resolve the issue.

How to repeat:
This occurs when I run the commands:

```
mysqldump --user=[SOURCE_USER] --password=[SOURCE_PASSWORD] -h 127.0.0.1 --port=3306 --no-data --databases [DB_NAME] > db_empty.sql
mysql --user=[TARGET_USER] --password=[TARGET_PASSWORD]  -h 127.0.0.1 --port=3310 < db_empty.sql
```
[4 Oct 2024 17:35] Edward Grant
Full log of error

Attachment: error log 20241004.txt (text/plain), 3.56 KiB.

[4 Oct 2024 17:36] Edward Grant
Full log has been attached.
[7 Oct 2024 9:30] MySQL Verification Team
Hi Mr. Grant,

Thank you so much for your bug report.

However, let us inform you that this is a forum for the reports with fully repeatable test cases. Each of these test cases should consist of the set of SQL statements, which after we run it, should show the same problem. We also use macOS , among other hardware and software, but we have to be able to repeat the problem that you are reporting.

You have described the problem and described the manner in which you load a dump. What we need is the table in your dump that causes a problem. We do not require the entire dump, but only the table whose loading causes the assertion failure. You can easily see which table it is when you inspect which tables have loaded successfully and what was the next table in the dump/

You can upload that part of your dump under the "Files" tabe.

Many thanks in advance.
[7 Oct 2024 14:04] Edward Grant
Unfortunately, there is not one single table where it consistently errors - every time I attempt to load the dump, it errors at a different point.

I will attach some of the sample statements that it has errored at during a load attempt. Is there any other information will help to reproduce this issue?
[7 Oct 2024 15:12] MySQL Verification Team
Hi Mr. Grant,

For the start, table `question` is missing.

Seem that some other tables are missing as well.
[7 Oct 2024 15:26] Edward Grant
That previous file is missing `question` as well as other tables because that file is only a sample of the full database dump, giving the statements that were running when the assertation failure occurred. The full database dump includes the table `question`, as well as the other referenced tables. I can provide the full database dump, if that would help.
[7 Oct 2024 15:30] MySQL Verification Team
Hi Mr. Grant,

Full database dump would help, provided you include only as many rows as necessary.
[7 Oct 2024 15:39] Edward Grant
Database dump has been added, with --no-data used.
[9 Oct 2024 9:43] MySQL Verification Team
Hi Mr. Grant,

It worked like a charm:

Tables_in_schema
action
active_users
alembic_version
all_users
announcement
answer
answer_citedpaper
answer_draft
answer_history
answer_voterequest
api_key
Asco2015
AscoInstitutionMap
AscoUsers
associate
AstroSubspecialty
AstroUsers
AuthAssignment
AuthItem
AuthItemChild
background_job_execution
background_job_execution_input
background_job_execution_input_publication
background_job_execution_input_question
campaign
campaign_click
campaign_recipients_group
career
cclick
clinical_trial_dashboard_view
clinical_trial_enrollment
clinical_trial_institution
clinical_trial_user
cme_activity
cme_application
cme_certificate
cme_certificate_activity
cme_goal
cme_page_visit
cme_redemption
comment
comment_history
community_manager
config
conflicts_interest
contact
ct_new_users
ct_old_users
ctep_sites
curriculum
curriculum_edition
curriculum_edition_topic
curriculum_expert_answers_request
curriculum_question
curriculum_specialty
curriculum_subspecialty
curriculum_topic
dashboard_user
dashboard_user_question_bookmark
dashboard_user_sponsor_subscription
degree
digest
digest_update
digest_user
directrequest
duplicate_questions_pair
Email
email_address_expirations
email_address_sources
email_attachment
email_bounce
email_history
email_template
email_vendor_mx
email_vendor_name
expert_answers_request
expert_answers_request_question
expert_email
expert_email_update
expert_topic
following
geo_msa
geo_region
geo_state
geo_type
geo_type_preference
guest_poll_comment
guest_poll_response
guest_poll_vote
hiring_contact
history
history_group
identified_seo_page_view
inbox_booster_track
injected_sponsored_question
injection_event
insights_report
insights_report_curriculum_question
insights_report_document
insights_report_document_download
institution
institution_copy_2024_09_10_after_institution_academic_resolver
institution_group
institution_group_institutions
institution_hiring_contact_specialty
institution_institution_type
institution_redux
institution_redux_organization
institution_redux_specialty_url
institution_redux_to_institution
institution_redux_to_institution_npi
institution_redux_to_us_news
institution_redux_user
institution_type
institution_type_preference
internal_employees
invitation
invitation_campaign_reminder
invitation_click
invitation_dispatch
invitation_mandrill_status
invite_blocked_user
invite_pool
iview
job
journal
keyword
keyword_category
link
link_track
llm_duplicate_questions_pair
login
medschool
membership
mention
merged_topics
messages
metabase_user
moc_profiles
moc_redemption
modal
modal_user
moderator
moderator_change
moderator_question
moderator_user
newsletter
newsletter_answers
newsletter_invite_stats_june_2024
notification
notification_click
notification_event
notification_mandrill_status
notification_permissions
notification_permissions_history
notification_sponsored_question
notification_type
notification_type_priority
opinion
paperblast
paperblast_papers
paperview
patientform
pclick
peer_suggest
poll
poll_comment
poll_option
poll_response
poll_update
poll_update_option
poll_vote
preset
press
press_release
provider_tax
ProviderTaxonomy
publication
publication_BACKUP20200207
publication_keyword
publication_redux_author
publication_topic
publication_video
pubmed_query
pubmed_query_user
push_notification
push_notification_permissions
pview
question
question_adminrequest
question_citedpaper
question_deny_reason
question_directrequest
question_file
question_history
question_poll
question_request
question_sponsorship_citedpaper
question_thread_keyword
question_update
questiontopic
qview
qvote
RadoncUsers
residents
searchquery
searchquery_result
site_publications
specialty
specialty_topic
sponsor
sponsor_subscription
sponsored_notification_kevel_url
sponsored_question
sponsored_question_specialty_target
sponsored_question_specialty_target_topic
sponsorship
sponsorship_active_status_record
sponsorship_expert
sponsorship_expert_answers_request
sponsorship_expert_question
sponsorship_image
sponsorship_image_click
sponsorship_publication
sponsorship_specialty
sponsorship_subspecialty
sponsorship_topic
state
subscription_area
subscription_area_keyword_category
subscription_area_question
subscription_area_topic
subscription_questions
subspecialty
subspecialty_topic
survey
survey_question_user
survey_user
system_job
tag_inst
tbl_profiles
tbl_profiles_fields
tbl_profiles_history
tbl_users
tbl_users_deleteme
tempemail
testimonial
tmp_pulms_to_delete
topic
training
trial
trial_investigator
trial_target
trialad
trialad_geo
trialad_inst
trialad_insttag
trialad_user
trialad_usertag
trialtopic
tumorboard
tumorboard_digest
tumorboard_digest_update
tumorboard_users
tview
user_cv
user_device
user_email_vendor
user_import
userdegree
userpub
usersubspecialty
vote
zipcode
[9 Oct 2024 13:28] Edward Grant
It is still running into this assertion failure when I attempt to run locally. Is there any other info that would help you reproduce the problem?
[9 Oct 2024 13:39] MySQL Verification Team
Hi,

We truly can not think of anything else ......