From: Bruno H. <br...@cl...> - 2017-05-29 11:57:03
|
Hi Vladimir, > > Stream record looks ok but encoding object is not getting marked during GC. > > > > > The problem is GC mark phase. > > Streams with strmtype equal to Rectype_Weakpointer or Rectype_Weakpointer > are not getting marked since SXrecord_nonweak_length() returns 0 for them! > ... > strmtype = 0x11, strmflags = 0x41, reclength = 0x15, recxlength = 0x60, > ... > (gdb) p /x Rectype_Weakpointer > $34 = 0x11 Thank you!!!! I'm so glad that we'll be able to put this terrible bug to rest. Similarly in the situation that I'm debugging: (gdb) print (int)enum_strmtype_twoway_socket $1 = 20 (gdb) print (int)Rectype_Weakpointer $2 = 20 This explains why you were seeing the problem on a stream of type enum_strmtype_socket, while I was seeing it on a stream of type enum_strmtype_twoway_socket. Bruno |