Hi, My DNS program gets a SIGBUS when I execute it. I have ktraced it, upped limits and searched in the mips64 source for answers, could this be a compiler problem?
ktrace-----> 41651 dddctl CALL connect(6,0xfffffcacb0,16) 41651 dddctl STRU struct sockaddr { AF_INET, 192.168.177.2:10053 } 41651 dddctl RET connect 0 41651 dddctl CALL kbind(0xfffffc9b48,24,0x801d30cbade359aa) 41651 dddctl RET kbind 0 41651 dddctl PSIG SIGBUS SIG_DFL code BUS_ADRALN<1> addr=0xfffffca17d trapno=0 82637 dddctl RET wait4 41651/0xa2b3 <----------- The SIGBUS code ADRALN I have found in /sys/arch/mips64/mips64/trap.c around line 463 on OpenBSD 6.6: ------------> case T_ADDR_ERR_LD+T_USER: /* misaligned or kseg access */ case T_ADDR_ERR_ST+T_USER: /* misaligned or kseg access */ ucode = 0; /* XXX should be PROT_something */ signal = SIGBUS; sicode = BUS_ADRALN; break; <----------- I have also set the stack ulimit to 32K but no relief. I'm stuck, wondering if you guys can help with interpreting this. My program can be downloaded with ftp https://delphinusdns.org/download/snapshot/delphinusdnsd-snapshot.tgz Where it's remade at midnight CET every day. As far as I know it should work on macppc although this particular function wasn't tested on macppc. And it works on amd64 as I run this delphinusdnsd in production on my personal nameservers. Getting this working on octeon would broaden my test network. Best Regards, -peter