Greg

The only sensible responses or answers I have seen relate to type conversion
from data coming out of an SQL data request from the application.

Could it be bad data, that the 7-year old application somehow has never seen
before? 

 

  _____  

Ian Thomas
Victoria Park, Western Australia

  _____  

From: [email protected] [mailto:[email protected]]
On Behalf Of Greg Keogh
Sent: Monday, October 18, 2010 8: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

Reply via email to