JeanDeSpaey Posted February 7, 2012 Report Share Posted February 7, 2012 Hi, I encounter an assertNull error in Plastic 4.0 when checking in files located in different xlinked repositories. After the assert the plastic database is inconsistent (rollback does not rollback completely to the previous state). One needs to manually modify the xlink (setting it to the correct changeset) to be able to continue. What follows is the configuration of the environment. Repository server is running on a Linux machine (mono environment). Client is a Windows 7 environment. Version of the Plastic 4 software = 239.2 Workspace & repository: A workspace "Workspace_MyProject" is created with a repository called "myproject". In this workspace a folder "MyProject" and a folder "lib" are created (and checked in). In the "MyProject" folder a "src" repository is xlinked using the following commnand: cm xlink -w src / cs:0@myproject_src@server:8087 In the "lib" folder a "MyProject" folder is xlinked using the following command: cm xlink -w MyProject / cs:0@myproject_lib@server:8087 In the "src" folder a Visual Studio solution is created. One of the projects in this solution copies a library (.NET assembly) and a confg file in the "lib/MyProject" folder (The idea is that this repository can be used by other projects that require the library). The library and config file are placed under source control in the MyProject workspace. The build of the Visual Studio solution results in 2 files that are updated in the "src" repo (c# source files), and 2 files updated in the "lib/MyProject" folder (a dll and a config file). When asked for the "pending changes" Plastic SCM reports that 4 files need to be checked in (which is correct). When you checkin the 4 files together then a "Assert null" error occurs (with an incomplete rollback) When you checkin the 2 files that changed on the "src" folder followed by a checkin of the two files in the "lib/MyProject" folder then everything works as expected. It is as if the fact that two xlinked repositories are updated at the same time is problematic. Does anyone experienced the same or similar problems? Is there a fix for this? Link to comment Share on other sites More sharing options...
psantosl Posted February 14, 2012 Report Share Posted February 14, 2012 We're on it. Link to comment Share on other sites More sharing options...
JeanDeSpaey Posted February 17, 2012 Author Report Share Posted February 17, 2012 Was this problem supposed to be fixed in 239.9? I installed 239.9 this morning and the assertNull is still present. Link to comment Share on other sites More sharing options...
manu Posted February 21, 2012 Report Share Posted February 21, 2012 Hi , can you please post us here a screenshot of your pending changes view at the time you are trying to commit the changes? can you also try the ci using the command line? Just issue the following command on the workspace root directory: "cm ci --stack" Link to comment Share on other sites More sharing options...
JeanDeSpaey Posted February 23, 2012 Author Report Share Posted February 23, 2012 Hi, Attached are the screenshots you requested, Regards, Jean Link to comment Share on other sites More sharing options...
manu Posted February 23, 2012 Report Share Posted February 23, 2012 thank you for the info, ok, try to checkout the 4 files and then repeat the "cm ci --stack" from the command line. Link to comment Share on other sites More sharing options...
JeanDeSpaey Posted March 5, 2012 Author Report Share Posted March 5, 2012 Hi manu Sorry for the delay. I have checked out the files (using the Plastic client) and then issued the cm ci --stack command as you requested. (the content of the files was not changed between the checkout and executing the command). Attached is a screen capture of the command window. Hope this helps you pinpoint the problem Regards, Jean Link to comment Share on other sites More sharing options...
manu Posted March 5, 2012 Report Share Posted March 5, 2012 Hi Jean, I can´t see the AssertNull error on the ScreenShot But, I have to tell you that the ci, when you are working with Xlinks, will be atomic as the "no-xlinked" working mode is. It will be included on the next public release. Link to comment Share on other sites More sharing options...
JeanDeSpaey Posted March 6, 2012 Author Report Share Posted March 6, 2012 Hi, The difference between the error situation and the working situation is that in the case of error situation the files are not checked out using a command or using visual studio checking out the files. The files are created as follows : In a visual studio project a pre build command is used to create a proxy class (c# source file and config file) from a web service. These files are located in the src folder of the workspace. The project build compiles the c# file into an assembly (dll) in a bin folder not under source control. A post build command then copies the dll and the config file to the xlinked folder ( in the lobs folder). When you checkin the files that were altered (c# file an config file in the src folder + dll and config file in the libs folder ) together the assert null error occurs. If you first check in the files in the src folder and then those in the lib folder then there is no error. If you checkout the files from the plastic ui and check them in together no error occurs. Hope this helps Link to comment Share on other sites More sharing options...
manu Posted March 7, 2012 Report Share Posted March 7, 2012 Ok, so the problem is only with the changed files. Can you please run again the "cm ci --stack" command when you are having the changed files?are you still using the 239.9? Link to comment Share on other sites More sharing options...
JeanDeSpaey Posted March 12, 2012 Author Report Share Posted March 12, 2012 Hi, This morning I installed version 239.16 and I did the test again. Unfortunately the problem is still present. I executed the command cm -ci --stack as you suggested (screen capture as attachement). I also attached screen captures of: - Pending changes after the build in Visual Studio - The checking operation that fails + the assert null error (file "Checkin_operation_and_assert_null.png) - The items view after the error condition - The branch explorer on the mounted "lib\WeGovPartner" repository (the working changeset is no longer consistent!!!) Regards, Jean Link to comment Share on other sites More sharing options...
manu Posted March 12, 2012 Report Share Posted March 12, 2012 Hello JeanDeSpaey, I want to schedule with you a GoToMeeting session for tomorrow, can you tell me your time zone and when you are available to have the meeting? Link to comment Share on other sites More sharing options...
JeanDeSpaey Posted March 21, 2012 Author Report Share Posted March 21, 2012 Hi admin, I can have this meeting today. The time zone is Brussels My telephone number = +3292220622 You should ask for Jean De Spaey Regards, Jean Link to comment Share on other sites More sharing options...
manu Posted March 21, 2012 Report Share Posted March 21, 2012 Oh, Brussels I love that city. Can I contact with you right now? Link to comment Share on other sites More sharing options...
JeanDeSpaey Posted March 30, 2012 Author Report Share Posted March 30, 2012 Hi manu, We installed 239.19 (both on repository server (mono, linux) and on client (win 7)) and tested the checkin operation again. The client user interface now shows the following message (see attached screen capture). I also attached the serverlog captured at the moment of the error (serverlog.txt). Hope this can help you further Regards, Jean serverlog.txt Link to comment Share on other sites More sharing options...
manu Posted March 30, 2012 Report Share Posted March 30, 2012 Can we schedule a GoToMeeting session for the next week, I'm having troubles trying to reproduce your issue. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.