> On 24/06/2025 11:14 EEST Peter Varkoly via dovecot <dovecot@dovecot.org> 
> wrote:
> 
>  
> doveconf -d
> # 2.4.1-4 (7d8c0e5759): /etc/dovecot/dovecot.conf
> # Pigeonhole version 2.4.1-4 (0a86619f)
> Segmentation fault (core dumped)
> 
> The same source works fine on other architectures.
> 
> The trace of gdb:
> Core was generated by `/usr/bin/doveconf -c /etc/dovecot/dovecot.conf -C -F
> /usr/sbin/dovecot -F'.
> Program terminated with signal SIGSEGV, Segmentation fault.
> #0  str_hash (p=0xf <error: Cannot access memory at address 0xf>) at
> ../lib/hash.c:529
> --Type <RET> for more, q to quit, c to continue without paging--
> 529             while (*s != '\0') {
> Function(s) ^std::(move|forward|as_const|(__)?addressof) will be skipped
> when stepping.
> Function(s) ^std::(shared|unique)_ptr<.*>::(get|operator) will be skipped
> when stepping.
> Function(s)
> ^std::(basic_string|vector|array|deque|(forward_)?list|(unordered_|flat_)?(multi)?(map|set)|span)<.*>::(c?r?(begin|end)|front|back|data|size|empty)
> will be skipped when stepping.
> Function(s) ^std::(basic_string|vector|array|deque|span)<.*>::operator.]
> will be skipped when stepping.
> (gdb) bt full
> #0  str_hash (p=0xf <error: Cannot access memory at address 0xf>) at
> ../lib/hash.c:529
>         s = 0xf <error: Cannot access memory at address 0xf>
>         g = <optimized out>
>         h = 0
> #1  0x00007fff9ffa427c in hash_table_lookup_full (table=0x156052d80,
> lookup_key=<optimized out>, orig_key=<optimized out>,
>     orig_key@entry=0x7fffc158a690, value=<optimized out>,
> value@entry=0x7fffc158a670)
> at ../lib/hash.c:204
>         node = <optimized out>
> #2  0x000000012b7145ec in config_parser_add_info (info_idx=3,
> ctx=0x7fffc158a6b0) at config-parser.c:2812
>         def = 0x12b73c148 <auth_lua_default_settings_keyvalue+40>
>         i = 2
>         info = 0x12b73e168 <auth_oauth2_post_setting_parser_info>
>         config_key = <optimized out>
>         old_config_key = 0x0
>         name = 0x7fff9faa2790 <dlsym_doit> "\032"
>         info = <optimized out>
>         config_key = <optimized out>
>         old_config_key = <optimized out>
>         name = <optimized out>
>         __func__ = <optimized out>
>         i = <optimized out>
>         def = <optimized out>
>         valuep = <optimized out>
>         old_info = <optimized out>
>         old_def = <optimized out>
> #3  config_parse_file (path=0x156049550 "/etc/dovecot/dovecot.conf",
> flags=<optimized out>, dump_filter=0x0, config_r=0x12b741e18 <config>,
> error_r=0x7fffc158a9b8) at config-parser.c:2917
>         root = {prev = 0x7fffc158a6a0, input = 0x7fffa0180a08
> <_rtld_local+2568>, path = 0x0, linenum = 1443176896}
>         internal = {prev = 0x1560542b7, input = 0x156054280, path =
> 0x156054280 "undefined symbol: pigeonhole_settings_service_settings",
> linenum = 2685949488}
>         ctx = {pool = 0x7fff9eaa0030, path = 0x156049550
> "/etc/dovecot/dovecot.conf", all_keys = {_table = 0x156052d80, _key =
> 0x156052d80 "0", _keyp = 0x156052d80,
>             _const_key = 0x156052d80 "0", _value = 0x156052d80, _valuep =
> 0x156052d80}, all_filter_parsers = {arr = {buffer = 0x0, element_size = 0},
> v = 0x0, v_modifiable = 0x0},
>           all_filter_parsers_hash = {_table = 0x0, _key = 0x0, _keyp = 0x0,
> _const_key = 0x0, _value = 0x0, _valuep = 0x0}, root_module_parsers =
> 0x7fff9eaa0068, cur_section = 0x0,
>           cur_input = 0x0, change_counter = 1 '\001', create_order_counter
> = 0, value = 0x0, error = 0x0, dovecot_config_version = 0x0,
> filter_name_prefixes = 0x0,
>           filter_name_prefixes_count = 0, old = 0x0, seen_settings =
> {_table = 0x0, _key = 0x0, _keyp = 0x0, _const_key = 0x0, _value = 0x0,
> _valuep = 0x0}, filter = 0x0,
>           dump_defaults = false, expand_values = false, hide_errors =
> false, delay_errors = false, hide_obsolete_warnings = false, ignore_unknown
> = false}
>         i = 3
>         count = 143
>         full_line = 0x64656e696665646e
>         line = <optimized out>
>         fd = 7
>         ret = 0
>         dump_defaults = <optimized out>
>         service_info_idx = 4294967295
>         root_filter = {parent = 0x1560691d0, protocol = 0x1 <error: Cannot
> access memory at address 0x1>, local_name = 0x156054200 "T`\025",
> local_host = 0x7fffc158a8a0 "",
>           remote_host = 0x0, local_net = {family = 0, u = {ip6 = {__in6_u =
> {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0,
> 0, 0}, __u6_addr32 = {0, 0, 0, 0}}},
>               ip4 = {s_addr = 0}}, scope_id = 0}, remote_net = {family =
> 10384, u = {ip6 = {__in6_u = {__u6_addr8 =
> "\001\000\000\000ШX\301\377\177\000\000\360\031r+", __u6_addr16 = {1,
>                     0, 43216, 49496, 32767, 0, 6640, 11122}, __u6_addr32 =
> {1, 3243813072, 32767, 728898032}}}, ip4 = {s_addr = 1}}, scope_id = 1},
> local_bits = 0, remote_bits = 0,
>           filter_name = 0x0, filter_name_array = false, default_settings =
> false}
>         root_filter_parser = <optimized out>
>         root_default_filter = {parent = 0x7fffc158a7f8, protocol =
> 0x156052430 "", local_name = 0x0, local_host = 0x12b7404c0
> <config_all_services> "\340(\005V\001",
>           remote_host = 0x19 <error: Cannot access memory at address 0x19>,
> local_net = {family = 42896, u = {ip6 = {__in6_u = {
>                   __u6_addr8 =
> "\377\177\000\000\000\000\000\000\000\000\000\000\300\004t+", __u6_addr16 =
> {32767, 0, 0, 0, 0, 0, 1216, 11124}, __u6_addr32 = {32767, 0, 0,
> 729023680}}},
>               ip4 = {s_addr = 32767}}, scope_id = 1}, remote_net = {family
> = 30208, u = {ip6 = {__in6_u = {__u6_addr8 =
> "\377\177\000\000@\251X\301\377\177\000\000p\211\004V",
> 
>                   __u6_addr16 = {32767, 0, 43328, 49496, 32767, 0, 35184,
> 22020}, __u6_addr32 = {32767, 3243813184, 32767, 1443137904}}}, ip4 =
> {s_addr = 32767}}, scope_id = 1},
>           local_bits = 728816924, remote_bits = 1, filter_name =
> 0x12b747f00 "", filter_name_array = 128, default_settings = 168}
>         prevfile = <optimized out>
>         __func__ = "config_parse_file"
> #4  0x000000012b6f9690 in main (argc=<optimized out>, argv=<optimized out>)
> at doveconf.c:1238
>         _data_stack_cur_id = 2
>         master_service_flags = (MASTER_SERVICE_FLAG_STANDALONE |
> MASTER_SERVICE_FLAG_NO_INIT_DATASTACK_FRAME |
> MASTER_SERVICE_FLAG_DONT_SEND_STATS)
>         scope = CONFIG_DUMP_SCOPE_ALL_WITHOUT_HIDDEN
>         orig_config_path = <optimized out>
>         config_path = 0x156049550 "/etc/dovecot/dovecot.conf"
>         import_environment = 0x2 <error: Cannot access memory at address
> 0x2>
>         error = 0x0
>         exec_args = <optimized out>
>         setting_name_filters = <optimized out>
>         i = <optimized out>
>         c = <optimized out>
>         ret = <optimized out>
>         ret2 = <optimized out>
>         dump_filter_parent = {parent = 0x0, protocol = 0x0, local_name =
> 0x0, local_host = 0x0, remote_host = 0x0, local_net = {family = 0, u = {ip6
> = {__in6_u = {
>                   __u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0,
> 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr = 0}},
> scope_id = 0}, remote_net = {
> 
> 
> --Type <RET> for more, q to quit, c to continue without paging--
>             family = 0, u = {ip6 = {__in6_u = {__u6_addr8 = '\000' <repeats
> 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0,
> 0}}}, ip4 = {s_addr = 0}},
>             scope_id = 0}, local_bits = 0, remote_bits = 0, filter_name =
> 0x0, filter_name_array = false, default_settings = false}
>         dump_filter = {parent = 0x7fffc158aa50, protocol = 0x0, local_name
> = 0x0, local_host = 0x0, remote_host = 0x0, local_net = {family = 0, u =
> {ip6 = {__in6_u = {
>                   __u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0,
> 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr = 0}},
> scope_id = 0}, remote_net = {
>             family = 0, u = {ip6 = {__in6_u = {__u6_addr8 = '\000' <repeats
> 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0,
> 0}}}, ip4 = {s_addr = 0}},
>             scope_id = 0}, local_bits = 0, remote_bits = 0, filter_name =
> 0x0, filter_name_array = false, default_settings = false}
>         config_path_specified = false
>         hide_key = <optimized out>
>         have_dump_filter = <optimized out>
>         simple_output = <optimized out>
>         check_full_config = <optimized out>
>         dump_defaults = <optimized out>
>         host_verify = <optimized out>
>         dump_full = <optimized out>
>         print_banners = <optimized out>
>         hide_passwords = <optimized out>
>         flags = (CONFIG_PARSE_FLAG_EXPAND_VALUES |
> CONFIG_PARSE_FLAG_RETURN_BROKEN_CONFIG)
>         dump_config_import = <optimized out>
> 
> 
> 
> 
> -- 
> Peter Varkoly
> SW Engineering(Systems)
> 
> SUSE Software Solutions Germany GmbH
> Frankenstraße 146
> D-90461 Nürnberg
> T +49-(0)911-740 53 0
> E <vark...@suse.com>
> 
> https://www.suse.com/
> 
> (HRB 36809, AG Nürnberg)
> Geschäftsführer: Felix Imendörffer
> doveconf -d
> # 2.4.1-4 (7d8c0e5759): /etc/dovecot/dovecot.conf
> # Pigeonhole version 2.4.1-4 (0a86619f)
> Segmentation fault (core dumped)
> 
> The same source works fine on other architectures.

Is it possible to test this with latest main as we do not have PPC64LE 
available.

Aki

_______________________________________________
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org

Reply via email to