<div dir="ltr">Hi All,<div><br></div><div>    I had reason to condense changes and then was curious to look for older versions.  But when I came to open a changes browser on the newly condensed changes file the UTF-8 decoder failed to parse the source for SystemNavigation class>>privateAuthorsRaw.  Something breaks the string at the e acute in Stéphane, and then the decoder gets hopelessly confused.</div><div><br></div><div>To reproduce:</div><div>In a trunk 6.x image do</div><div>    Smalltalk condenseChanges</div><div>then open a file list, select the changes file, and then click the recent changes button.</div><div><br></div><div>here's the SqueakDebug.log:</div><div><br></div><div><div>InvalidUTF8: Invalid utf8: Â©phane Rollandin#spfa!Stephane Schitter#stefs!Stephanie Hamburg#MUTTLYSTEPHANIE!Stephen Smith#sst!Stephen Travis Pope#stp!Stephen Vincent Pair#svp!Steve Davies#sld!Steve Elkins#sge!Steve Fuller#snf!Steve Gilbert#slg!Steve Hunter#skh!Steve Knight#knighty!Steve Mccusker#smcc!Steve Messamore#slm!Steve Sanderson#sms!Steve Wart#swart!Steve Wessels#!Steven Darcy#SMD!Steven Greenberg#greenbes!Steven Rodriguez#optionshiftk!Steven Swerling#sps!Sudheendra Hangal#hangal!Sungjin Chun#chunsj!Suzuki Tetsuya#tetsuya!Syed Abid#taxman!Syed Masoodahmad#masden56!Sylvia Sharma#sharma!Symon Chalk#symonc!Takashi Yamamiya#tak!Tansel Ersavas#mte#MTE!Tarek Demiati#TD!Ted Bracht#TB#TB1!Ted Kaehler#tk!Terry Jenkins#TCJ!Thierry Reignier#TREG!Thijs Janssen#TJ!Thomas Bernitt#tber!Thomas Fröb#thf!Thomas Hemme#Namamazu!Thomas J Keller#TJK!Thomas Kowark#tk!Thomas M. Breuel#tmb!Thomas Mahler#ThMa!Thomas Stambaugh#tms!Thomas Zimmermann#TZ!Tim Cuthbertson#tec!Tim Felgentreff#tfel!Tim Lewis#TimLewis!Tim Olson#tao!Tim Rowledge#TPR#tpr!Timm Knape#tik!Timothy Falconer#teefal!Timothy M#tty!Timothy Retz#tgr!Tobias Isenberg#ti!Tobias Pape#topa!Todd Blanchard#tb!Tom Counsell#tamc!Tom Dailey#td!Tom Koenig#tlk!Tom Plick#tap!Tom Rushworth#tbr!Tommy Thorn#tt!Tomohiro Oda#TO!Tony Garnock-Jones#tonyg!Tony Zampogna#zamp!Torge Husfeldt#th!Torsten Bergmann#tbn#TBN!Torsten Sadowski#ts!Travis Kay#tkay#tlk!Trygve Reenskaug#TRee!Tyler Coumbes#mtc!Tzaddi Beltaine#tsb!Udo Schneider#udos!Vaidotas Didžbalis#vd!Vassili Bykov#vb!Vernon Marsden#vmars!Vijay Mathew Pandyalakal#vmp!Vladimir Janousek#vj!Volker Bäcker#volker!Wally Cash#wac!Walter Wilhelm#ww!Ward Cunningham#ward!Wayne Braun#wb!Wayne D. Elias#wdelias!Webb Mcdonald#wxm!Wilkes Joiner#dwj!Willem van Asperen#wva!William Hess#WFH!William Hidden#whidden!Wolfgang Eder#edw!Wolfgang Helbig#whg!Woon Yeo#!Wuilmer Olaya Bardales#wob!Yagendra Dutt Tripathi#yd!Yang Ha Nguyen#yhm!Yann Monclair#YM!Yanni Chiu#yj!Yasuji Nakayama#yasuji!Yoshiki Ohshima#yo!Yuji Ichikawa#ich!Yunhee Lee#yhl!Yutaka Kamite#yk!Zdenek Novy#Zdenye#ZN!Zeljko Nesic#Poparasan!Zeynep Besen#zeyno'</div><div>12 July 2017 9:42:40.918319 am</div><div><br></div><div>VM: Mac OS - Smalltalk</div><div>Image: Squeak6.0alpha [latest update: #17347]</div><div><br></div><div>SecurityManager state:</div><div>Restricted: false</div><div>FileAccess: true</div><div>SocketAccess: true</div><div>Working Dir /Users/eliot/Squeak/Squeak5.1</div><div>Trusted Dir /foobar/tooBar/forSqueak/bogus/</div><div>Untrusted Dir /Users/eliot/Library/Preferences/Squeak/Internet/My Squeak/</div><div><br></div><div>UTF8TextConverter class>>errorMalformedInput:</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>Receiver: UTF8TextConverter</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">    </span>Arguments and temporary variables: </div><div><span class="gmail-Apple-tab-span" style="white-space:pre">           </span>aString: <span class="gmail-Apple-tab-span" style="white-space:pre">     </span>'©phane Rollandin#spfa!Stephane Schitter#stefs!Stephanie Hamburg#MUTTL...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre"> </span>Receiver's instance variables: </div><div><span class="gmail-Apple-tab-span" style="white-space:pre">           </span>superclass: <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>TextConverter</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">          </span>methodDict: <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>a MethodDictionary(#backFromStream:->(UTF8TextConverter>>#backFromS...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">          </span>format: <span class="gmail-Apple-tab-span" style="white-space:pre">      </span>65538</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">          </span>instanceVariables: <span class="gmail-Apple-tab-span" style="white-space:pre">   </span>nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>organization: <span class="gmail-Apple-tab-span" style="white-space:pre">        </span>('conversion' backFromStream: decodeString: encodeString: errorMalformedInput:...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                </span>subclasses: <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>name: <span class="gmail-Apple-tab-span" style="white-space:pre">        </span>#UTF8TextConverter</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">             </span>classPool: <span class="gmail-Apple-tab-span" style="white-space:pre">   </span>a Dictionary(#StrictUtf8Conversions->nil )</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">          </span>sharedPools: <span class="gmail-Apple-tab-span" style="white-space:pre"> </span>nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>environment: <span class="gmail-Apple-tab-span" style="white-space:pre"> </span>Smalltalk</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">              </span>category: <span class="gmail-Apple-tab-span" style="white-space:pre">    </span>#'Multilingual-TextConversion'</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">         </span>latin1Map: <span class="gmail-Apple-tab-span" style="white-space:pre">   </span>#[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">          </span>latin1Encodings: <span class="gmail-Apple-tab-span" style="white-space:pre">     </span>#(nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil ...etc...</div><div><br></div><div>UTF8TextConverter class>>decodeByteString:</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>Receiver: UTF8TextConverter</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">    </span>Arguments and temporary variables: </div><div><span class="gmail-Apple-tab-span" style="white-space:pre">           </span>aByteString: <span class="gmail-Apple-tab-span" style="white-space:pre"> </span>'©phane Rollandin#spfa!Stephane Schitter#stefs!Stephanie Hamburg#M...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">             </span>outStream: <span class="gmail-Apple-tab-span" style="white-space:pre">   </span>a WriteStream</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">          </span>lastIndex: <span class="gmail-Apple-tab-span" style="white-space:pre">   </span>1</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">              </span>nextIndex: <span class="gmail-Apple-tab-span" style="white-space:pre">   </span>1</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">              </span>byte1: <span class="gmail-Apple-tab-span" style="white-space:pre">       </span>169</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>byte2: <span class="gmail-Apple-tab-span" style="white-space:pre">       </span>nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>byte3: <span class="gmail-Apple-tab-span" style="white-space:pre">       </span>nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>byte4: <span class="gmail-Apple-tab-span" style="white-space:pre">       </span>nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>unicode: <span class="gmail-Apple-tab-span" style="white-space:pre">     </span>nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">    </span>Receiver's instance variables: </div><div><span class="gmail-Apple-tab-span" style="white-space:pre">           </span>superclass: <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>TextConverter</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">          </span>methodDict: <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>a MethodDictionary(#backFromStream:->(UTF8TextConverter>>#backFromS...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">          </span>format: <span class="gmail-Apple-tab-span" style="white-space:pre">      </span>65538</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">          </span>instanceVariables: <span class="gmail-Apple-tab-span" style="white-space:pre">   </span>nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>organization: <span class="gmail-Apple-tab-span" style="white-space:pre">        </span>('conversion' backFromStream: decodeString: encodeString: errorMalformedInput:...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                </span>subclasses: <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>name: <span class="gmail-Apple-tab-span" style="white-space:pre">        </span>#UTF8TextConverter</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">             </span>classPool: <span class="gmail-Apple-tab-span" style="white-space:pre">   </span>a Dictionary(#StrictUtf8Conversions->nil )</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">          </span>sharedPools: <span class="gmail-Apple-tab-span" style="white-space:pre"> </span>nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>environment: <span class="gmail-Apple-tab-span" style="white-space:pre"> </span>Smalltalk</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">              </span>category: <span class="gmail-Apple-tab-span" style="white-space:pre">    </span>#'Multilingual-TextConversion'</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">         </span>latin1Map: <span class="gmail-Apple-tab-span" style="white-space:pre">   </span>#[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">          </span>latin1Encodings: <span class="gmail-Apple-tab-span" style="white-space:pre">     </span>#(nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil ...etc...</div><div><br></div><div>UTF8TextConverter>>decodeString:</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Receiver: an UTF8TextConverter</div><div><span class="gmail-Apple-tab-span" style="white-space:pre"> </span>Arguments and temporary variables: </div><div><span class="gmail-Apple-tab-span" style="white-space:pre">           </span>aString: <span class="gmail-Apple-tab-span" style="white-space:pre">     </span>'©phane Rollandin#spfa!Stephane Schitter#stefs!Stephanie Hamburg#MUTTL...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">         </span>result: <span class="gmail-Apple-tab-span" style="white-space:pre">      </span>nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">    </span>Receiver's instance variables: </div><div><span class="gmail-Apple-tab-span" style="white-space:pre">           </span>latin1Map: <span class="gmail-Apple-tab-span" style="white-space:pre">   </span>#[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">          </span>latin1Encodings: <span class="gmail-Apple-tab-span" style="white-space:pre">     </span>#(nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil ...etc...</div><div><br></div><div>UTF8TextConverter>>nextChunkFromStream:</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">   </span>Receiver: an UTF8TextConverter</div><div><span class="gmail-Apple-tab-span" style="white-space:pre"> </span>Arguments and temporary variables: </div><div><span class="gmail-Apple-tab-span" style="white-space:pre">           </span>input: <span class="gmail-Apple-tab-span" style="white-space:pre">       </span>MultiByteFileStream: '/Users/eliot/Squeak/Squeak5.1/trunk6projectLoad.ch...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Receiver's instance variables: </div><div><span class="gmail-Apple-tab-span" style="white-space:pre">           </span>latin1Map: <span class="gmail-Apple-tab-span" style="white-space:pre">   </span>#[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">          </span>latin1Encodings: <span class="gmail-Apple-tab-span" style="white-space:pre">     </span>#(nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil ...etc...</div><div><br></div><div>MultiByteFileStream>>nextChunk</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">    </span>Receiver: MultiByteFileStream: '/Users/eliot/Squeak/Squeak5.1/trunk6projectLoad.changes'</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">       </span>Arguments and temporary variables: </div><div><br></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Receiver's instance variables: </div><div><br></div><div><br></div><div>ChangeList class>>browseRecentLogOn:</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>Receiver: ChangeList</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">   </span>Arguments and temporary variables: </div><div><span class="gmail-Apple-tab-span" style="white-space:pre">           </span>origChangesFile: <span class="gmail-Apple-tab-span" style="white-space:pre">     </span>MultiByteFileStream: '/Users/eliot/Squeak/Squeak5.1/trunk6proj...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>end: <span class="gmail-Apple-tab-span" style="white-space:pre"> </span>13286751</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">               </span>done: <span class="gmail-Apple-tab-span" style="white-space:pre">        </span>false</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">          </span>block: <span class="gmail-Apple-tab-span" style="white-space:pre">       </span>7195999</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                </span>pos: <span class="gmail-Apple-tab-span" style="white-space:pre"> </span>7198297</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                </span>changesFile: <span class="gmail-Apple-tab-span" style="white-space:pre"> </span>MultiByteFileStream: '/Users/eliot/Squeak/Squeak5.1/trunk6projectL...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                </span>position: <span class="gmail-Apple-tab-span" style="white-space:pre">    </span>nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>prevBlock: <span class="gmail-Apple-tab-span" style="white-space:pre">   </span>7197023</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                </span>chunk: <span class="gmail-Apple-tab-span" style="white-space:pre">       </span>#('privateAuthorsRaw</div><div><br></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span>^ ''Aaron Reichow#ajr!Abigail Sanchez#as!Adam Eng...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">     </span>Receiver's instance variables: </div><div><span class="gmail-Apple-tab-span" style="white-space:pre">           </span>superclass: <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>CodeHolder</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">             </span>methodDict: <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>a MethodDictionary(#acceptFrom:->(ChangeList>>#acceptFrom: "a CompiledMethod...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>format: <span class="gmail-Apple-tab-span" style="white-space:pre">      </span>65548</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">          </span>instanceVariables: <span class="gmail-Apple-tab-span" style="white-space:pre">   </span>#('changeList' 'list' 'listIndex' 'listSelections' 'file' 'l...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">              </span>organization: <span class="gmail-Apple-tab-span" style="white-space:pre">        </span>('accessing' changeList changes:file: currentChange file listHasSingleEntry...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">           </span>subclasses: <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>{ChangeListForProjects . VersionsBrowser}</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">              </span>name: <span class="gmail-Apple-tab-span" style="white-space:pre">        </span>#ChangeList</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>classPool: <span class="gmail-Apple-tab-span" style="white-space:pre">   </span>nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>sharedPools: <span class="gmail-Apple-tab-span" style="white-space:pre"> </span>nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>environment: <span class="gmail-Apple-tab-span" style="white-space:pre"> </span>nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>category: <span class="gmail-Apple-tab-span" style="white-space:pre">    </span>#'Tools-Changes'</div><div><br></div><div>ChangeList class>>browseRecentLogOnPath:</div><div><span class="gmail-Apple-tab-span" style="white-space:pre"> </span>Receiver: ChangeList</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">   </span>Arguments and temporary variables: </div><div><span class="gmail-Apple-tab-span" style="white-space:pre">           </span>fullName: <span class="gmail-Apple-tab-span" style="white-space:pre">    </span>'/Users/eliot/Squeak/Squeak5.1/trunk6projectLoad.changes'</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span>Receiver's instance variables: </div><div><span class="gmail-Apple-tab-span" style="white-space:pre">           </span>superclass: <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>CodeHolder</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">             </span>methodDict: <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>a MethodDictionary(#acceptFrom:->(ChangeList>>#acceptFrom: "a CompiledMethod...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>format: <span class="gmail-Apple-tab-span" style="white-space:pre">      </span>65548</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">          </span>instanceVariables: <span class="gmail-Apple-tab-span" style="white-space:pre">   </span>#('changeList' 'list' 'listIndex' 'listSelections' 'file' 'l...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">              </span>organization: <span class="gmail-Apple-tab-span" style="white-space:pre">        </span>('accessing' changeList changes:file: currentChange file listHasSingleEntry...etc...</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">           </span>subclasses: <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>{ChangeListForProjects . VersionsBrowser}</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">              </span>name: <span class="gmail-Apple-tab-span" style="white-space:pre">        </span>#ChangeList</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>classPool: <span class="gmail-Apple-tab-span" style="white-space:pre">   </span>nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>sharedPools: <span class="gmail-Apple-tab-span" style="white-space:pre"> </span>nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>environment: <span class="gmail-Apple-tab-span" style="white-space:pre"> </span>nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>category: <span class="gmail-Apple-tab-span" style="white-space:pre">    </span>#'Tools-Changes'</div><div class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>