History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: COR-684
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Critical Critical
Assignee: Unassigned
Reporter: Richard Liang
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
db4o Core

Client/Server NullReferenceException in Query

Created: 15/Jun/07 08:42 AM   Updated: 22/Aug/07 07:46 PM
Component/s: Client/Server
Affects Version/s: None
Fix Version/s: Denmark - v6.3

Time Tracking:
Original Estimate: Not Specified
Remaining Estimate: 0h
Time Spent - 8h
Time Spent: 8h
Time Spent - 8h

Resolution Date: 22/Aug/07 07:46 PM
First Response Date: 09/Jul/07 02:25 PM
Labels:
Participants: Andrew Zhang and Richard Liang
Number of Attachments: 0
Number of Comments: 1


 Description  « Hide
Hello,

This jira is from "second level support" forum. Please have a look at it. Thanks a lot.

Best regards,
Richard


This is regarding salesforce case https://na2.salesforce.com/50040000003GY2H

https://na2.salesforce.com/50040000003GY4r is also related to the same case.

User is facing some synchronization problem. He is temporarily able to fix the issue with the some db4o code changes.

He made changes to file 'ClientObjectContainer.cs'

According to the user -

In the meantime I have implemented better fix than the one in this case. If you take a look at all references at the method ExpectedResponse in the ClientServerContainer module you can see that the method should never return null, because no calling function tests the result for null. The method returns null if you try to read a message, but no message has arrived yet or it is not the expected message. In my case the message has not yet arrived (I was able to debug this with some effort). I changed the method as follows to fix the problem:

                                internal Db4objects.Db4o.Internal.CS.Messages.Msg ExpectedResponse(Db4objects.Db4o.Internal.CS.Messages.Msg

                                                 expectedMessage)

                                {

            //Db4objects.Db4o.Internal.CS.Messages.Msg message = GetResponse();

            //if (expectedMessage.Equals(message))

            //{

            // return message;

            //}

            //return null;

 

            Db4objects.Db4o.Internal.CS.Messages.Msg message;

            while (true)

            {

                message = GetResponse();

                if (expectedMessage.Equals(message))

                {

                    break;

                }

                System.Threading.Thread.Sleep(100);

            }

            return message;

                                }

For me it is clear that here is a big bug in db4o that needs to be fixed very urgent, but I think the developers are aware of it. If you take a look in the 6.3 sources you can see that there are some comments and some debug code to track the bug, but the bug is still not fixed.


 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Andrew Zhang - 09/Jul/07 02:25 PM
Hi Richard,

It has been fixed. Would you please verify ? Thanks!