{"action":"opened","issue":{"url":"https://api.github.com/repos/JacORB/JacORB/issues/216","repository_url":"https://api.github.com/repos/JacORB/JacORB","labels_url":"https://api.github.com/repos/JacORB/JacORB/issues/216/labels{/name}","comments_url":"https://api.github.com/repos/JacORB/JacORB/issues/216/comments","events_url":"https://api.github.com/repos/JacORB/JacORB/issues/216/events","html_url":"https://github.com/JacORB/JacORB/issues/216","id":315387774,"number":216,"title":"TCS Negotiation not working","user":{"login":"dvdouden","id":35775139,"avatar_url":"https://avatars1.githubusercontent.com/u/35775139?v=4","gravatar_id":"","url":"https://api.github.com/users/dvdouden","html_url":"https://github.com/dvdouden","followers_url":"https://api.github.com/users/dvdouden/followers","following_url":"https://api.github.com/users/dvdouden/following{/other_user}","gists_url":"https://api.github.com/users/dvdouden/gists{/gist_id}","starred_url":"https://api.github.com/users/dvdouden/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dvdouden/subscriptions","organizations_url":"https://api.github.com/users/dvdouden/orgs","repos_url":"https://api.github.com/users/dvdouden/repos","events_url":"https://api.github.com/users/dvdouden/events{/privacy}","received_events_url":"https://api.github.com/users/dvdouden/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-04-18T08:51:52Z","updated_at":"2018-04-18T08:51:52Z","closed_at":null,"author_association":"NONE","body":"Hi,\r\n\r\nA bit of background information first. We have a server running Ubuntu or RedHat running our server application written in C++ (using ACE/TAO). Our client application (using JacORB) is written in Java and runs on Windows machines. The server application uses UTF-8 as native codeset and the client application uses Cp-1252 as native codeset.\r\n\r\nWe were using JacORB 3.0 until recently and have now upgraded to 3.9. After the upgrade we noticed the TCS negotiation was no longer performed.\r\n\r\nAfter some debugging I think we found the cause. I could be completely wrong though; I'm not very familiar with JacORB or CORBA in general.\r\n\r\nWhat we see is the following:\r\n- Delegate is created with a default PIOR (1.0)\r\n- codeSet is set, ignored because GIOP 1.0, TCS marked as negotiated\r\n- first message is sent to server\r\n- server sends reply, containing codeset info\r\n- rebind is performed\r\n- PIOR is reset (now 1.2)\r\n- clientConnectionManager cannot release connection because there's still 1 client) (probably a fix for Bug1014?)\r\n- delegate will not update codeset, because TCS already marked as negotiated.\r\n\r\nIn JacORB 3.0, the clientConnectionManager would close the connection successfully, a new connection would be made and codeset negotiation would be triggered.\r\n\r\nI'm not quite sure what the proper solution to this may be. In our local branch I removed the line in ClientConnection that marks TCS as negotiated when GIOP = 1.0. This seems to have fixed the problem for us. Subsequent calls to ClientConnection.setCodeSet with a different PIOR now won't be ignored, but I'm not sure if this change has any other unwanted side-effects.\r\n\r\ngr.\r\n\r\n\r\nDvdOuden"}}
{"actor":{"display_login":"dvdouden"}}