Starting with Moodle 3.6, questions can have an ID number (which must be unique within a given category). This results in a bug when duplicating a question with an ID if the user forgets to give the duplicated question a different ID. I would have reported this in the tracker, but I've lost touch with it for a few years. I hope the info below will be useful for someone to create a bug report.
My original question had an ID number = 99.
Error writing to database
Debug info: Duplicate entry '2-99' for key 'mdl_ques_catidn_uix'
INSERT INTO mdl_question
- line 489 of \lib\dml\moodle_database.php: dml_write_exception thrown
- line 1329 of \lib\dml\mysqli_native_moodle_database.php: call to moodle_database->query_end()
- line 1375 of \lib\dml\mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw()
- line 372 of \question\type\questiontypebase.php: call to mysqli_native_moodle_database->insert_record()
- line 273 of \question\question.php: call to question_type->save_question()