4 Replies Latest reply: Dec 8, 2011 9:16 AM by Todd Little-Oracle RSS

    please help me out LIBTUX_CAT:6029

    528481
      HI ALL,
      these days, i got some problem.
      the client called the service, but didn't get reply. in the app log, i found the service have got the require, and processed it.
      In the ULOG, i found that

      144150.coresys1!CadAccount.2212082.1328558134.0: gtrid x0 x4ecc5abb x174847:LIBTUX_CAT:6029: ERROR: tpreturn called outside the original service thread
      144150.coresys1!CadAccount.2212082.1328558134.0: gtrid x0 x4ecc5abb x174847:LIBTUX_CAT:518: ERROR: Service 'CADSysBnkCwd' failed to call tpreturn or tpforward

      and only way to work around it is rebooting the according server.
      now, i want know LIBTUX_CAT:6029 when and why the error comes out, could anybody show me a example?

      thanks advance
        • 1. Re: please help me out LIBTUX_CAT:6029
          Todd Little-Oracle
          Hi,

          I'm guessing you have a multi-threaded server and tried to perform a tpreturn() in a different thread than was executing the service. This would explain both error messages as the first message just indicates the wrong thread did the tpreturn(), and the second message says that your service routine returned to the Tuxedo main dispatching loop without ever performing a tpreturn() or tpforward(). The function that is called to handle a service request must eventually perform either a tpreturn() or tpforward().

          If your server is single-threaded then I'd have to guess you have a memory corruption problem or something similar.

          Regards,
          Todd Little
          Oracle Tuxedo Chief Architect
          • 2. Re: please help me out LIBTUX_CAT:6029
            528481
            thank you for your reply.

            our server is single-thread, and we also think the server memory was messed up by someone sevice.
            now problem we meet is how to find out which service did that ?
            is there better way to trace the server ?
            • 3. Re: please help me out LIBTUX_CAT:6029
              Kristian Ivarsson
              Hi,

              If it is just Tuxedo-trace you're looking for, the easiest to turn on the trace-facility (example if you wanna have some basic trace for every service in every server in a group)

              $tmadmin
              \>chtr -g MY_GROUP on
              \>quit

              do your stuff and when you're done

              $tmadmin
              \>chtr -g MY_GROUP off
              \>quit

              Check out tmtrace for more details and how to get more fine grained trace

              Best regards,
              Kristian

              Edited by: Kristian Ivarsson on 2011-dec-08 01:59
              • 4. Re: please help me out LIBTUX_CAT:6029
                Todd Little-Oracle
                Hi,

                It may be corrupted memory, but those are weird errors to get for it. What platform are you on and what language are your services written in?

                There are a number of tools available to help find memory leaks and/or memory corruption. Ones to consider are Purify, Insure++, Electric Fence, and Valgrind. If you are on Solaris, Solaris Studio also has some analysis tools that might help in tracking down this problem.

                Regards,
                Todd Little
                Oracle Tuxedo Chief Architect