1 2 3 Previous Next 33 Replies Latest reply on Jun 12, 2013 2:59 AM by RahimAhmed

    FileMaker Server

    FrancescoGiovannini

      Product

      FileMaker Server

      Version

      11.0.2.217 advanced

      Operating system version

      windows 2003 SE

      Description of the issue

      memory occupied by fmxdbc_listener.exe grows up to block of xdbc

      Steps to reproduce the problem

      just use odbc/jdbc

        • 1. Re: FileMaker Server
          TSGal

          Francesco Giovannini:

          Thank you for your post.

          What application is accessing FileMaker data?  What commands are you executing with the ODBC driver?  I'll need some additional information so I can duplicate the problem.

          TSGal
          FileMaker, Inc.

          • 2. Re: FileMaker Server
            IwaoAVE!

            Hi,

            I'm not the reporter, but also observing the leak issue with JDBC query.
            I have tested this on FMSA11 and FMPA11 both on Mac OS X.

            Here's the steps to reproduce:

            1. Create new database (test.fp7).
            2. Create a text field 'f1' in the table 'test'.
            3. Publish the file using ODBC/JDBC protocol.
            4. Create a java program (see below).
            5. Compile (javac LeakTest.java).
            6. Execute (java -cp .:fmjdbc.jar LeakTest)

            Every execution of step 6 increases memory usage of fmxdbc_listener and it seems not to be released while the process is running.
            FYI, I used ActivityMonitor to watch the memory usage.


            import java.sql.*;
            
            public class LeakTest {
                 public static void main(String[] args) {
                      try {
                           Class.forName("com.filemaker.jdbc.Driver");
                           String url = "jdbc:filemaker://127.0.0.1:2399/test";
                           Connection con = DriverManager.getConnection(url, "admin", "");
                           String sql = "SELECT f1 FROM test";
                           Statement stmt = con.createStatement();
                           ResultSet rs = stmt.executeQuery(sql);
                           while (rs.next()) {
                                System.out.println("Result: " + rs.getString(1));
                           }
                           con.close();
                      } catch (Exception e) {
                           e.printStackTrace();
                      }
                 }
            }
            
            • 3. Re: FileMaker Server
              FrancescoGiovannini

              I use Tomcat with Spring Framework, the memory growing happens on each select.

              My JNDI Resource

              <Resource name="jdbc/NuoviContratti"
               factory="org.apache.commons.dbcp.BasicDataSourceFactory"
               auth="Container"
               type="javax.sql.DataSource"
               driverClassName="com.filemaker.jdbc.Driver"
               url="jdbc:filemaker://127.0.0.1/NuoviContratti"
               username="dbuser"
               password="thisthat22"
               removeAbandoned="true"
               removeAbandonedTimeout="30"
               maxActive="5"
               maxIdle="3"
               maxWait="10000"
               logAbandoned="true"/>
              

              An Code Examlple

              public List<Map<String,Object>> getMapList(String jndiRef, String sql) throws Exception{
              
                   //          DataSource dataSource = getDataSource(jndiRef);
              
                   Context tomcatCtx = null;
                   try {
                        tomcatCtx = new InitialContext();
                        DataSource dataSource = null;
                        //get the DataSource from Tomcat
                        try{
                             dataSource = (DataSource)tomcatCtx.lookup("java:comp/env/jdbc/" + jndiRef);
                        }catch(Exception n){
                             logger.error(n.toString());
                        }
              
                        SimpleJdbcTemplate simpleJdbcTemplate = new SimpleJdbcTemplate(dataSource);
                        return simpleJdbcTemplate.queryForList(sql);
              
                   }finally{
                        try {
                             if(tomcatCtx != null){
                                  tomcatCtx.close();
                             }
                        } catch (NamingException e) {
                             logger.error(e.toString());
                        }
                   }
              
              
              }
              
              • 4. Re: FileMaker Server
                TSGal

                Francesco Giovannini and Iwao AVE!:

                Thank you for your detailed examples.  I have forwarded both of your posts with examples to our Development and Software Quality Assurance (Testing) departments for review and confirmation.  When I receive a reply from either department, I will let you know.

                TSGal
                FileMaker, Inc.

                • 5. Re: FileMaker Server
                  TSGal

                  Francesco Giovannini and Iwao AVE!:

                  Our Testing department has confirmed the issue and is continuing to explore this.

                  TSGal
                  FileMaker, Inc.

                  • 6. Re: FileMaker Server
                    SBerger

                    Any news regarding this issue ?

                    We are hesitant to switch to FMS 11, due to this ODBC problem. 

                    It's funny that we paid for FM Server 11 , but we can't use it.

                    Please, let us know if/when is this going to be addressed.

                    • 7. Re: FileMaker Server
                      TSGal

                      Slobodan (et al):

                      Our Testing department has confirmed the problem and the information has been sent to the developer in charge of the driver.  Three other reports have been logged through our Technical Support department.  I will continue to keep everyone posted as information becomes available to me.

                      TSGal
                      FileMaker, Inc.

                      • 8. Re: FileMaker Server
                        RajendraYadav

                        Any news on this issue? Is this fixed?

                        • 9. Re: FileMaker Server
                          TSGal

                          Rajendra Yadav:

                          Thank you for your post.

                          No additional information is available at this time.

                          TSGal
                          FileMaker, Inc.

                          • 10. Re: FileMaker Server
                            SBerger

                            Hi TSGal,

                            we've just downloaded xDBC update and tested it.

                            To us, it acts exactly the same as the old one - and yes, we checked few times to see if we use correct driver.

                            So, memory leak is still here as well as strange characters in text fields.

                            Any comments ?

                            • 11. Re: FileMaker Server
                              TSGal

                              slobodan:

                              What commands are you issuing so we can try and reproduce here.

                              You just introduced "strange characters in text fields".  Can you provide additional information what is occurring?

                              TSGal
                              FileMaker, Inc.

                              • 12. Re: FileMaker Server
                                0614775139

                                Hi TSGal,

                                I have also installed the update and am still experiencing the memory leak problem.  It grows to about 520MB and then stops responding.

                                It is a little better than the old in that it leaks slower.  I used to have to restart odbc/jdbc on the server daily, now it's about 2.5 days.

                                It also unwinds itself very quickly. i.e. if you disable odbc/jdbc on the server you can watch the xdbc_listener unwind from 520MB to zero then disappear in 15 seconds. it used to take 20 minutes or more.

                                I am not sure what commands are being issued.  The Java part of the system was written by a third party, I will try and find out.  What I can tell you is that it performs finds, creates new records and modifies fields in existing records.

                                • 13. Re: FileMaker Server
                                  SBerger

                                  Hi TSGal,
                                  this is what my coleague, Ruby developer says :
                                  "At seemingly random intervals varchar data fields were padded with `null` characters - char(0)".
                                   An example would be:
                                       filemaker data: 772e025e7abec12ba0ef45cc21532d49
                                       data from ODBC: 772e025e7abec12ba0ef45cc2153\000291
                                  We initially thought this might be due to the ruby code running on the websever as there were some minor code changes made to deal with the requirements of the FileMaker ODBC driver. But reverting back to FileMaker 10 and the SequeLink driver didn't require the code to be rolled back, and it works just fine.
                                  Our Setup :
                                        FileMaker Server Advanced 11 running on Mac OS X Leopard installation in our office.
                                        ODBC connection is running on a Mac OS X Leopard installation and connecting directly to the FileMaker Server Advanced 11 computer at our ISP.
                                        Traffic between the two is controlled via our firewall that allows traffic only from the specified IP of our web server which hosts the Ruby ODBC connection.
                                       We have a process that syncs data between FileMaker and a MySQL database via the ODBC connection. This goes through a subset of tables / columns on the FileMaker server and only syncs specified data fields. This process is a two-way process for most of those fields. Certain transformations are performed, specifically in relation to date/time fields. We are currently transferring between 10 to 250 records every 5 minutes.
                                  Regarding memory leak - whenever we issue "Select" statement, xdbc_listener occupies more and more memory and doesn't release it when ODBC request is done.

                                  • 14. Re: FileMaker Server
                                    TSGal

                                    Papman and Slobodan:

                                    I have forwarded both of your posts to our Development and Software Quality Assurance (Testing) departments for additional review.  I will keep you posted as information becomes available to me.

                                    TSGal
                                    FileMaker, Inc.

                                    1 2 3 Previous Next