直接发 bt 信息吧。
从上面的信息看到,分配一个超级大的内存失败了,开始打印emerg,在打印日志时 core 了。、
从上面信息看,emerg 日志的信息已经拼接了一部分,在拼接 upstream字段时又访问上面这个分配内存失败的这个内存地址了,然后就 core。
追到这儿就进行不下去了。不知道哪儿把这个变量sr->upstream->peer.name 分配内存的信息写乱了。求大神指点。
另外,还有几个疑问:
1. main 函数中 ngx_cycle 和 cycle 的值为啥不一样,代码中明明写着 ngx_cycle=cycle
2. ngx_master_process_cycle 函数明明只有一个形参,为啥 栈信息中中看起来是两个参数,一个是 nginx_cycle 一个是cycle
3. main 函数中ngx_master_process_cycle传递的实参明明是cycle 为啥,栈信息中函数的实参是ngx_cycle(从地址的上看)
求指点,求指点,求指点