I was running some tests with that backport applied to 0.5.13 on Ubuntu as well as running the master branch and was getting segfaults now with that same corrupt file I was working with. Starting program: /usr/bin/appstream-util validate /home/test/yaml.yml [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". /home/test/yaml.yml: [New Thread 0x7ffff10cc700 (LWP 29156)] [New Thread 0x7ffff08cb700 (LWP 29157)] Thread 1 "appstream-util" received signal SIGSEGV, Segmentation fault. __GI___libc_free (mem=0x3) at malloc.c:2952 2952 malloc.c: No such file or directory. (gdb) bt full #0 __GI___libc_free (mem=0x3) at malloc.c:2952 ar_ptr = p = hook = 0x0 #1 0x00007ffff7bb501b in as_node_destroy_node_cb (node=, user_data=) at as-node.c:140 data = 0x555555796b40 #2 0x00007ffff6dff5f5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #3 0x00007ffff6dff5a9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #4 0x00007ffff6e00281 in g_node_traverse () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #5 0x00007ffff7bb55d2 in as_node_unref (node=0x7fffe4009ad0) at as-node.c:157 No locals. #6 0x00007ffff7bc2f91 in glib_autoptr_cleanup_AsNode (_ptr=) at as-node.h:197 No locals. #7 as_yaml_from_file (file=file@entry=0x555555798500, cancellable=cancellable@entry=0x0, error=error@entry=0x7fffffffdc70) at as-yaml.c:474 node = content_type = parser = {error = YAML_NO_ERROR, problem = 0x0, problem_offset = 0, problem_value = 0, problem_mark = {index = 0, line = 0, column = 0}, context = 0x0, context_mark = {index = 0, line = 0, column = 0}, read_handler = 0x0, read_handler_data = 0x0, input = {string = {start = 0x0, end = 0x0, current = 0x0}, file = 0x0}, eof = 0, buffer = {start = 0x0, end = 0x0, pointer = 0x0, last = 0x0}, unread = 0, raw_buffer = {start = 0x0, end = 0x0, pointer = 0x0, last = 0x0}, encoding = YAML_ANY_ENCODING, offset = 0, mark = {index = 0, line = 0, column = 0}, stream_start_produced = 0, stream_end_produced = 0, flow_level = 0, tokens = {start = 0x0, end = 0x0, head = 0x0, tail = 0x0}, tokens_parsed = 0, token_available = 0, indents = {start = 0x0, end = 0x0, top = 0x0}, indent = 0, simple_key_allowed = 0, simple_keys = {start = 0x0, end = 0x0, top = 0x0}, states = {start = 0x0, end = 0x0, top = 0x0}, state = YAML_PARSE_STREAM_START_STATE, marks = {start = 0x0, end = 0x0, top = 0x0}, tag_directives = {start = 0x0, end = 0x0, top = 0x0}, aliases = {start = 0x0, end = 0x0, top = 0x0}, document = 0x0} parser_cleanup = data = 0x0 conv = info = 0x7fffe4009b90 file_stream = stream_data = #8 0x00007ffff7bbd481 in as_store_load_yaml_file (error=0x7fffffffdc70, cancellable=0x0, file=0x555555798500, store=0x55555579a1f0) at as-store.c:1129 tmp = ctx = 0x0 icon_path = 0x0 root = 0x0 app_n = n = tok = 0x0 #9 as_store_from_file_internal (store=0x55555579a1f0, file=0x555555798500, id_prefix=, cancellable=0x0, error=0x7fffffffdc70) at as-store.c:1371 filename = 0x5555557abe60 "/home/test/yaml.yml" icon_prefix = 0x0 error_local = 0x0 root = 0x0 ptask = 0x5555557a7400 __func__ = "as_store_from_file_internal" #10 0x000055555555ec97 in ?? () No symbol table info available. #11 0x0000555555559e6f in main () No symbol table info available.