Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: Export produce empty files of 0 byte #362

Closed
2 tasks done
Jiyone opened this issue Aug 22, 2024 · 5 comments · May be fixed by #368
Closed
2 tasks done

Bug: Export produce empty files of 0 byte #362

Jiyone opened this issue Aug 22, 2024 · 5 comments · May be fixed by #368
Assignees
Labels
bug priority: high Affects basic and core functionnalities of the software in a way that severly degrades usability

Comments

@Jiyone
Copy link
Collaborator

Jiyone commented Aug 22, 2024

Code of Conduct

  • I have read this document and I accept the conditions

Search previous report

  • I have searched my issue

Computer's operating system

Linux

What GPU do you have ?

I don't know

Ansel version

85f2b8b

Type of binary

Self-Compiled

What happened?

When exporting as jpg, a file of 0 byte is created and there is an error message showing:

Empty JPEG image (DNL not supported)
[imageio_storage_disk] could not export to file: `/home/jiyone/Images/Ansel/2024/2024.08 Diapo surex/_DSC1895.jpg'!

It seems to produce error to all type of files, Tiff files contains only 11.7 Kb, this might be because of initialization of the exporting image at a 0 size.

Bisecting shows that the first bad commit is 85f2b8b.

Does your problem occur with OpenCL enabled ?

No

Does your problem occur with OpenCL disabled ?

No

Previous Ansel version that use to work

8dca913

Output of ansel -d all

from the moment I clic "Export"

14.794794 [sql] /home/jiyone/src/ansel/src/common/selection.c:537, function dt_selection_get_list(): prepare "SELECT m.imgid FROM memory.collected_images as m WHERE m.imgid IN (SELECT s.imgid FROM main.selected_images as s) ORDER BY m.rowid DESC"
14.795121 [images to act on] new cache (visible) : 3056 
14.798022 [add_job] 0 | 14.798078 export | queue: 3 | priority: 014.798094 
14.798199 [run_job+] 04 433722324.154934 14.798216 export | queue: 3 | priority: 014.798222 
14.798347 [sql] /home/jiyone/src/ansel/src/common/tags.c:154, function dt_tag_new(): prepare "SELECT id FROM data.tags WHERE name = ?1"
14.798474 [sql] /home/jiyone/src/ansel/src/common/tags.c:154, function dt_tag_new(): prepare "SELECT id FROM data.tags WHERE name = ?1"
14.798563 [sql] /home/jiyone/src/ansel/src/common/tags.c:843, function _tag_get_tags(): prepare "SELECT DISTINCT T.id  FROM main.tagged_images AS I  JOIN data.tags T on T.id = I.tagid  WHERE I.imgid IN (3056) "
14.798742 [sql] /home/jiyone/src/ansel/src/common/tags.c:976, function dt_is_tag_attached(): prepare "SELECT imgid FROM main.tagged_images WHERE imgid = ?1 AND tagid = ?2"
14.798864 [sql] /home/jiyone/src/ansel/src/common/image_cache.c:253, function dt_image_cache_write_release(): prepare "UPDATE main.images SET width = ?1, height = ?2, filename = ?3, maker = ?4, model = ?5,     lens = ?6, exposure = ?7, aperture = ?8, iso = ?9, focal_length = ?10,     focus_distance = ?11, film_id = ?12, datetime_taken = ?13, flags = ?14,     crop = ?15, orientation = ?16, raw_parameters = ?17, group_id = ?18,     longitude = ?19, latitude = ?20, altitude = ?21, color_matrix = ?22,     colorspace = ?23, raw_black = ?24, raw_maximum = ?25,     aspect_ratio = ROUND(?26,1), exposure_bias = ?27,     import_timestamp = ?28, change_timestamp = ?29, export_timestamp = ?30,     print_timestamp = ?31, output_width = ?32, output_height = ?33 WHERE id = ?34"
14.799462 [sql] /home/jiyone/src/ansel/src/common/image.c:367, function dt_image_full_path(): prepare "SELECT folder || '/' || filename FROM main.images i, main.film_rolls f WHERE i.film_id = f.id and i.id = ?1"
14.799617 dt_image_full_path pathname (/home/jiyone/Téléchargements/Diapo surex/_DSC1895.NEF) called from dt_image_write_sidecar_file, cache=0
14.799641 [sql] /home/jiyone/src/ansel/src/common/image.c:457, function dt_image_path_append_version(): prepare "SELECT version FROM main.images WHERE id = ?1"
14.799720 [sql] /home/jiyone/src/ansel/src/common/image.c:367, function dt_image_full_path(): prepare "SELECT folder || '/' || filename FROM main.images i, main.film_rolls f WHERE i.film_id = f.id and i.id = ?1"
14.799828 [sql] /home/jiyone/src/ansel/src/common/image.c:399, function _image_local_copy_full_path(): prepare "SELECT folder || '/' || filename FROM main.images i, main.film_rolls f WHERE i.film_id = f.id AND i.id = ?1"
14.799939 dt_image_full_path pathname (/home/jiyone/Téléchargements/Diapo surex/_DSC1895.NEF) called from dt_exif_xmp_write, cache=0
14.820785 [sql] /home/jiyone/src/ansel/src/common/exif.cc:3852, function _exif_xmp_read_data(): prepare "SELECT filename, flags, raw_parameters,        longitude, latitude, altitude, history_end, datetime_taken FROM main.images WHERE id = ?1"
14.821013 [sql] /home/jiyone/src/ansel/src/common/iop_order.c:438, function dt_ioppr_get_iop_order_version(): prepare "SELECT version FROM main.module_order WHERE imgid = ?1"
14.821056 [sql] /home/jiyone/src/ansel/src/common/iop_order.c:782, function dt_ioppr_get_iop_order_list(): prepare "SELECT version, iop_list FROM main.module_order WHERE imgid=?1"
14.821215 [sql] /home/jiyone/src/ansel/src/common/exif.cc:3678, function set_xmp_timestamps(): prepare "SELECT import_timestamp, change_timestamp, export_timestamp, print_timestamp FROM main.images WHERE id = ?1"
14.821322 [sql] /home/jiyone/src/ansel/src/common/exif.cc:3802, function dt_set_xmp_dt_metadata(): prepare "SELECT key, value FROM main.meta_data WHERE id = ?1"
14.821373 [sql] /home/jiyone/src/ansel/src/common/exif.cc:3827, function dt_set_xmp_dt_metadata(): prepare "SELECT color FROM main.color_labels WHERE imgid=?1"
14.821410 [sql] /home/jiyone/src/ansel/src/common/tags.c:635, function dt_tag_get_attached(): prepare "SELECT DISTINCT I.tagid, T.name, T.flags, T.synonyms, COUNT(DISTINCT I.imgid) AS inb FROM main.tagged_images AS I JOIN data.tags AS T ON T.id = I.tagid WHERE I.imgid IN (3056) AND T.id NOT IN memory.darktable_tags GROUP BY I.tagid  ORDER by T.name"
14.821613 [sql] /home/jiyone/src/ansel/src/common/tags.c:635, function dt_tag_get_attached(): prepare "SELECT DISTINCT I.tagid, T.name, T.flags, T.synonyms, COUNT(DISTINCT I.imgid) AS inb FROM main.tagged_images AS I JOIN data.tags AS T ON T.id = I.tagid WHERE I.imgid IN (3056) AND T.id NOT IN memory.darktable_tags GROUP BY I.tagid  ORDER by T.name"
14.821828 [sql] /home/jiyone/src/ansel/src/common/exif.cc:3543, function dt_set_xmp_dt_history(): prepare "SELECT imgid, formid, form, name, version, points, points_count, source, num FROM main.masks_history WHERE imgid = ?1 ORDER BY num"
14.821921 [sql] /home/jiyone/src/ansel/src/common/exif.cc:3597, function dt_set_xmp_dt_history(): prepare "SELECT module, operation, op_params, enabled, blendop_params,        blendop_version, multi_priority, multi_name, num FROM main.history WHERE imgid = ?1 ORDER BY num"
14.827606 [lighttable] expose took 0.0000 sec
14.830280 [sql] /home/jiyone/src/ansel/src/common/history.c:1524, function dt_history_hash_read(): prepare "SELECT basic_hash, auto_hash, current_hash FROM main.history_hash WHERE imgid = ?1"
14.831872 [sql] /home/jiyone/src/ansel/src/common/image.c:2532, function dt_image_write_sidecar_file(): prepare "UPDATE main.images SET write_timestamp = STRFTIME('%s', 'now') WHERE id = ?1"
14.832187 [sql] /home/jiyone/src/ansel/src/common/image.c:367, function dt_image_full_path(): prepare "SELECT folder || '/' || filename FROM main.images i, main.film_rolls f WHERE i.film_id = f.id and i.id = ?1"
14.832325 [sql] /home/jiyone/src/ansel/src/common/image.c:399, function _image_local_copy_full_path(): prepare "SELECT folder || '/' || filename FROM main.images i, main.film_rolls f WHERE i.film_id = f.id AND i.id = ?1"
14.832447 dt_image_full_path pathname (/home/jiyone/Téléchargements/Diapo surex/_DSC1895.NEF) called from dt_control_export_job_run, cache=0
14.832479 [sql] /home/jiyone/src/ansel/src/common/image.c:367, function dt_image_full_path(): prepare "SELECT folder || '/' || filename FROM main.images i, main.film_rolls f WHERE i.film_id = f.id and i.id = ?1"
14.832571 dt_image_full_path pathname (/home/jiyone/Téléchargements/Diapo surex/_DSC1895.NEF) called from store, cache=0
14.832860 [dev] took 0.000 secs (0.000 CPU) to load the image.
14.833276 [sql] /home/jiyone/src/ansel/src/common/iop_order.c:782, function dt_ioppr_get_iop_order_list(): prepare "SELECT version, iop_list FROM main.module_order WHERE imgid=?1"
14.833481 [sql] /home/jiyone/src/ansel/src/develop/develop.c:1649, function dt_dev_read_history_ext(): exec "DELETE FROM memory.history"
14.833521 [history] temporary history deleted
14.833548 [params] defaults reloaded for dither
14.833658 [params] defaults reloaded for filmicrgb
14.833696 [params] defaults reloaded for colormapping
14.833799 [params] defaults reloaded for channelmixerrgb
14.833828 [sql] /home/jiyone/src/ansel/src/common/image.c:367, function dt_image_full_path(): prepare "SELECT folder || '/' || filename FROM main.images i, main.film_rolls f WHERE i.film_id = f.id and i.id = ?1"
14.833934 [sql] /home/jiyone/src/ansel/src/common/image.c:399, function _image_local_copy_full_path(): prepare "SELECT folder || '/' || filename FROM main.images i, main.film_rolls f WHERE i.film_id = f.id AND i.id = ?1"
14.834014 dt_image_full_path pathname (/home/jiyone/Téléchargements/Diapo surex/_DSC1895.NEF) called from dt_image_find_best_color_profile, cache=0
14.834028 [sql] /home/jiyone/src/ansel/src/common/image_cache.c:253, function dt_image_cache_write_release(): prepare "UPDATE main.images SET width = ?1, height = ?2, filename = ?3, maker = ?4, model = ?5,     lens = ?6, exposure = ?7, aperture = ?8, iso = ?9, focal_length = ?10,     focus_distance = ?11, film_id = ?12, datetime_taken = ?13, flags = ?14,     crop = ?15, orientation = ?16, raw_parameters = ?17, group_id = ?18,     longitude = ?19, latitude = ?20, altitude = ?21, color_matrix = ?22,     colorspace = ?23, raw_black = ?24, raw_maximum = ?25,     aspect_ratio = ROUND(?26,1), exposure_bias = ?27,     import_timestamp = ?28, change_timestamp = ?29, export_timestamp = ?30,     print_timestamp = ?31, output_width = ?32, output_height = ?33 WHERE id = ?34"
14.834423 [params] defaults reloaded for colorin
14.834454 [params] defaults reloaded for crop
14.834481 [params] defaults reloaded for retouch
14.834534 [params] defaults reloaded for clipping
14.834546 [params] defaults reloaded for flip
14.834563 [params] defaults reloaded for ashift
14.834580 [params] defaults reloaded for cacorrectrgb
14.839655 [params] defaults reloaded for lens
14.839691 [params] defaults reloaded for scalepixels
14.839707 [params] defaults reloaded for rotatepixels
14.839725 [params] defaults reloaded for denoiseprofile
14.839739 [params] defaults reloaded for demosaic
14.839752 [params] defaults reloaded for rawdenoise
14.839764 [params] defaults reloaded for hotpixels
14.839778 [params] defaults reloaded for cacorrect
14.839791 [params] defaults reloaded for highlights
14.839835 [params] defaults reloaded for temperature
14.839851 [params] defaults reloaded for invert
14.839863 [params] defaults reloaded for rawprepare
14.839873 [sql] /home/jiyone/src/ansel/src/common/history.c:1221, function 

... Github says comment is too long ...

14.846679 [sql] /home/jiyone/src/ansel/src/common/image_cache.c:253, function dt_image_cache_write_release(): prepare "UPDATE main.images SET width = ?1, height = ?2, filename = ?3, maker = ?4, model = ?5,     lens = ?6, exposure = ?7, aperture = ?8, iso = ?9, focal_length = ?10,     focus_distance = ?11, film_id = ?12, datetime_taken = ?13, flags = ?14,     crop = ?15, orientation = ?16, raw_parameters = ?17, group_id = ?18,     longitude = ?19, latitude = ?20, altitude = ?21, color_matrix = ?22,     colorspace = ?23, raw_black = ?24, raw_maximum = ?25,     aspect_ratio = ROUND(?26,1), exposure_bias = ?27,     import_timestamp = ?28, change_timestamp = ?29, export_timestamp = ?30,     print_timestamp = ?31, output_width = ?32, output_height = ?33 WHERE id = ?34"
14.847269 [sql] /home/jiyone/src/ansel/src/develop/develop.c:1241, function _dev_get_module_nb_records(): prepare "SELECT count (*) FROM  memory.history"
14.847340 [history] temporary history initialised with default params and presets
14.847348 [sql] /home/jiyone/src/ansel/src/develop/develop.c:1511, function _dev_merge_history(): prepare "SELECT COUNT(*) FROM memory.history"
14.847371 [history] temporary history merged with image history
14.847377 [sql] /home/jiyone/src/ansel/src/develop/develop.c:1678, function dt_dev_read_history_ext(): prepare "SELECT history_end FROM main.images WHERE id = ?1"
14.847456 [sql] /home/jiyone/src/ansel/src/develop/develop.c:1689, function dt_dev_read_history_ext(): prepare "SELECT imgid, num, module, operation,       op_params, enabled, blendop_params,       blendop_version, multi_priority, multi_name FROM main.history WHERE imgid = ?1 ORDER BY num"
14.847601 [history] successfully loaded module gamma from history
			blendop v. 11:	version ok	params ok
			params v. 1:	version ok	params ok
14.847645 [history] successfully loaded module temperature from history
			blendop v. 11:	version ok	params ok
			params v. 3:	version ok	params ok
14.847708 [history] successfully loaded module dither from history
			blendop v. 11:	version ok	params ok
			params v. 1:	version ok	params ok
14.847743 [history] successfully loaded module rawprepare from history
			blendop v. 11:	version ok	params ok
			params v. 2:	version ok	params ok
14.847786 [history] successfully loaded module flip from history
			blendop v. 11:	version ok	params ok
			params v. 2:	version ok	params ok
14.847851 [history] successfully loaded module demosaic from history
			blendop v. 11:	version ok	params ok
			params v. 4:	version ok	params ok
14.847884 [history] successfully loaded module crop from history
			blendop v. 11:	version ok	params ok
			params v. 1:	version ok	params ok
14.847921 [history] successfully loaded module colorin from history
			blendop v. 11:	version ok	params ok
			params v. 7:	version ok	params ok
14.847962 [history] successfully loaded module ashift from history
			blendop v. 11:	version ok	params ok
			params v. 5:	version ok	params ok
14.847995 [history] successfully loaded module cacorrectrgb from history
			blendop v. 11:	version ok	params ok
			params v. 1:	version ok	params ok
14.848036 [history] successfully loaded module colorbalancergb from history
			blendop v. 11:	version ok	params ok
			params v. 5:	version ok	params ok
14.848073 [history] successfully loaded module highlights from history
			blendop v. 11:	version ok	params ok
			params v. 4:	version ok	params ok
14.848111 [history] successfully loaded module colorcontrast from history
			blendop v. 11:	version ok	params ok
			params v. 2:	version ok	params ok
14.848149 [history] successfully loaded module colorcorrection from history
			blendop v. 11:	version ok	params ok
			params v. 1:	version ok	params ok
14.848182 [history] successfully loaded module bilat from history
			blendop v. 11:	version ok	params ok
			params v. 3:	version ok	params ok
14.848221 [history] successfully loaded module shadhi from history
			blendop v. 11:	version ok	params ok
			params v. 5:	version ok	params ok
14.848255 [history] successfully loaded module lens from history
			blendop v. 11:	version ok	params ok
			params v. 5:	version ok	params ok
14.848287 [history] successfully loaded module channelmixerrgb from history
			blendop v. 11:	version ok	params ok
			params v. 3:	version ok	params ok
14.848323 [history] successfully loaded module exposure from history
			blendop v. 11:	version ok	params ok
			params v. 6:	version ok	params ok
14.848360 [history] successfully loaded module diffuse from history
			blendop v. 11:	version ok	params ok
			params v. 2:	version ok	params ok
14.848397 [history] successfully loaded module diffuse from history
			blendop v. 11:	version ok	params ok
			params v. 2:	version ok	params ok
14.848433 [history] successfully loaded module diffuse from history
			blendop v. 11:	version ok	params ok
			params v. 2:	version ok	params ok
14.848469 [history] successfully loaded module diffuse from history
			blendop v. 11:	version ok	params ok
			params v. 2:	version ok	params ok
14.848507 [history] successfully loaded module diffuse from history
			blendop v. 11:	version ok	params ok
			params v. 2:	version ok	params ok
14.848542 [history] successfully loaded module colorbalancergb from history
			blendop v. 11:	version ok	params ok
			params v. 5:	version ok	params ok
14.848572 [history] successfully loaded module diffuse from history
			blendop v. 11:	version ok	params ok
			params v. 2:	version ok	params ok
14.848613 [history] successfully loaded module borders from history
			blendop v. 11:	version ok	params ok
			params v. 3:	version ok	params ok
14.848646 [history] successfully loaded module borders from history
			blendop v. 11:	version ok	params ok
			params v. 3:	version ok	params ok
14.848686 [history] successfully loaded module crop from history
			blendop v. 11:	version ok	params ok
			params v. 1:	version ok	params ok
14.848718 [history] successfully loaded module borders from history
			blendop v. 11:	version ok	params ok
			params v. 3:	version ok	params ok
14.848743 [history] successfully loaded module lens from history
			blendop v. 11:	version ok	params ok
			params v. 5:	version ok	params ok
14.848776 [history] successfully loaded module crop from history
			blendop v. 11:	version ok	params ok
			params v. 1:	version ok	params ok
14.848817 [history] successfully loaded module borders from history
			blendop v. 11:	version ok	params ok
			params v. 3:	version ok	params ok
14.848909 [sql] /home/jiyone/src/ansel/src/develop/develop.c:1901, function dt_dev_read_history_ext(): prepare "SELECT history_end FROM main.images WHERE id = ?1"
14.849030 [sql] /home/jiyone/src/ansel/src/develop/masks/masks.c:868, function dt_masks_read_masks_history(): prepare "SELECT imgid, formid, form, name, version, points, points_count, source, num FROM main.masks_history WHERE imgid = ?1 ORDER BY num"
14.849118 [sql] /home/jiyone/src/ansel/src/develop/develop.c:1146, function _cleanup_history(): prepare "DELETE FROM main.history WHERE imgid = ?1"
14.849470 [sql] /home/jiyone/src/ansel/src/develop/develop.c:1152, function _cleanup_history(): prepare "DELETE FROM main.masks_history WHERE imgid = ?1"
14.849563 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.849646 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.849890 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.850095 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.850161 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.850303 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.850445 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.850501 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.850634 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.850778 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.850873 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.851090 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.851300 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.851377 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.851571 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.851767 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.851869 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.852059 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.852247 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.852311 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.852490 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.852675 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.852737 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.852935 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.853131 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.853195 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.853373 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.853558 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.853624 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.853841 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.854087 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.854166 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.854362 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.854561 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.854634 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.854877 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.855082 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.855152 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.855328 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.855525 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.855596 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.855852 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.856061 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.856136 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.856327 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.856521 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.856585 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.856767 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.856984 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.857052 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.857222 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.857395 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.857461 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.857627 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.857797 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.857881 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.858072 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.858261 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.858321 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.858485 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.858661 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.858728 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.858969 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.859154 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.859215 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.859370 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.859555 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.859637 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.859833 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.860047 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.860113 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.860280 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.860451 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.860511 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.860677 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.860884 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.860952 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.861120 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.861293 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.861357 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.861525 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.861704 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.861766 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.861961 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.862133 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.862194 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.862351 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.862661 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.862705 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.862815 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.862934 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.862981 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.863078 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.863176 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.863218 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.863313 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.863410 [sql] /home/jiyone/src/ansel/src/develop/develop.c:609, function dt_dev_write_history_item(): prepare "SELECT num FROM main.history WHERE imgid = ?1 AND num = ?2"
14.863450 [sql] /home/jiyone/src/ansel/src/develop/develop.c:616, function dt_dev_write_history_item(): prepare "INSERT INTO main.history (imgid, num) VALUES (?1, ?2)"
14.863535 [sql] /home/jiyone/src/ansel/src/develop/develop.c:626, function dt_dev_write_history_item(): prepare "UPDATE main.history SET operation = ?1, op_params = ?2, module = ?3, enabled = ?4,      blendop_params = ?7, blendop_version = ?8, multi_priority = ?9, multi_name = ?10 WHERE imgid = ?5 AND num = ?6"
14.863657 [sql] /home/jiyone/src/ansel/src/common/iop_order.c:665, function dt_ioppr_write_iop_order(): prepare "INSERT OR REPLACE INTO main.module_order VALUES (?1, 0, NULL)"
14.863732 [sql] /home/jiyone/src/ansel/src/common/iop_order.c:688, function dt_ioppr_write_iop_order(): prepare "UPDATE main.module_order SET version = ?2, iop_list = NULL WHERE imgid = ?1"
14.863820 [sql] /home/jiyone/src/ansel/src/common/history.c:1324, function _history_hash_compute_from_db(): prepare "SELECT history_end FROM main.images WHERE id = ?1"
14.863871 [sql] /home/jiyone/src/ansel/src/common/history.c:1340, function _history_hash_compute_from_db(): prepare "SELECT operation, op_params, blendop_params, enabled, MAX(num) FROM main.history WHERE imgid = ?1 AND num <= ?2 GROUP BY operation, multi_priority ORDER BY num"
14.864061 [sql] /home/jiyone/src/ansel/src/common/history.c:1376, function _history_hash_compute_from_db(): prepare "SELECT version, iop_list FROM main.module_order WHERE imgid = ?1"
14.864110 [sql] /home/jiyone/src/ansel/src/common/history.c:1480, function dt_history_hash_write_from_history(): prepare "INSERT INTO main.history_hash (imgid, current_hash) VALUES (?1, ?2) ON CONFLICT (imgid) DO UPDATE SET current_hash=?2"
14.867032 [pixelpipe] synch all modules with defaults_params for pipe 1
14.867058 [params] commit for rawprepare in pipe 1 with hash 16605680726353495584
validation check failed in _iop_validate_params for type "float", field: g2
validation check failed in _iop_validate_params for type "dt_iop_temperature_params_t"
14.867072 [params] commit for temperature in pipe 1 with hash 11999618835776922374
14.867080 [params] commit for highlights in pipe 1 with hash 1395053481051341442
14.867086 [params] commit for demosaic in pipe 1 with hash 7352210815760809480
14.867093 [params] commit for flip in pipe 1 with hash 9238829335574327982
14.867790 [params] commit for colorin in pipe 1 with hash 18294619633108262252
14.873253 [lighttable] expose took 0.0000 sec
14.892503 [params] commit for colorout in pipe 1 with hash 0
14.892523 [params] commit for finalscale in pipe 1 with hash 0
14.892529 [params] commit for overexposed in pipe 1 with hash 0
14.892533 [params] commit for rawoverexposed in pipe 1 with hash 0
14.892538 [params] commit for dither in pipe 1 with hash 9292992815843494994
14.892544 [params] commit for gamma in pipe 1 with hash 15802672889214947181
14.892547 [pixelpipe] synch all modules with history for pipe 1
14.892554 [params] commit for gamma in pipe 1 with hash 15802672889214947181
validation check failed in _iop_validate_params for type "float", field: g2
validation check failed in _iop_validate_params for type "dt_iop_temperature_params_t"
14.892566 [params] commit for temperature in pipe 1 with hash 11999618835776922374
14.892572 [params] commit for dither in pipe 1 with hash 9292992815843494994
14.892582 [params] commit for rawprepare in pipe 1 with hash 16605680726353495584
14.892589 [params] commit for flip in pipe 1 with hash 9238829335574327982
14.892594 [params] commit for demosaic in pipe 1 with hash 7352210815760809480
14.892599 [params] commit for crop in pipe 1 with hash 5205704358002376944
14.892633 [params] commit for colorin in pipe 1 with hash 18294619633108262252
14.893750 [params] commit for lens in pipe 1 with hash 1130102417759611520
14.893768 [params] commit for channelmixerrgb in pipe 1 with hash 13828339027493306733
14.893776 [params] commit for exposure in pipe 1 with hash 13099550767661335675
14.893781 [params] commit for diffuse in pipe 1 with hash 18058436745065865037
14.893786 [params] commit for diffuse in pipe 1 with hash 18058436745065865037
14.893790 [params] commit for diffuse in pipe 1 with hash 18058436745065865037
14.893795 [params] commit for diffuse in pipe 1 with hash 18058436745065865037
14.893799 [params] commit for diffuse in pipe 1 with hash 18058436745065865037
validation check failed in _iop_validate_params for type "float", field: aspect
validation check failed in _iop_validate_params for type "dt_iop_borders_params_t"
14.893821 [params] commit for borders in pipe 1 with hash 9396648287951890943
validation check failed in _iop_validate_params for type "float", field: aspect
validation check failed in _iop_validate_params for type "dt_iop_borders_params_t"
14.893831 [params] commit for borders in pipe 1 with hash 9396648287951890943
14.894752 [params] commit for lens in pipe 1 with hash 1130102417759611520
14.894761 [params] commit for crop in pipe 1 with hash 5205704358002376944
validation check failed in _iop_validate_params for type "float", field: aspect
validation check failed in _iop_validate_params for type "dt_iop_borders_params_t"
14.894771 [params] commit for borders in pipe 1 with hash 9396648287951890943
[dt_imageio_export_with_flags] 
 rawprepare temperature demosaic lens flip exposure crop colorin channelmixerrgb colorout finalscale dither borders gamma (14)
14.894840 [export] creating pixelpipe took 0.031 secs (0.044 CPU)
14.894869 [dt_imageio_export] (direct) imgid 3056, hq 0, pipe 7980x5721, range 0x0 --> size 0x0 / 0x0 - ratio 1.39486
14.894886 [pixelpipe_process] [export] using device 0
[memory] before pixelpipe process
[memory] max address space (vmpeak):     7797840 kB
[memory] cur address space (vmsize):     7791916 kB
[memory] max used memory   (vmhwm ):      865652 kB
[memory] cur used memory   (vmrss ):      749056 kB
pixelpipe cacheline 0 unused
pixelpipe cacheline 1 unused
cache hit rate so far: -nan
14.895006 [params] global hash for rawprepare in pipe 1 with hash 1721438056898230716
14.895011 [params] global hash for temperature in pipe 1 with hash 13380789459115073744
14.895014 [params] global hash for demosaic in pipe 1 with hash 14823370464717074014
14.895017 [params] global hash for lens in pipe 1 with hash 864528100978633704
14.895019 [params] global hash for flip in pipe 1 with hash 13482035471348996885
14.895022 [params] global hash for exposure in pipe 1 with hash 13530601256429520234
14.895025 [params] global hash for crop in pipe 1 with hash 8463106460485008221
14.895029 [params] global hash for colorin in pipe 1 with hash 6384303378146821310
14.895032 [params] global hash for channelmixerrgb in pipe 1 with hash 5529779738808348785
14.895037 [params] global hash for colorout in pipe 1 with hash 9141389792066651020
14.895041 [params] global hash for dither in pipe 1 with hash 9132211900981424370
14.895045 [params] global hash for borders in pipe 1 with hash 4746365368134860099
14.895049 [params] global hash for gamma in pipe 1 with hash 4950164759191209024
14.895287 [dev_pixelpipe] took 0.000 secs (0.001 CPU) initing base buffer [export]
14.895381 [opencl memory] device 0: 561336 bytes (0.5 MB) in use
14.895909 [opencl memory] device 0: 699208 bytes (0.7 MB) in use
14.896266 [opencl memory] device 0: 699224 bytes (0.7 MB) in use
14.896287 [opencl memory] device 0: 699240 bytes (0.7 MB) in use
14.896299 [opencl memory] device 0: 699224 bytes (0.7 MB) in use
14.896304 [opencl memory] device 0: 699208 bytes (0.7 MB) in use
14.896480 [opencl memory] device 0: 137872 bytes (0.1 MB) in use
14.896512 [dev_pixelpipe] took 0.001 secs (0.000 CPU) processed `Raw settings' on GPU, blended on GPU [export]
[dev_pixelpipe] module `Raw settings' min: (0.007732) max: (0.718750) [export]
14.897148 [opencl memory] device 0: 275744 bytes (0.3 MB) in use
14.897505 [opencl memory] device 0: 275756 bytes (0.3 MB) in use
14.897524 [opencl memory] device 0: 275744 bytes (0.3 MB) in use
14.897678 [opencl memory] device 0: 137872 bytes (0.1 MB) in use
14.897710 [dev_pixelpipe] took 0.001 secs (0.000 CPU) processed `white balance' on GPU, blended on GPU [export]
[dev_pixelpipe] module `white balance' min: (0.011497) max: (0.749290) [export]
14.898466 [opencl memory] device 0: 232384 bytes (0.2 MB) in use
14.898867 [opencl memory] device 0: 783872 bytes (0.7 MB) in use
14.898921 [opencl memory] device 0: 1335360 bytes (1.3 MB) in use
14.898959 [opencl memory] device 0: 783872 bytes (0.7 MB) in use
14.899011 [opencl memory] device 0: 921744 bytes (0.9 MB) in use
14.899076 [opencl memory] device 0: 1059616 bytes (1.0 MB) in use
14.899114 [opencl memory] device 0: 1197488 bytes (1.1 MB) in use
14.899162 [opencl memory] device 0: 1335360 bytes (1.3 MB) in use
14.899197 [opencl memory] device 0: 1473232 bytes (1.4 MB) in use
14.899239 [opencl memory] device 0: 1611104 bytes (1.5 MB) in use
14.899294 [opencl memory] device 0: 1748976 bytes (1.7 MB) in use
14.899330 [opencl memory] device 0: 1886848 bytes (1.8 MB) in use
14.899365 [opencl memory] device 0: 1748976 bytes (1.7 MB) in use
14.899372 [opencl memory] device 0: 1611104 bytes (1.5 MB) in use
14.899378 [opencl memory] device 0: 1473232 bytes (1.4 MB) in use
14.899384 [opencl memory] device 0: 1335360 bytes (1.3 MB) in use
14.899387 [opencl memory] device 0: 1197488 bytes (1.1 MB) in use
14.899390 [opencl memory] device 0: 1059616 bytes (1.0 MB) in use
14.899396 [opencl memory] device 0: 921744 bytes (0.9 MB) in use
14.899401 [opencl memory] device 0: 783872 bytes (0.7 MB) in use
14.899824 [opencl memory] device 0: 784064 bytes (0.7 MB) in use
14.899864 [opencl memory] device 0: 784076 bytes (0.7 MB) in use
14.899895 [opencl memory] device 0: 784268 bytes (0.7 MB) in use
14.899922 [opencl memory] device 0: 784304 bytes (0.7 MB) in use
14.900235 [opencl memory] device 0: 910320 bytes (0.9 MB) in use
14.900311 [opencl memory] device 0: 918196 bytes (0.9 MB) in use
14.900431 [opencl memory] device 0: 1044212 bytes (1.0 MB) in use
14.900508 [opencl memory] device 0: 1067840 bytes (1.0 MB) in use
14.900523 [opencl memory] device 0: 1067648 bytes (1.0 MB) in use
14.900528 [opencl memory] device 0: 1067636 bytes (1.0 MB) in use
14.900531 [opencl memory] device 0: 1067444 bytes (1.0 MB) in use
14.900535 [opencl memory] device 0: 1067408 bytes (1.0 MB) in use
14.900540 [opencl memory] device 0: 941392 bytes (0.9 MB) in use
14.900544 [opencl memory] device 0: 933516 bytes (0.9 MB) in use
14.900547 [opencl memory] device 0: 807500 bytes (0.8 MB) in use
14.900553 [opencl memory] device 0: 783872 bytes (0.7 MB) in use
14.900585 [opencl memory] device 0: 232384 bytes (0.2 MB) in use
14.901004 [opencl memory] device 0: 94512 bytes (0.1 MB) in use
14.901037 [dev_pixelpipe] took 0.003 secs (0.002 CPU) processed `demosaic' on GPU, blended on GPU [export]
[dev_pixelpipe] module `demosaic' min: (0.019287; 0.000000; 0.000000) max: (0.742644; 0.712935; 0.741362) [export]
14.901409 [opencl memory] device 0: 94528 bytes (0.1 MB) in use
14.901798 [opencl memory] device 0: 189040 bytes (0.2 MB) in use
14.901847 [opencl memory] device 0: 283552 bytes (0.3 MB) in use
14.902188 [opencl memory] device 0: 189040 bytes (0.2 MB) in use
14.902196 [opencl memory] device 0: 94528 bytes (0.1 MB) in use
14.902307 [opencl memory] device 0: 16 bytes (0.0 MB) in use
14.902329 [dev_pixelpipe] took 0.001 secs (0.001 CPU) processed `lens correction' on GPU, blended on GPU [export]
[dev_pixelpipe] module `lens correction' min: (0.247110; 0.000000; 0.000000) max: (0.247110; 0.213099; 0.158716) [export]
14.902537 [opencl memory] device 0: 32 bytes (0.0 MB) in use
14.902921 [opencl memory] device 0: 16 bytes (0.0 MB) in use
14.902947 [dev_pixelpipe] took 0.000 secs (0.000 CPU) processed `orientation' on GPU, blended on GPU [export]
[dev_pixelpipe] module `orientation' min: (0.247110; 0.000000; 0.000000) max: (0.247110; 0.213099; 0.158716) [export]
14.903098 [opencl memory] device 0: 32 bytes (0.0 MB) in use
14.903505 [opencl memory] device 0: 16 bytes (0.0 MB) in use
14.903532 [dev_pixelpipe] took 0.000 secs (0.000 CPU) processed `exposure' on GPU, blended on GPU [export]
[dev_pixelpipe] module `exposure' min: (0.267251; 0.000000; 0.000000) max: (0.267251; 0.230504; 0.171747) [export]
14.903710 [opencl memory] device 0: 32 bytes (0.0 MB) in use
14.904151 [opencl memory] device 0: 16 bytes (0.0 MB) in use
14.904171 [dev_pixelpipe] took 0.000 secs (0.000 CPU) processed `crop' on GPU, blended on GPU [export]
[dev_pixelpipe] module `crop' min: (0.267251; 0.000000; 0.000000) max: (0.267251; 0.230504; 0.171747) [export]
14.904699 [opencl memory] device 0: 32 bytes (0.0 MB) in use
14.905061 [opencl memory] device 0: 68 bytes (0.0 MB) in use
14.905095 [opencl memory] device 0: 104 bytes (0.0 MB) in use
14.905502 [opencl memory] device 0: 262248 bytes (0.3 MB) in use
14.905866 [opencl memory] device 0: 524392 bytes (0.5 MB) in use
14.906205 [opencl memory] device 0: 786536 bytes (0.8 MB) in use
14.906249 [opencl memory] device 0: 786572 bytes (0.8 MB) in use
14.906270 [opencl memory] device 0: 786536 bytes (0.8 MB) in use
14.906278 [opencl memory] device 0: 786500 bytes (0.8 MB) in use
14.906282 [opencl memory] device 0: 524356 bytes (0.5 MB) in use
14.906285 [opencl memory] device 0: 262212 bytes (0.3 MB) in use
14.906288 [opencl memory] device 0: 68 bytes (0.0 MB) in use
14.906290 [opencl memory] device 0: 32 bytes (0.0 MB) in use
14.906451 [opencl memory] device 0: 16 bytes (0.0 MB) in use
14.906474 [dev_pixelpipe] took 0.002 secs (0.001 CPU) processed `input color profile' on GPU, blended on GPU [export]
[dev_pixelpipe] module `input color profile' min: (57.804321; 0.000000; 0.000000) max: (57.804321; 1.341194; 18.079769) [export]
14.906616 [opencl memory] device 0: 32 bytes (0.0 MB) in use
14.908042 [opencl memory] device 0: 48 bytes (0.0 MB) in use
14.908110 [opencl memory] device 0: 204 bytes (0.0 MB) in use
14.910449 [opencl memory] device 0: 1573068 bytes (1.5 MB) in use
image colorspace transform Lab-->RGB took 0.004 secs (0.002 GPU) [channelmixerrgb 0]
14.910492 [opencl memory] device 0: 1573052 bytes (1.5 MB) in use
14.910497 [opencl memory] device 0: 1572896 bytes (1.5 MB) in use
14.910501 [opencl memory] device 0: 32 bytes (0.0 MB) in use
14.910628 [opencl memory] device 0: 80 bytes (0.0 MB) in use
14.910648 [opencl memory] device 0: 128 bytes (0.0 MB) in use
14.910662 [opencl memory] device 0: 176 bytes (0.0 MB) in use
14.910672 [opencl memory] device 0: 128 bytes (0.0 MB) in use
14.910676 [opencl memory] device 0: 80 bytes (0.0 MB) in use
14.910682 [opencl memory] device 0: 32 bytes (0.0 MB) in use
14.910837 [opencl memory] device 0: 16 bytes (0.0 MB) in use
14.910859 [dev_pixelpipe] took 0.004 secs (0.003 CPU) processed `color calibration' on GPU, blended on GPU [export]
[dev_pixelpipe] module `color calibration' min: (0.278427; 0.000000; 0.000000) max: (0.278427; 0.255590; 0.158652) [export]
14.911088 [opencl memory] device 0: 0 bytes (0.0 MB) in use
image colorspace transform RGB-->Lab took 0.000 secs (0.000 CPU) [colorout ]
14.911136 [dev_pixelpipe] took 0.000 secs (0.000 CPU) processed `output color profile' on CPU, blended on CPU [export]
[dev_pixelpipe] module `output color profile' min: (57.804321; 0.000000; 0.000000) max: (57.804321; 1.341194; 18.079769) [export]
14.911151 [dev_pixelpipe] took 0.000 secs (0.000 CPU) processed `dithering' on CPU, blended on CPU [export]
[dev_pixelpipe] module `dithering' min: (57.803730; 0.000000; 0.000000) max: (57.803730; 0.586987; 18.245674) [export]
14.911166 [opencl memory] device 0: 16 bytes (0.0 MB) in use
14.911260 [opencl alloc_device] could not alloc img buffer on device 0: CL_INVALID_IMAGE_SIZE
14.911267 [opencl memory] device 0: 16 bytes (0.0 MB) in use
14.911270 [opencl_pixelpipe] couldn't allocate output buffer for module borders
14.911580 [opencl_pixelpipe] could not run module 'borders' on gpu. falling back to cpu path
14.911673 [opencl memory] device 0: 0 bytes (0.0 MB) in use
14.911690 [dev_pixelpipe] took 0.001 secs (0.000 CPU) processed `framing' on CPU, blended on CPU [export]
[dev_pixelpipe] module `framing' min: (340282346638528859811704183484516925440.000000; 0.000000; 0.000000) max: (0.000000; 0.000000; 0.000000) [export]
[pixelpipe_process_on_CPU] Warning: processes `gamma' even if memory requirements are not met
14.911708 [dev_pixelpipe] took 0.000 secs (0.000 CPU) processed `display encoding' on CPU, blended on CPU [export]
14.911715 [opencl_profiling] profiling device 0 ('Ellesmere'):
14.911718 [opencl_profiling] spent  0.0001 seconds in [Write Image (from host to device)]
14.911721 [opencl_profiling] spent  0.0000 seconds in rawprepare_1f
14.911724 [opencl_profiling] spent  0.0003 seconds in [Read Image (from device to host)]
14.911728 [opencl_profiling] spent  0.0000 seconds in whitebalance_1f
14.911733 [opencl_profiling] spent  0.0000 seconds in border_interpolate
14.911737 [opencl_profiling] spent  0.0000 seconds in rcd_border_green
14.911740 [opencl_profiling] spent  0.0000 seconds in rcd_border_redblue
14.911743 [opencl_profiling] spent  0.0000 seconds in rcd_populate
14.911747 [opencl_profiling] spent  0.0000 seconds in rcd_step_1_1
14.911750 [opencl_profiling] spent  0.0000 seconds in rcd_step_1_2
14.911754 [opencl_profiling] spent  0.0000 seconds in rcd_step_2_1
14.911758 [opencl_profiling] spent  0.0000 seconds in rcd_step_3_1
14.911761 [opencl_profiling] spent  0.0000 seconds in rcd_step_4_1
14.911765 [opencl_profiling] spent  0.0000 seconds in rcd_step_4_2
14.911769 [opencl_profiling] spent  0.0000 seconds in rcd_step_5_1
14.911773 [opencl_profiling] spent  0.0000 seconds in rcd_step_5_2
14.911776 [opencl_profiling] spent  0.0000 seconds in rcd_write_output
14.911779 [opencl_profiling] spent  0.0001 seconds in interpolation_resample
14.911783 [opencl_profiling] spent  0.0000 seconds in [Write Buffer (from host to device)]
14.911787 [opencl_profiling] spent  0.0000 seconds in lens_vignette
14.911791 [opencl_profiling] spent  0.0000 seconds in lens_distort_bicubic
14.911794 [opencl_profiling] spent  0.0000 seconds in flip
14.911798 [opencl_profiling] spent  0.0000 seconds in exposure
14.911810 [opencl_profiling] spent  0.0000 seconds in [Copy Image (on device)]
14.911814 [opencl_profiling] spent  0.0000 seconds in colorin_unbound
14.911818 [opencl_profiling] spent  0.0000 seconds in colorspaces_transform_lab_to_rgb_matrix
14.911822 [opencl_profiling] spent  0.0000 seconds in channelmixerrgb_CAT16
14.911826 [opencl_profiling] spent  0.0007 seconds totally in command queue (with 0 events missing)
14.911838 [dev_process_export] pixel pipeline processing took 0.017 secs (0.011 CPU)
14.911869 [sql] /home/jiyone/src/ansel/src/common/image.c:367, function dt_image_full_path(): prepare "SELECT folder || '/' || filename FROM main.images i, main.film_rolls f WHERE i.film_id = f.id and i.id = ?1"
14.911986 [sql] /home/jiyone/src/ansel/src/common/image.c:399, function _image_local_copy_full_path(): prepare "SELECT folder || '/' || filename FROM main.images i, main.film_rolls f WHERE i.film_id = f.id AND i.id = ?1"
14.912044 dt_image_full_path pathname (/home/jiyone/Téléchargements/Diapo surex/_DSC1895.NEF) called from dt_imageio_export_with_flags, cache=0
14.914206 [sql] /home/jiyone/src/ansel/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value"
14.914306 [sql] /home/jiyone/src/ansel/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value"
14.914352 [sql] /home/jiyone/src/ansel/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value"
14.914407 [sql] /home/jiyone/src/ansel/src/common/metadata.c:403, function dt_metadata_get(): prepare "SELECT flags FROM main.images WHERE id = ?1"
Empty JPEG image (DNL not supported)
[imageio_storage_disk] could not export to file: `/home/jiyone/Images/Ansel/2024/2024.08 Diapo surex/_DSC1895.jpg'!
14.917234 [run_job-] 04 433722324.273968 14.917246 export | queue: 3 | priority: 014.917250 
14.933677 [lighttable] expose took 0.0000 sec
24.921134 [lighttable] expose took 0.0000 sec

Backtrace

Ansel doesn't crash.
@Jiyone Jiyone assigned Jiyone and aurelienpierre and unassigned Jiyone Aug 22, 2024
@Jiyone Jiyone added bug priority: high Affects basic and core functionnalities of the software in a way that severly degrades usability labels Aug 22, 2024
@Jiyone Jiyone changed the title Bug: Export jpeg of 0 byte Bug: Export jpeg or png of 0 byte Aug 22, 2024
@Jiyone Jiyone changed the title Bug: Export jpeg or png of 0 byte Bug: Export produce empty files of 0 byte Aug 22, 2024
@Jiyone
Copy link
Collaborator Author

Jiyone commented Aug 24, 2024

This is what I get with -d imageio

[dt_imageio_export_with_flags] rawprepare temperature demosaic denoiseprofile lens flip crop colorin channelmixerrgb negadoctor colorout finalscale dither gamma (14)
30.785576 [dt_imageio_export] (direct) imgid 3090, hq 0, pipe 7182x4920, range 0x0 --> size 0x0 / 0x0 - ratio 1.45976
[pixelpipe_process_on_CPU] Warning: processes `dither' even if memory requirements are not met
[pixelpipe_process_on_CPU] Warning: processes `gamma' even if memory requirements are not met
Empty JPEG image (DNL not supported)
[imageio_storage_disk] could not export to file: `/home/jiyone/Images/Ansel/2024/2024.08 Diapo surex/_DSC1898_01.jpg'!
 

@AlynxZhou
Copy link

This happens in 85f2b8b, let me try to find the reason.

@AlynxZhou
Copy link

This only happens if you use scaling factor to export an image.

@AlynxZhou
Copy link

The reason is when using scaling factor to export, it will also ensure the final size won't exceed max size (which is wired because those settings in UI looks independent), and if your max_width/height is 0, you'll get 0...

AlynxZhou added a commit to AlynxZhou/ansel that referenced this issue Sep 26, 2024
This is based on those 2 rules:

- Resizing by scaling factor or by max size are independent and select
  one will cover the other value, because user cannot see both in UI.
- We don't do upscaling when exporting.

So the actual logic on determine final size is simple:

1. If user set value <= 0, this means don't resize and use the original
   image size.
2. If user set value > original image size, this also means don't resize
   and use the original image size.
3. For max size, if user does not set the value according to image
   ratio, we will recalculate the value to keep image ratio and make
   sure the calculated size is smaller than user's max size.
4. If by scaling factor, calculate max size according to scaling factor.
   If by max size, calculate scaling factor according to max size.
5. Limit size by max size, and pass correct size and scaling factor to
   pixelpipe.

Fixes <aurelienpierreeng#362>.
@AlynxZhou
Copy link

Please try #368 to see whether it fixes this bug and help find bugs in it.

AlynxZhou added a commit to AlynxZhou/ansel that referenced this issue Sep 26, 2024
This is based on those 2 rules:

- Resizing by scaling factor or by max size are independent and select
  one will cover the other value, because user cannot see both in UI.
- We don't do upscaling when exporting.

So the actual logic on determine final size is simple:

1. If user set value <= 0, this means don't resize and use the original
   image size.
2. If user set value > original image size, this also means don't resize
   and use the original image size.
3. For max size, if user does not set the value according to image
   ratio, we will recalculate the value to keep image ratio and make
   sure the calculated size is smaller than user's max size.
4. If by scaling factor, calculate max size according to scaling factor.
   If by max size, calculate scaling factor according to max size.
5. Limit size by max size, and pass correct size and scaling factor to
   pixelpipe.

Fixes <aurelienpierreeng#362>.
AlynxZhou added a commit to AlynxZhou/ansel that referenced this issue Sep 26, 2024
This is based on those 2 rules:

- Resizing by scaling factor or by max size are independent and select
  one will cover the other value, because user cannot see both in UI.
- We don't do upscaling when exporting.

So the actual logic on determine final size is simple:

1. If user set value <= 0, this means don't resize and use the original
   image size.
2. If user set value > original image size, this also means don't resize
   and use the original image size.
3. For max size, if user does not set the value according to image
   ratio, we will recalculate the value to keep image ratio and make
   sure the calculated size is smaller than user's max size.
4. If by scaling factor, calculate max size according to scaling factor.
   If by max size, calculate scaling factor according to max size.
5. Limit size by max size, and pass correct size and scaling factor to
   pixelpipe.

Fixes <aurelienpierreeng#362>.
AlynxZhou added a commit to AlynxZhou/ansel that referenced this issue Sep 26, 2024
This is based on those 2 rules:

- Resizing by scaling factor or by max size are independent and select
  one will cover the other value, because user cannot see both in UI.
- We don't do upscaling when exporting.

So the actual logic on determine final size is simple:

1. If user set value <= 0, this means don't resize and use the original
   image size.
2. If user set value > original image size, this also means don't resize
   and use the original image size.
3. For max size, if user does not set the value according to image
   ratio, we will recalculate the value to keep image ratio and make
   sure the calculated size is smaller than user's max size.
4. If by scaling factor, calculate max size according to scaling factor.
   If by max size, calculate scaling factor according to max size.
5. Limit size by max size, and pass correct size and scaling factor to
   pixelpipe.

Fixes <aurelienpierreeng#362>.
AlynxZhou added a commit to AlynxZhou/ansel that referenced this issue Sep 26, 2024
This is based on those 2 rules:

- Resizing by scaling factor or by max size are independent and select
  one will cover the other value, because user cannot see both in UI.
- We don't do upscaling when exporting.

So the actual logic on determine final size is simple:

1. If user set value <= 0, this means don't resize and use the original
   image size.
2. If user set value > original image size, this also means don't resize
   and use the original image size.
3. For max size, if user does not set the value according to image
   ratio, we will recalculate the value to keep image ratio and make
   sure the calculated size is smaller than user's max size.
4. If by scaling factor, calculate max size according to scaling factor.
   If by max size, calculate scaling factor according to max size.
5. Limit size by max size, and pass correct size and scaling factor to
   pixelpipe.

Fixes <aurelienpierreeng#362>.
AlynxZhou added a commit to AlynxZhou/ansel that referenced this issue Oct 21, 2024
This is based on those 3 rules:

- Max size is not "max" size acutally but more like "requested" size.
- Resizing by scaling factor or by max size are independent and select
  one will cover the other value, because user cannot see both in UI.
- We don't do upscaling when exporting.

So the actual logic on determine final size is simple:

1. If user sets both dimensions <= 0 (setting scaling factor is also
   setting both dimensions), this means don't resize and use the
   original image size.
2. For max size, if user sets one dimension <= 0, this means calculate
   the other dimension via image ratio.
3. For max size, if user does not set dimensions according to image
   ratio, we match the longest dimension, and calculate the other
   dimension via image ratio.
4. If user sets value > original image size, this also means don't
   resize and use the original image size.
5. If by scaling factor, calculate max size according to scaling factor.
   If by max size, calculate scaling factor according to max size.
6. Limit size by max size, and pass correct size and scaling factor to
   pixelpipe.

Fixes <aurelienpierreeng#362>.
AlynxZhou added a commit to AlynxZhou/ansel that referenced this issue Oct 21, 2024
This is based on those 3 rules:

- Max size is not "max" size acutally but more like "requested" size.
- Resizing by scaling factor or by max size are independent and select
  one will cover the other value, because user cannot see both in UI.
- We don't do upscaling when exporting.

So the actual logic on determine final size is simple:

1. If user sets both dimensions <= 0 (setting scaling factor is also
   setting both dimensions), this means don't resize and use the
   original image size.
2. For max size, if user sets one dimension <= 0, this means calculate
   the other dimension via image ratio.
3. For max size, if user does not set dimensions according to image
   ratio, we match the longest dimension, and calculate the other
   dimension via image ratio.
4. If user sets value > original image size, this also means don't
   resize and use the original image size.
5. If by scaling factor, calculate max size according to scaling factor.
   If by max size, calculate scaling factor according to max size.
6. Limit size by max size, and pass correct size and scaling factor to
   pixelpipe.

Fixes <aurelienpierreeng#362>.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug priority: high Affects basic and core functionnalities of the software in a way that severly degrades usability
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants