jerry hedden drbcqzxlcpanorg dave time would give thought bug seems threadsshared bugs previously found fixed one still persists starts shared object attached shared scalar inside thread object first modified replaced new one thread terminates however original object seems still place bug goes away heres code attached well usrbinperl use strict use warnings package foo use threads use threadsshared id shared 1 incremented new object sub new anonymous scalar internal id obj scalar id make shared shareobj make object return blessobj foo package main use threads use threadsshared use testmore no_plan main obj shared obj foonew check object part okay print main object id objn isobj 1 main object id obj printn play shared object inside thread threadscreate sub check object inside thread part okay print thread object id objn isobj 1 thread object id obj printn modify objects id works obj 10 print thread object id objn isobj 10 thread object id obj printn replace object new one works obj foonew print thread object id objn isobj 2 thread object id obj printn join check object new one thread isnt printbug main object id obj 2n wait minute suddenly object reverts whats going isobj 2 main object id obj print main object id objn exit0 produces main object id 1 ok 1 main object id 1 thread object id 1 ok 2 thread object id 1 thread object id 10 ok 3 thread object id 10 thread object id 2 ok 4 thread object id 2 bug main object id 10 2 ok 5 main object id 2 main object id 2 15 see thread ends obj value original object call obj becomes correct value thought maybe testmore might factor commenting calls doesnt fix obj thread exits replacing final call dummy noop call thing reverts obj correct value thanks thu 07 aug 2008 153907 0500 yatsb yet another threadsshared bug