unix多线程问题

q394944800 q394944800 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
今天将一个多线程程序由linux移植到AIX Unix遇到问题,Linux下运行程序正常,但unix下却coredump了,用dbx分析,发现其中有个函数,定义了结构体变量,其空间为129080,如果将该结构体空间改成100,程序能通过。问题:AIX中多线程是不是有什么限制,如栈空间?为啥Linux就可以?

附上:
Segmentation fault in fc_pkg2 at 0x1000207c ($t2)
0x1000207c (fc_pkg2+0x24) 7c21616e stwux r1,r1,r12

(dbx) where
fc_pkg2() at 0x1000207c
test_pthread(data = (nil)), line 29 in "cdb_main.c"
(dbx) x
$r0:0x100038a4 $stkp:0x30006230 $toc:0x300008e0 $r3:0x30006280
$r4:0x30047458 $r5:0x30047408 $r6:0x00000000 $r7:0x30000658
$r8:0x1028c16b $r9:0x1028c16b $r10:0x00000000 $r11:0x00000000
$r12:0xfffe0550 $r13:0x00000000 $r14:0x00000000 $r15:0x00000000
$r16:0x00000000 $r17:0x00000000 $r18:0x00000000 $r19:0x00000000
$r20:0x00000000 $r21:0x00000000 $r22:0x00000000 $r23:0x00000000
$r24:0x00000000 $r25:0x00000010 $r26:0x30047408 $r27:0x100074c4
$r28:0x10007028 $r29:0x00000000 $r30:0x300062b8 $r31:0x30006280
$iar:0x1000207c $msr:0x0000d032 $cr:0x42000224 $link:0x100038a4
$ctr:0xd0132880 $xer:0x20000017 $mq:0x00000000
Condition status = 0:g 1:e 5:e 6:e 7:g
[unset $noflregs to view floating point registers]
[unset $novregs to view vector registers]
in fc_pkg2 at 0x1000207c ($t2)
0x1000207c (fc_pkg2+0x24) 7c21616e stwux r1,r1,r12
...全文
评论 6
收藏 已收藏
分享
返回顶部
q394944800
其它技术问题 3,881 成员 9,044 内容