I've webform with file field and when trying to submit via Test link (/webform/%/test), it throws the error.
Drupal\Core\Entity\EntityStorageException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'uri' cannot be null: UPDATE {file_managed} SET fid=:db_update_placeholder_0, type=:db_update_placeholder_1, uuid=:db_update_placeholder_2, langcode=:db_update_placeholder_3, uid=:db_update_placeholder_4, filename=:db_update_placeholder_5, uri=:db_update_placeholder_6, filemime=:db_update_placeholder_7, filesize=:db_update_placeholder_8, status=:db_update_placeholder_9, created=:db_update_placeholder_10, changed=:db_update_placeholder_11 WHERE fid = :db_condition_placeholder_0; Array ( [:db_update_placeholder_0] => 852 [:db_update_placeholder_1] => undefined [:db_update_placeholder_2] => f3f5989c-82ac-4e9b-8110-6b865e760501 [:db_update_placeholder_3] => en [:db_update_placeholder_4] => 1 [:db_update_placeholder_5] => [:db_update_placeholder_6] => [:db_update_placeholder_7] => application/octet-stream [:db_update_placeholder_8] => [:db_update_placeholder_9] => 0 [:db_update_placeholder_10] => 1499292302 [:db_update_placeholder_11] => 1499292302 [:db_condition_placeholder_0] => 852 ) in Drupal\Core\Entity\Sql\SqlContentEntityStorage->save() (line 777 of core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php).
Drupal\Core\Database\Statement->execute(Array, Array) (Line: 624)
Drupal\Core\Database\Connection->query('UPDATE {file_managed} SET fid=:db_update_placeholder_0, type=:db_update_placeholder_1, uuid=:db_update_placeholder_2, langcode=:db_update_placeholder_3, uid=:db_update_placeholder_4, filename=:db_update_placeholder_5, uri=:db_update_placeholder_6, filemime=:db_update_placeholder_7, filesize=:db_update_placeholder_8, status=:db_update_placeholder_9, created=:db_update_placeholder_10, changed=:db_update_placeholder_11
WHERE fid = :db_condition_placeholder_0', Array, Array) (Line: 87)
Drupal\Core\Database\Driver\mysql\Connection->query('UPDATE {file_managed} SET fid=:db_update_placeholder_0, type=:db_update_placeholder_1, uuid=:db_update_placeholder_2, langcode=:db_update_placeholder_3, uid=:db_update_placeholder_4, filename=:db_update_placeholder_5, uri=:db_update_placeholder_6, filemime=:db_update_placeholder_7, filesize=:db_update_placeholder_8, status=:db_update_placeholder_9, created=:db_update_placeholder_10, changed=:db_update_placeholder_11
WHERE fid = :db_condition_placeholder_0', Array, Array) (Line: 148)
Drupal\Core\Database\Query\Update->execute() (Line: 822)
Drupal\Core\Entity\Sql\SqlContentEntityStorage->doSaveFieldItems(Object) (Line: 263)
Drupal\Core\Entity\ContentEntityStorageBase->doSave('852', Object) (Line: 392)
Drupal\Core\Entity\EntityStorageBase->save(Object) (Line: 768)
Drupal\Core\Entity\Sql\SqlContentEntityStorage->save(Object) (Line: 364)
Drupal\Core\Entity\Entity->save() (Line: 32)
Drupal\file\FileUsage\FileUsageBase->delete(Object, 'webform', 'webform_submission', '578', 0) (Line: 92)
Drupal\file\FileUsage\DatabaseFileUsageBackend->delete(Object, 'webform', 'webform_submission', '578', 0) (Line: 354)
Drupal\webform\Plugin\WebformElement\WebformManagedFileBase->postSave(Array, Object, ) (Line: 149)
Drupal\webform\Plugin\WebformElementManager->invokeMethod('postSave', Array, Object, , NULL) (Line: 1802)
Drupal\webform\Entity\Webform->invokeElements('postSave', Object, , NULL) (Line: 826)
Drupal\webform\WebformSubmissionStorage->invokeWebformElements('postSave', Object, ) (Line: 767)
Drupal\webform\WebformSubmissionStorage->doPostSave(Object, ) (Line: 395)
Drupal\Core\Entity\EntityStorageBase->save(Object) (Line: 768)
Drupal\Core\Entity\Sql\SqlContentEntityStorage->save(Object) (Line: 364)
Drupal\Core\Entity\Entity->save() (Line: 668)
Drupal\webform\Entity\WebformSubmission->save() (Line: 1046)
Drupal\webform\WebformSubmissionForm->save(Array, Object)
call_user_func_array(Array, Array) (Line: 111)
Drupal\Core\Form\FormSubmitter->executeSubmitHandlers(Array, Object) (Line: 51)
Drupal\Core\Form\FormSubmitter->doSubmitForm(Array, Object) (Line: 585)
Drupal\Core\Form\FormBuilder->processForm('webform_submission_repairs_taps_form', Array, Object) (Line: 314)
Drupal\Core\Form\FormBuilder->buildForm('webform_submission_repairs_taps_form', Object) (Line: 48)
Drupal\Core\Entity\EntityFormBuilder->getForm(Object, 'default') (Line: 877)I haven't test the patch yet.
It's probably related to: #2603726: Uri should be required base field for file entities
Comments
Comment #2
jrockowitz commentedI am not able to duplicate this issue.
Here are my steps...
Comment #3
jrockowitz commented