Unix Technical Forum

64 bits ct-lib on Solaris problem

This is a discussion on 64 bits ct-lib on Solaris problem within the Sybase forums, part of the Database Server Software category; --> Hi, We are investigating the use of the 64 bits 12.5 ct-library. During our tests, we ran into the ...


Go Back   Unix Technical Forum > Database Server Software > Sybase

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-08-2008, 03:53 PM
Henk van der Wal
 
Posts: n/a
Default 64 bits ct-lib on Solaris problem

Hi,

We are investigating the use of the 64 bits 12.5 ct-library.
During our tests, we ran into the following error (which did not occur
in our 32 bit applications):

Number: 21. State: 1. Severity: 20.
'WARNING - Fatal Error 4020 occurred at Sep 3 2003 1:58PM. Please
note the error and time, and contact a user with System Administrator
(SA) authorization.'

The conditions under which this occurred were a bit uncertain: stepping
in a debugger helped in some applications but not always, specifying
only tcp in the interfaces file (and not tli) got rid of some
irreproducible instances of the error, leaving still reproducible cases.

According to sybase docs error 4020 occurs when the receiving buffer of
the server is too small. As possible reasons they list:
1 application errors
2 corrupt packets being transmitted
3 incorrect network configuration

Since the aplications haven't changed (except for being compiled 64
bits) and the server is on the same machine as the client, all causes
don't seem applicable (apps run already without problems on OSF 64 bits).

Some data:
Server version 12.0.0.4 (32 bits) (two engines)
Ct library version 12.5 (64 bits)
Solaris 8

Thanks in advance for any help, insights, experiences and opinions.

Hans van Eck
Henk van der Wal

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-08-2008, 03:53 PM
Pablo Sanchez
 
Posts: n/a
Default Re: 64 bits ct-lib on Solaris problem

Henk van der Wal <none@noware.nl> wrote in
news:3F55F146.5020209@noware.nl:

> According to sybase docs error 4020 occurs when the receiving
> buffer of the server is too small. As possible reasons they list:
> 1 application errors
> 2 corrupt packets being transmitted
> 3 incorrect network configuration
>
> Since the aplications haven't changed (except for being compiled
> 64 bits) and the server is on the same machine as the client, all
> causes don't seem applicable (apps run already without problems on
> OSF 64 bits).


Hi Henk,

Since you're using 64-bits, the memory model is different than
32-bits. This means that your application has changed and it's very
possible that any bad pointers that weren't showing in 32-bit mode
are
now being uncovered.

I've had a situation similar to yours but it wasn't 32-bit to 64-bit
but instead using a DB Vendor's new API. It changed dramatically and
the headaches it caused were tremendous!

The port was relatively simple but the bugs in the existing code line
I hadn't counted on. They were tickled by moving to a different
memory model.
--
Pablo Sanchez, Blueoak Database Engineering
http://www.blueoakdb.com
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 04-08-2008, 03:53 PM
Henk van der Wal
 
Posts: n/a
Default Re: 64 bits ct-lib on Solaris problem

Pablo Sanchez wrote:
> Henk van der Wal <none@noware.nl> wrote in
> news:3F55F146.5020209@noware.nl:
>
>
>>According to sybase docs error 4020 occurs when the receiving
>>buffer of the server is too small. As possible reasons they list:
>>1 application errors
>>2 corrupt packets being transmitted
>>3 incorrect network configuration
>>
>>Since the aplications haven't changed (except for being compiled
>>64 bits) and the server is on the same machine as the client, all
>>causes don't seem applicable (apps run already without problems on
>>OSF 64 bits).

> Since you're using 64-bits, the memory model is different than
> 32-bits. This means that your application has changed and it's very
> possible that any bad pointers that weren't showing in 32-bit mode
> are
> now being uncovered.


The applications already run on 64 bits Alpha so pointer problems are
not likely.
Furthermore, we use lint and Purify to check our sources.
What maybe of significance is that the problem occurs on the second call
of a stored procedure that returns an image field. After the first call,
ct_cancel is called (something we can see in a truss of the application).

Hans van Eck/Henk van der Wal

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 04-08-2008, 03:54 PM
Amit
 
Posts: n/a
Default Re: 64 bits ct-lib on Solaris problem

Try these:

1. Can you execute an insert using isql interface from your 64 bit client?
2. Do you have difference in charactersets or encodings on client that was
not on other 64 bit machine (Sybase 12.5 is more sensitive to i18n stuff
than 12.0).
3. Though this may not apply but if the connection has some pending result
set you will get errors (not this one though).

Can you share a small snippet of code where you think the problem occurs?
Maybe you are specifying the size of data based on 64 bit units instead of
32bit units. Unlikely but possible.

HTH,
-----------------------------------------------------------------
Amit Jindal, Development Engineer

Want ease of development or performance? Why not get both!
http://www.roguewave.com/products/sourcepro/db/

[Disclaimer: All views expressed here are my personal views and they can be
incorrect at times]
-----------------------------------------------------------------



"Henk van der Wal" <none@noware.nl> wrote in message
news:3F57441F.9010901@noware.nl...
> Pablo Sanchez wrote:
> > Henk van der Wal <none@noware.nl> wrote in
> > news:3F55F146.5020209@noware.nl:
> >
> >
> >>According to sybase docs error 4020 occurs when the receiving
> >>buffer of the server is too small. As possible reasons they list:
> >>1 application errors
> >>2 corrupt packets being transmitted
> >>3 incorrect network configuration
> >>
> >>Since the aplications haven't changed (except for being compiled
> >>64 bits) and the server is on the same machine as the client, all
> >>causes don't seem applicable (apps run already without problems on
> >>OSF 64 bits).

> > Since you're using 64-bits, the memory model is different than
> > 32-bits. This means that your application has changed and it's very
> > possible that any bad pointers that weren't showing in 32-bit mode
> > are
> > now being uncovered.

>
> The applications already run on 64 bits Alpha so pointer problems are
> not likely.
> Furthermore, we use lint and Purify to check our sources.
> What maybe of significance is that the problem occurs on the second call
> of a stored procedure that returns an image field. After the first call,
> ct_cancel is called (something we can see in a truss of the application).
>
> Hans van Eck/Henk van der Wal
>



Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 08:36 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
www.UnixAdminTalk.com