+ Reply to Thread
Results 1 to 3 of 3

Btrieve Error 3103

  1. Btrieve Error 3103

    Hello,

    I have a pervasive 8.5 implementation that is throwing btrieve 3103 errors
    intermittently. It is running on a windows box and has a user base of
    about 300 users. The database was originally a btrieve 6.0 that has been
    upgraded through the years.

    When the clients start throwing the 3103 errors, you can't log into the
    monitor on the server to see what is going on. I checked the server logs
    and there are no error messages logged.

    One thing that I have noticed is that the relational service seems to stop
    responding first. Then the transactional service will eventually stop and
    we have to restart the box.

    I checked out the communication settings and the communication threads are
    set to 32 and have maxed out since the last reboot. I read in some of the
    other posts that the communication threads locking up may cause the
    services to stop responding.

    My questions:

    1.) Has anyone had the experience where running out of communication
    threads killed your server?
    2.) For a user base of approximately 300, is 32 enough or too many?
    3.) Anyone else experience issues where the relational service will stop
    responding for no apparent reason?
    4.) Since nothing is being written to the logs, is there a setting or task
    that I can implement to possibly catch the issue?

    Thanks in advance,
    Rob

  2. Re: Btrieve Error 3103

    My first suggestion is to patch to Service Pack 3, of PSQLV8.7. This
    may go a long way towards solving the problem.

    We've seen "random" 3103's before caused by DNS and WINS problems on
    networks. You may wish to make sure that when the problem occurs, you
    can still PING the server by name, and you still get good name
    resolution from both DNS and WINS.

    As for your questions on comm threads:
    1) Running out of threads will not "kill" the server. The thread count
    indicates the number of simultaneous requests that can run. Any
    requests beyond this number simply queue up and are handled when the
    threads are free. In fact, it is possible to run on only 1 thread if
    you wanted to (though it wouldn't be quite as efficient).
    2) It depends on how many concurrent requests you have. If you are
    seeing it reach the peak during normal operations, you may be able to
    gain a bit in performance by increasing the thread count. This will
    also increase the mewmory usage, so be careful there.
    3) This can be caused by bad queries -- patching the engine is usually
    the first step to troubleshooting it.
    4) Not really. The best way to find it is with a network trace of all
    traffic to and from the server, but this generates a LOT of data to
    review, and it is not always straightforward where the problem lies.
    If both services died simultaneously, then you might have something,
    but with one shutting down first, this will be a tough one.
    Goldstar Software Inc.
    Pervasive-based Products, Training & Services
    Bill Bach
    BillBach@goldstarsoftware.com
    http://www.goldstarsoftware.com
    *** Chicago: Pervasive Service & Support Class - 03/2007 ***

    Rob Michelis wrote:

    > Hello,
    >
    > I have a pervasive 8.5 implementation that is throwing btrieve 3103
    > errors intermittently. It is running on a windows box and has a user
    > base of about 300 users. The database was originally a btrieve 6.0
    > that has been upgraded through the years.
    >
    > When the clients start throwing the 3103 errors, you can't log into
    > the monitor on the server to see what is going on. I checked the
    > server logs and there are no error messages logged.
    >
    > One thing that I have noticed is that the relational service seems to
    > stop responding first. Then the transactional service will
    > eventually stop and we have to restart the box.
    >
    > I checked out the communication settings and the communication
    > threads are set to 32 and have maxed out since the last reboot. I
    > read in some of the other posts that the communication threads
    > locking up may cause the services to stop responding.
    >
    > My questions:
    >
    > 1.) Has anyone had the experience where running out of communication
    > threads killed your server?
    > 2.) For a user base of approximately 300, is 32 enough or too many?
    > 3.) Anyone else experience issues where the relational service will
    > stop responding for no apparent reason?
    > 4.) Since nothing is being written to the logs, is there a setting
    > or task that I can implement to possibly catch the issue?
    >
    > Thanks in advance,
    > Rob



  3. Lightbulb Re: Btrieve Error 3103

    Just let you guys know,

    Out of the blue (restart of pervasive version 10) all my clients started throwing error 3103 at me. Server was up and running. Even the application was running fine when started on the server.

    Looked in the pvsw.log and it reported port 3351 in use by another application.
    Reserved this port as explained in the microsoft knowledgebase article http://support.microsoft.com/kb/812873
    Restarted the server and everything is fine again. So problem solved!

    Hope this helps out.

+ Reply to Thread