Fancy, while not fun.  :-)  But thanks, that does work.  Doing that, n’ing 
over calls to strcmp, it failed:
passdbs_init () at passdb.c:313
313             passdb_register_module(&passdb_ldap);
(gdb) 
passdb_register_module (iface=0x280120) at passdb.c:33
33              old_iface = passdb_interface_find(iface->name);
(gdb) 
passdb_interface_find (name=0x16fe60 "ldap") at passdb.c:20
20              array_foreach(&passdb_interfaces, ifaces) {
(gdb) 
21                      struct passdb_module_interface *iface = *ifaces;
(gdb) 
23                      if (strcmp(iface->name, name) == 0)
(gdb) n
20              array_foreach(&passdb_interfaces, ifaces) {
(gdb) 
21                      struct passdb_module_interface *iface = *ifaces;
(gdb) 
23                      if (strcmp(iface->name, name) == 0)
(gdb) n
20              array_foreach(&passdb_interfaces, ifaces) {
(gdb) 
21                      struct passdb_module_interface *iface = *ifaces;
(gdb) 
23                      if (strcmp(iface->name, name) == 0)
(gdb) n
20              array_foreach(&passdb_interfaces, ifaces) {
(gdb) 
21                      struct passdb_module_interface *iface = *ifaces;
(gdb) 
23                      if (strcmp(iface->name, name) == 0)
(gdb) n
20              array_foreach(&passdb_interfaces, ifaces) {
(gdb) 
21                      struct passdb_module_interface *iface = *ifaces;
(gdb) 
23                      if (strcmp(iface->name, name) == 0)
(gdb) n
20              array_foreach(&passdb_interfaces, ifaces) {
(gdb) 
21                      struct passdb_module_interface *iface = *ifaces;
(gdb) 
23                      if (strcmp(iface->name, name) == 0)
(gdb) n
20              array_foreach(&passdb_interfaces, ifaces) {
(gdb) 
21                      struct passdb_module_interface *iface = *ifaces;
(gdb) 
23                      if (strcmp(iface->name, name) == 0)
(gdb) n
20              array_foreach(&passdb_interfaces, ifaces) {
(gdb) 
21                      struct passdb_module_interface *iface = *ifaces;
(gdb) 
23                      if (strcmp(iface->name, name) == 0)
(gdb) n
20              array_foreach(&passdb_interfaces, ifaces) {
(gdb) 
26              return NULL;
(gdb) 
27      }
(gdb) 
passdb_register_module (iface=0x280120) at passdb.c:34
34              if (old_iface != NULL && old_iface->verify_plain == NULL) {
(gdb) 
37              } else if (old_iface != NULL) {
(gdb) 
41              array_append(&passdb_interfaces, &iface, 1);
(gdb) 
42      }
(gdb) 
passdbs_init () at passdb.c:314
314             passdb_register_module(&passdb_sql);
(gdb) 
315             passdb_register_module(&passdb_sia);
(gdb) 
316             passdb_register_module(&passdb_static);
(gdb) 
317             passdb_register_module(&passdb_oauth2);
(gdb) 
318     }
(gdb) 
main_preinit () at main.c:186
186             userdbs_init();
(gdb) 
188             password_schemes_init();
(gdb) 
190             services = read_global_settings();
(gdb) 

Program received signal SIGTRAP, Trace/breakpoint trap.
Cannot remove breakpoints because program is no longer writable.
It might be running in another process.
Further execution is probably impossible.
0x000000004022a380 in ?? ()
(gdb) 
Cannot find bounds of current function
(gdb) 

  Next step I’ll stop before that and be more careful about n’ing things, but.  
Just passing on context while I have it.

  Thanks.  More later.

                       - Chris

> On Feb 22, 2018, at 02:25, Aki Tuomi <aki.tu...@dovecot.fi> wrote:
> 
> Hi!
> 
> Unfortunately we do not have a Sparc64 with any OS at hand. Maybe you could 
> 
> break main
> r
> s
> 
> until it breaks?
> 
> Aki
> 

Reply via email to