From: SourceForge.net <no...@so...> - 2004-07-28 15:33:00
|
Bugs item #999544, was opened at 2004-07-28 10:32 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=999544&group_id=10894 Category: 47. Threading Group: obsolete: 8.4.4 Status: Open Resolution: None Priority: 5 Submitted By: Rob Crittenden (rcrittenden0569) Assigned to: Andreas Kupries (andreas_kupries) Summary: Threaded Tcl calls non-thread-safe library functions Initial Comment: This thread-safety issue is well documented in this closed bug http://sourceforge.net/tracker/?group_id=10894&atid=110894&func=detail&aid=217833 Tcl calls at least the following non-thread-safe functions: getgrnam() getpwnam() getpwuid() gethostbyaddr() gethostbyname() A stack trace from AOLserver 4.0.1 with Tcl 8.4.4 running on Solaris 8 that crashed calling gethostbyname is: ----------------- lwp# 281 / thread# 280 -------------------- fefbb2c8 __inet_address_is_local_af (5f75d18, 2, 0, 2, 2ee4f, c5189ad9) + 108 fefba358 order_haddrlist_af (ff02263c, ffff, 2, 2edd8, 2, 4b9eae88) + 274 fef9b5f8 _get_hostserv_inetnetdir_byname (2edd8, c5189be0, 0, c5189be0, ff01ef28, ffffffff) + 830 fefb54c0 gethostbyname_r (4ba27760, 2edbc, 2edd0, 920, 2edbc, ff01ef28) + a0 ff34c944 GetAddr (0, c518a08c, c5189cd0, c518a890, 3226db80, 0) + 28 ff34c734 DnsGet (0, c5189db8, 3ae558, c518a08c, 3226db80, 1) + 134 ----------------- lwp# 280 / thread# 279 -------------------- ff11f20c _lwp_sema_wait (c5d8be60, fef6c000, 0, c5d8bd98, 0, 0) + c fef490d8 _swtch (c5d8bd98, 0, fef6c000, 5, 1000, 0) + 158 fef482ec _cond_wait (c5d8bd98, 4356, fef6c000, fef6e968, ff022668, 10) + d4 fef4c164 rw_rdlock (fef7785c, 5000, fef6c000, 5257, ff01ef28, ff022668) + d8 fefba1dc order_haddrlist_af (ff02263c, ff022648, 2, 2ede4, 2, 2edbc) + f8 fef9b5f8 _get_hostserv_inetnetdir_byname (2ede4, c5d881d8, 0, c5d881d8, ff01ef28, ffffffff) + 830 fefb54c0 gethostbyname_r (475a17d0, 2edbc, 2edd0, 920, 2edbc, ff01ef28) + a0 ff291a18 CreateSocketAddress (c5d883b8, 13f97230, c5d88264, ff13c000, 33fb4a02, 0) + 58 ff291704 CreateSocket (3be6eec0, 0, ffffffff, 0, 0, 0) + 20 ff291ac8 Tcl_OpenTcpClient (3be6eec0, 50, 13f97230, 0, 0, 0) + 2c Don't be confused by the reference to gethostbyname_r. gethostbyname apparently calls gethostbyname_r using the same shared return buffer. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=999544&group_id=10894 |