13 Replies Latest reply on Aug 10, 2018 6:24 AM by Toby Erkson

    Reconnect and Communication with protocol server was lost

    Winnie Thepooh

      I use "Other ODBC" data sources.

      I have drag-and-dropped 2 tables from the data source, they inner joined.

      These tables have: 200 000 rows+500 rows.

       

      When I do "Update" I receive the messagebox "Reconnect to ...."?

      or "Communication with protocol server was lost"

      I use Tableau 10.5 for Mac.

      The system Log contains records like this:

       

      tabprotosrv[607]: tabprotosrv(607,0x70000d5f5000) malloc: *** error for object 0x7fa4f68b4810: incorrect checksum for freed object - object was probably modified after being freed.

      *** set a breakpoint in malloc_error_break to debug

       

      What is the reason of this connection error?

      How to fix it?

        • 1. Re: Reconnect and Communication with protocol server was lost
          Toby Erkson
          1. What are these "Other ODBC" data sources? 
          2. Are they the same or different data source types (e.g. Excel and Oracle)?
          3. Are both connections set to Live or Extract?
          • 2. Re: Reconnect and Communication with protocol server was lost
            Winnie Thepooh

            It is "Other Databases (ODBC)"

            Then I select a previously configured DSN. I use Datavirtuality database. Select 2 tables, drag and drop them. They inner-joined.

            Then I do "Update now" using Live, it gives me the MessageBox to reconnect, the same I do using Extract.

            Sometimes it works and I see the data in the grid, but sometimes it wants to reconnect because communication with protocol server was lost etc.

            I checked the syslog and found this kind of messages. Probably it can be one of reasons.

            • 3. Re: Reconnect and Communication with protocol server was lost
              Winnie Thepooh

              Also, now I have reproduced this issue in Tableau 2018.1

              ------

              May 15 19:29:21 admins-Mac tabprotosrv[525]: tabprotosrv(525,0x700005cc8000) malloc: *** error for object 0x1: pointer being freed was not allocated

              *** set a breakpoint in malloc_error_break to debug

              May 15 19:29:48 admins-Mac tabprotosrv[533]: tabprotosrv(533,0x700007f0f000) malloc: *** error for object 0x7ffca0137000: incorrect checksum for freed object - object was probably modified after being freed.

              *** set a breakpoint in malloc_error_break to debug

              May 15 19:30:04 admins-Mac tabprotosrv[539]: tabprotosrv(539,0x70000990d000) malloc: *** error for object 0x7fb3990a9e00: incorrect checksum for freed object - object was probably modified after being freed.

              *** set a breakpoint in malloc_error_break to debug

              ----------

              • 4. Re: Reconnect and Communication with protocol server was lost
                Toby Erkson

                Looks like an ODBC issue.  You should contact Datavirtuality for help.

                 

                This is happening in Tableau Desktop, correct?

                • 5. Re: Reconnect and Communication with protocol server was lost
                  Winnie Thepooh

                  Yes, it is Desktop.

                  You mean that odbc driver memory leaks can be the reason of alloc/free in the calling application?

                  It may be an issue of the odbc driver, but how to detect it - that is the question.

                  • 6. Re: Reconnect and Communication with protocol server was lost
                    Toby Erkson

                    Winnie Thepooh wrote:

                    ...

                    It may be an issue of the odbc driver, but how to detect it - that is the question.

                    Correct and the db company tech support should be able to help figure out where the problem is.

                    • 7. Re: Reconnect and Communication with protocol server was lost
                      Winnie Thepooh

                      I have detected in the log

                       

                      statement_type=5, statement='CREATE LOCAL TEMPORARY TABLE "XT01_3CA8383B_5981_45E0_ADC3_CE4EB5714763_1_Connect" (

                      "COL" INTEGER

                      ) ON COMMIT PRESERVE ROWS'

                      ---

                      message='ERROR: TEIID31100 Parsing error: Encountered "\"COL\" INTEGER ) [*]ON[*] COMMIT PRESERVE" at line 3, column 11.

                      org.teiid.jdbc.TeiidSQLException: TEIID31100 Parsing error: Encountered "\"COL\" INTEGER ) [*]ON[*] COMMIT PRESERVE" at line 3, column 11.', command='(NULL)', notice='(NULL)'

                      >>> CONN ERROR: func=SC_execute, desc='(null)', errnum=110, errmsg='ISOLATION change request to the server error'

                       

                      It seems the Tableau Desktop sends this query and the server returns error. Can it be the reason of Desktop->Server reconnections?

                      Or this:

                       

                      ERROR from backend during bind_and_execute: 'SERROR'

                      bind_and_execute: 'E' - C50000

                      >>> QLOG >>> 3 ERROR from backend during bind_and_execute: 'C50000'

                      bind_and_execute: 'E' - MThe submitted query contains non-fully qualified names: XT01_3CA8383B_5981_45E0_ADC3_CE4EB5714763_1_Connect. Please, resubmit your query by fully qualifying the group names or change your current setting of the NAME_RESOLUTION_ORDER option.

                      >>> QLOG >>> 3 ERROR from backend during bind_and_execute: 'MThe submitted query contains non-fully qualified names: XT01_3CA8383B_5981_45E0_ADC3_CE4EB5714763_1_Connect. Please, resubmit your query by fully qualifying the group names or change your current setting of the NAME_RESOLUTION_ORDER option.'

                      bind_and_execute: 'E' - Dorg.teiid.jdbc.TeiidSQLException: The submitted query contains non-fully qualified names: XT01_3CA8383B_5981_45E0_ADC3_CE4EB5714763_1_Connect. Please, resubmit your query by fully qualifying the group names or change your current setting of the NAME_RESOLUTION_ORDER option.

                      >>> QLOG >>> 3 ERROR from backend during bind_and_execute: 'Dorg.teiid.jdbc.TeiidSQLException: The submitted query contains non-fully qualified names: XT01_3CA8383B_5981_45E0_ADC3_CE4EB5714763_1_Connect. Please, resubmit your query by fully qualifying the group names or change your current setting of the NAME_RESOLUTION_ORDER option.'

                      • 8. Re: Reconnect and Communication with protocol server was lost
                        Toby Erkson

                        The error appears to be around unqualified group names:

                             Please, resubmit your query by fully qualifying the group names or change your current setting of the NAME_RESOLUTION_ORDER option.

                        So you need to figure out how to correct that, either in the ODBC Data Source Administrator connector client or by using a .tdc file (also see https://onlinehelp.tableau.com/current/pro/desktop/en-us/help.htm#odbc_capabilities.html).  Both of these methods may require you to reach out to the db tech support as I'm not familiar with the db application you're using nor all of the functionality of .tdc files.

                        • 9. Re: Reconnect and Communication with protocol server was lost
                          Winnie Thepooh

                          Ah, I see, will play with tdc files. Thank you Toby

                          • 10. Re: Reconnect and Communication with protocol server was lost
                            Winnie Thepooh

                            Hi Toby,

                            thank you, but still some questions:

                            1. You wrote "I'm not familiar with the db application you're using" - I use Tableau Desktop. As I understand it sends queries to the Tableau Server and the server returns errors (see my posts above).

                            The Desktop  is trying to create a temp table and the server cannot because of full-qualified name errors.

                            The odbc driver is the middle layer.

                            How I can change the Tableau Desktop behavior?

                             

                            2. Can this error be a reason of Desktop reconnections?

                            3. Where I can change the parameter NAME_RESOLUTION_ORDER ? What are available values?

                            • 11. Re: Reconnect and Communication with protocol server was lost
                              Toby Erkson

                              1.  Yes, I know you're using Desktop...db = database.

                              The .tdc file is what you would use to "modify" the behavior.

                               

                              2.  I don't know.

                               

                              3.  I don't know, possibly through using the .tdc parameters.

                               

                              You need to contact the db tech support team for help with this as they know their db best and can recommend alternatives.  Is there a particular reason you are not contacting them?

                              • 12. Re: Reconnect and Communication with protocol server was lost
                                Winnie Thepooh

                                Hi Toby,

                                yet another question:

                                In messages like this

                                May 15 19:29:21 admins-Mac tabprotosrv[525]: tabprotosrv(525,0x700005cc8000) malloc: *** error for object 0x1: pointer being freed was not allocated

                                *** set a breakpoint in malloc_error_break to debug

                                 

                                 

                                It means that object in tabprotosrv  was freed without alloc.  How to detect what is the object? and where it is in the odbc driver?

                                The odbc driver does not contain objects with ids like this.

                                I have replaced the alloc/malloc/realloc/calloc/free with special debugging functions which write to the log if some object will be freed without allocation etc. But did not find any bad objects.\

                                • 13. Re: Reconnect and Communication with protocol server was lost
                                  Toby Erkson

                                  I have no idea   I would recommend contacting support from the company that made the ODBC driver.