Critical using Open location: GWinHttpFile doesn’t set G_FILE_ATTRIBUTE_STANDARD_TYPE
Environment/Versions
- GIMP version: last master
- Package: self build
- Operating System:
Description of the bug
Was trying to reproduce gimp#10511 (closed) but instead of download the xcf file on my pc I used the Open location and I have no crash but a critical in the console log and I can open the file
Reproduction
Is the bug reproducible? Always
Reproduction steps:
- File->open location
- open https://gitlab.gnome.org/GNOME/gimp/uploads/310525f27d60e1a6a41e6fbb967929d6/Layer_reverse_test.xcf
- Critical on the console
…
Additional information
If you have a backtrace for a crash or a warning, paste it here.
file_open_image: mounting remote volume failed, trying to download the file: volume doesn?t implement mount
(gimp-2.99.exe:7496): GLib-GIO-CRITICAL **: 19:29:59.518: GFileInfo created without standard::type
Thread 1 "main" received signal SIGTRAP, Trace/breakpoint trap.
_g_log_abort (breakpoint=breakpoint@entry=1) at ../glib-2.78.3/glib/gmessages.c:556
556 in ../glib-2.78.3/glib/gmessages.c
(gdb) bt full
#0 _g_log_abort (breakpoint=breakpoint@entry=1) at ../glib-2.78.3/glib/gmessages.c:556
debugger_present = <optimized out>
#1 0x00007ffe41881a0d in g_logv (log_domain=log_domain@entry=0x7ffe3e0255d7 <__func__.4+135> "GLib-GIO", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7ffe3e026fb8 <__func__.4+6760> "GFileInfo created without standard::type",
args=args@entry=0x5fd7e8 "\001") at ../glib-2.78.3/glib/gmessages.c:1419
domain = 0x0
data = 0x0
depth = 1
log_func = 0x7ffe41881705 <g_log_default_handler>
domain_fatal_mask = <optimized out>
masquerade_fatal = <optimized out>
test_level = <optimized out>
was_fatal = 0
was_recursion = 0
buffer = <optimized out>
msg_alloc = 0x0
msg = 0x7ffe3e026fb8 <__func__.4+6760> "GFileInfo created without standard::type"
i = 3
size = <optimized out>
#2 0x00007ffe41881bdb in g_log (log_domain=log_domain@entry=0x7ffe3e0255d7 <__func__.4+135> "GLib-GIO", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7ffe3e026fb8 <__func__.4+6760> "GFileInfo created without standard::type")
at ../glib-2.78.3/glib/gmessages.c:1461
args = 0x5fd7e8 "\001"
#3 0x00007ffe3df39d84 in g_file_info_get_file_type (info=info@entry=0x25e60a10) at ../glib-2.78.3/gio/gfileinfo.c:1611
attr = 1048577
value = <optimized out>
__func__ = "g_file_info_get_file_type"
#4 0x00007ffe3df30bec in file_copy_fallback (source=source@entry=0x25f493f0, destination=destination@entry=0x13c43340, flags=flags@entry=G_FILE_COPY_OVERWRITE, cancellable=cancellable@entry=0x13c44ee0,
progress_callback=progress_callback@entry=0x7ff6b2e23690 <file_remote_progress_callback>, progress_callback_data=progress_callback_data@entry=0x5fd9e0, error=error@entry=0x5fd9d8) at ../glib-2.78.3/gio/gfile.c:3391
ret = 0
file_in = 0x0
in = 0x0
out = 0x0
info = 0x25e60a10
target = <optimized out>
attrs_to_read = <optimized out>
do_set_attributes = 0
create_flags = <optimized out>
tmp_error = 0x0
#5 0x00007ffe3df312f9 in g_file_copy (source=0x25f493f0, destination=0x13c43340, flags=G_FILE_COPY_OVERWRITE, cancellable=0x13c44ee0, progress_callback=0x7ff6b2e23690 <file_remote_progress_callback>, progress_callback_data=0x5fd9e0, error=0x5fd9d8)
at ../glib-2.78.3/gio/gfile.c:3741
iface = <optimized out>
my_error = 0x5fd980
res = <optimized out>
__func__ = "g_file_copy"
#6 0x00007ff6b2e2359b in file_remote_copy_file (gimp=0x192006e0, src_file=0x25f493f0, dest_file=0x13c43340, mode=DOWNLOAD, progress=0x25f2c050, error=0x5fdae8) at ../app/file/file-remote.c:297
remote_progress = {mode = DOWNLOAD, progress = 0x25f2c050, cancellable = 0x13c44ee0, cancel = 0, last_time = 0}
success = 0
my_error = 0x0
#7 0x00007ff6b2e22ed8 in file_remote_download_image (gimp=0x192006e0, file=0x25f493f0, progress=0x25f2c050, error=0x5fdae8) at ../app/file/file-remote.c:175
local_file = 0x13c43340
__func__ = "file_remote_download_image"
#8 0x00007ff6b2e20908 in file_open_image (gimp=0x192006e0, context=0x19277050, progress=0x25f2c050, file=0x25f493f0, as_new=0, file_proc=0x1926f1f0, run_mode=GIMP_RUN_INTERACTIVE, status=0x5fdcbc, mime_type=0x5fdbd8, error=0x5fdcb0) at ../app/file/file-open.c:166
my_path = 0x0
return_vals = 0x0
orig_file = 0x25f493f0
image = 0x0
local_file = 0x0
mounted = 0
my_error = 0x0
__func__ = "file_open_image"
#9 0x00007ff6b2e21b96 in file_open_with_proc_and_display (gimp=0x192006e0, context=0x19277050, progress=0x25f2c050, file=0x25f493f0, as_new=0, file_proc=0x0, monitor=0x190e3c50, status=0x5fdcbc, error=0x5fdcb0) at ../app/file/file-open.c:506
image = 0x7ff6b2cf6327 <gimp_get_user_context+25>
mime_type = 0x0
run_mode = GIMP_RUN_INTERACTIVE
--Type <RET> for more, q to quit, c to continue without paging--c
__func__ = "file_open_with_proc_and_display"
#10 0x00007ff6b324ad1d in file_open_location_response (dialog=0x249ff000, response_id=-5, gimp=0x192006e0) at ../app/dialogs/file-open-location-dialog.c:204
image = 0x5fdfa0
file = 0x25f493f0
status = GIMP_PDB_EXECUTION_ERROR
filename = 0x0
error = 0x0
entry = 0x25e9aa50
box = 0x25f2c050
text = 0x25ebc480 "https://gitlab.gnome.org/GNOME/gimp/uploads/310525f27d60e1a6a41e6fbb967929d6/Layer_reverse_test.xcf"
#11 0x00007ffe43669807 in g_cclosure_marshal_VOID__INT (closure=0x25e7e590, return_value=<optimized out>, n_param_values=<optimized out>, param_values=0x5fdfa0, invocation_hint=0x5fdeb0, marshal_data=0x0) at ../glib-2.78.3/gobject/gmarshal.c:540
callback = 0x7ff6b324a9eb <file_open_location_response>
cc = 0x25e7e590
data1 = 0x249ff000
data2 = 0x192006e0
__func__ = "g_cclosure_marshal_VOID__INT"
#12 0x00007ffe4366790b in g_closure_invoke (closure=0x25e7e590, return_value=0x0, n_param_values=2, n_param_values@entry=0, param_values=0x5fdfa0, param_values@entry=0x249ff000, invocation_hint=invocation_hint@entry=0x5fdeb0) at ../glib-2.78.3/gobject/gclosure.c:832
marshal = 0x7ffe43669791 <g_cclosure_marshal_VOID__INT>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x25e7e570
__func__ = "g_closure_invoke"
#13 0x00007ffe43677e41 in signal_emit_unlocked_R (node=node@entry=0x5fe070, detail=<optimized out>, detail@entry=0, instance=instance@entry=0x249ff000, emission_return=emission_return@entry=0x0, instance_and_params=<optimized out>)
at ../glib-2.78.3/gobject/gsignal.c:3980
tmp = <optimized out>
handler = 0x25f2d730
accumulator = <optimized out>
emission = {next = 0x5fe390, instance = 0x249ff000, ihint = {signal_id = 466, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 4}
class_closure = <optimized out>
hlist = <optimized out>
handler_list = 0x25ec8640
return_accu = <optimized out>
accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0,
v_pointer = 0x0}}}
signal_id = <optimized out>
max_sequential_handler_number = <optimized out>
return_value_altered = <optimized out>
n_params = <optimized out>
__func__ = "signal_emit_unlocked_R"
#14 0x00007ffe43679191 in signal_emit_valist_unlocked (instance=instance@entry=0x249ff000, signal_id=signal_id@entry=466, detail=detail@entry=0, var_args=<optimized out>, var_args@entry=0x5fe208 "√ ") at ../glib-2.78.3/gobject/gsignal.c:3612
instance_and_params = 0x5fdfa0
param_values = 0x5fdfb8
node = <optimized out>
i = <optimized out>
__func__ = "signal_emit_valist_unlocked"
node_copy = {signal_id = 466, itype = 604564352, name = 0x7ffe220382a9 <css_value_names+393> "response", destroyed = 0, flags = 2, n_params = 1, single_va_closure_is_valid = 1, single_va_closure_is_after = 1, param_types = 0x2408eac0, return_type = 4,
class_closure_bsa = 0x24090b40, accumulator = 0x0, c_marshaller = 0x7ffe43669791 <g_cclosure_marshal_VOID__INT>, va_marshaller = 0x7ffe43669819 <g_cclosure_marshal_VOID__INTv>, emission_hooks = 0x0, single_va_closure = 0x2408fa30}
#15 0x00007ffe4367ce05 in g_signal_emit_valist (instance=0x249ff000, signal_id=466, detail=0, var_args=var_args@entry=0x5fe208 "√ ") at ../glib-2.78.3/gobject/gsignal.c:3355
No locals.
#16 0x00007ffe4367ce4b in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../glib-2.78.3/gobject/gsignal.c:3675
var_args = 0x5fe208 "√ "
#17 0x00007ffe21b32648 in gtk_dialog_response (dialog=0x249ff000, response_id=-5) at ../gtk/gtk/gtkdialog.c:1234
__func__ = "gtk_dialog_response"
#18 0x00007ffe21b329bd in action_widget_activated (widget=<optimized out>, dialog=0x249ff000) at ../gtk/gtk/gtkdialog.c:320
response_id = 1
#19 0x00007ffe4366949e in g_cclosure_marshal_VOID__VOIDv (closure=<optimized out>, return_value=<optimized out>, instance=<optimized out>, args=0x1 <error: Cannot access memory at address 0x1>, marshal_data=0x0, n_params=0, param_types=0x0)
at ../glib-2.78.3/gobject/gmarshal.c:165
cc = <optimized out>
data1 = 0xffffffff
data2 = 0x7a0001
callback = 0x1
#20 0x00007ffe43667ae9 in _g_closure_invoke_va (closure=closure@entry=0x25e7e6c0, return_value=return_value@entry=0x0, instance=instance@entry=0x25cb3470, args=0x5fe5a8 "", n_params=0, param_types=0x0) at ../glib-2.78.3/gobject/gclosure.c:895
marshal = 0x7ffe4366947e <g_cclosure_marshal_VOID__VOIDv>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x25e7e6a0
__func__ = "_g_closure_invoke_va"
#21 0x00007ffe43678ba7 in signal_emit_valist_unlocked (instance=instance@entry=0x25cb3470, signal_id=signal_id@entry=425, detail=detail@entry=0, var_args=<optimized out>, var_args@entry=0x5fe5a8 "") at ../glib-2.78.3/gobject/gsignal.c:3516
return_accu = 0x0
accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0,
v_pointer = 0x0}}}
emission = {next = 0x5fe7a0, instance = 0x25cb3470, ihint = {signal_id = 425, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 590442720}
instance_type = <optimized out>
emission_return = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0,
v_double = 0, v_pointer = 0x0}}}
rtype = 4
static_scope = 0
fastpath_handler = 0x25e7e780
closure = 0x25e7e6c0
run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION | G_SIGNAL_NO_HOOKS | G_SIGNAL_MUST_COLLECT | G_SIGNAL_DEPRECATED | G_SIGNAL_ACCUMULATOR_FIRST_RUN | unknown: 0x22e44400)
hlist = <optimized out>
l = <optimized out>
fastpath = <optimized out>
instance_and_params = <optimized out>
param_values = <optimized out>
node = <optimized out>
i = <optimized out>
__func__ = "signal_emit_valist_unlocked"
node_copy = {signal_id = 425, itype = 590442720, name = 0x22e645e1 "clicked", destroyed = 0, flags = 33, n_params = 0, single_va_closure_is_valid = 1, single_va_closure_is_after = 0, param_types = 0x0, return_type = 4, class_closure_bsa = 0x24020190,
accumulator = 0x0, c_marshaller = 0x7ffe43669410 <g_cclosure_marshal_VOID__VOID>, va_marshaller = 0x7ffe4366947e <g_cclosure_marshal_VOID__VOIDv>, emission_hooks = 0x0, single_va_closure = 0x240200b0}
#22 0x00007ffe4367ce05 in g_signal_emit_valist (instance=0x25cb3470, signal_id=425, detail=0, var_args=var_args@entry=0x5fe5a8 "") at ../glib-2.78.3/gobject/gsignal.c:3355
No locals.
#23 0x00007ffe4367ce4b in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../glib-2.78.3/gobject/gsignal.c:3675
var_args = 0x5fe5a8 ""
#24 0x00007ffe21ab7708 in gtk_button_clicked (button=button@entry=0x25cb3470) at ../gtk/gtk/gtkbutton.c:1541