Skip to Content

Hello All,

Greetings for the day!

I want to share with you a very strange issue related to web dispatcher which I encountered today.It is related to the trace entries in dev_webdisp (web dispatcher trace file )

I noticed strange entries in the dev_webdisp trace file.The entries were :

—> dev_webdisp

[Thr ID] Fri </date and \time>

[Thr ID] *** ERROR => ICR: server/group name too long (68 > 64) [ictxxroute.c 2763]
[Thr ID] *** ERROR => IcrAttachToServer(‘//abcde….. <total of 68 characters>): unexpected error 8 {004a0133} [http_route.c 3849]
[Thr ID] role: Server, protocol: HTTPS, local: <IP>:<Port>, peer: <IP>:<Port>

These were totally new for me!

By reading the entries “ERROR => ICR: server/group name too long (68 > 64)” it was clear for me that the issue was something to do with the name of my logon group.

Apparently it was 68 characters long!!

This is the same logon group which is defined under SMLG -> logon group name.

1. Choose CCMS → Configuration → Logon Groups, or call transaction SMLG.

–> OR <–

2.Choose (Create Assignment), and specify the desired name of the logon group in the Logon Groupinput field. Enter the name of the desired Instancethat is to belong to the logon group.

The reference to this information can be found here

After some study I could see to resolve the issue I manually had to change the name of the server to something sane!! ( obviously less than 64 letters!) 😐

The resolution part was a simple one this time 😉

However the path to reach this conclusion was interesting and I got to learn some new information here.

The questions that I was left with were :-

>> How to determine which parameters are related or how to determine only 64 characters is the limit for the server/group name ?

>> Is it hardcoded into the kernel ?

Yes , you guessed it right! The value of 64 characters is hard coded into the kernel.

Here I could notice some other information as well , like what do the hard coded values mean and what do they imply ?

In my search for answers I could find the maximum limit set for server/group name is hard coded to be of 64 characters only.

 

Due to security reasons I am unable to provide a #define variable which is linked to function. 😐

 

 

So the entries in the web dispatcher trace file were correct 😐

 

Now I got to some additional information as well , not just this but I also got to know what do the error codes mean!

Here I have collated a list of the error codes OR return codes which will help you in identify what does the entries in traces (dev_webdisp / dev_icm) imply

ICR_OK 0 ///< success
ICR_ERROR 1 ///< internal error
ICR_ENOMEM 2 ///< out of memory error
ICR_ELOCK 3 ///< locking error
ICR_ENOTFOUND 4 ///< object (server, group, …) not found
ICR_EEXISTS 5 ///< object (server, group, …) exists
ICR_ESYNTAX 6 ///< syntax error
ICR_ECONN 7 ///< connection failure
ICR_EINVARG 8 ///< invalid argument
ICR_ECONV 9 ///< conversion error
ICR_EDONE 10 ///< done
ICR_EPROXYAUTH 11 ///< proxy authentication failed
ICR_EOS 12 ///< end of stream
ICR_ENOGROUP 13 ///< group does not exist
ICR_EGROUPEMPTY 14 ///< group is empty
ICR_EAUTHDIGESTSTALE 15 ///< digest is stale
ICR_EOVERFLOW 16 ///< overflow error
ICR_ETIMEOUT 17 ///< timeout error

Coming back to the original issue of weird trace entries I managed to know how the variables and definitions are hard coded and what is the way in which they are implemented.

Do let me know in case any queries.

Enjoy reading!

 

Regards,

Manjunath Hanmantgad

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply