[eluser]jonghahwang[/eluser]
I checked and you right it does substring 120, which make sense because database column length is 120.
so even if user agent is longer than 120, it won't be problem for database and session.
My problem was that since the column length was 50, even if session truncate upto 120,
it won't matter, because database truncate upto 50.
Thus session class can't find my session id when config sess_match_useragent=TRUE is set.
So either I had to set it FALSE or change ci_session table structure.