Try commenting our the IConvertible code, and instead walk up the call stack a bit and add some GC.Collect etc, and see if that is the difference.
|-----Original Message----- |From: [email protected] [mailto:ozdotnet- |[email protected]] On Behalf Of Greg Keogh |Sent: Monday, 18 October 2010 11:31 PM |To: 'ozDotNet' |Subject: object must implement ICOnvertible | |I have a classic case of a problem that is sucking all of the enjoyment out of this |profession. No it doesn't just suck, it's giving me the stinking shits. | | | |We failed to make a release tonight because of incomprehensible crashes and |behaviour with our 7 year old well-tested app when deployed to a Windows |2003 Server. The suite runs and behaves perfectly on our development |machines, but when the MSIs were built and installed it all went to hell in a |hand basket with errors we have never seen in our lives. I double checked all of |the build options and the Framework versions and references of the 52 projects |to check for accidental mismatches, but it all looked good. | | | |After running hours of tests I eventually managed to log a nested exception in |the client app that was opening a binary Remoting channel to the server. One |exception referred to a problem with serializing a MarshalByRefObject, |another gave the vital clue "object must implement IConvertible". | | | |Web searches produced hundreds of hits on this IConvertible message, but |there were no answers anywhere. | | | |So just for the hell of it (I had no other option) I added the IConvertible |interface to the MarshalByRefObject class used in the Remoting code. I left |dummy throws in the 17 useless methods of the interface. I rebuilt, redeployed |and it all worked. | | | |So why the hell would I suddenly need to implement this interface (without any |working code) on a MarshalByRefObject class to prevent it crashing on certain |machines? This problem happened on different Win3K machines in different |testing locations. I can find no pattern anywhere to explain it. | | | |Greg
