Memory leaks in time printing in vfychain.

RESOLVED INVALID

Status

RESOLVED INVALID
10 years ago
10 years ago

People

(Reporter: slavomir.katuscak+mozilla, Assigned: alvolkov.bgs)

Tracking

trunk
3.12.1
Sun
Solaris

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

10 years ago
When vfychain prints cert chain, it prints also certs validity. 
On Solaris, there were detected leaks in time printing functions:

Block in use (biu):
Found block of size 10380 bytes at address 0x72200 (89.04% of total)
At time of allocation, the call stack was:
    [1] load_localinfo() at 0xdf144790
    [2] ltzset_u() at 0xdf14470c
    [3] mktime() at 0xdf144334
    [4] strftime() at 0xdf17570c
    [5] PR_FormatTime() at line 1722 in "prtime.c"
    [6] secu_PrintTime() at line 1069 in "secutil.c"
    [7] SECU_PrintUTCTime() at line 1094 in "secutil.c"
    [8] SECU_PrintTimeChoice() at line 1126 in "secutil.c"
    [9] secu_PrintValidity() at line 1446 in "secutil.c"
    [10] SECU_PrintCertificate() at line 2591 in "secutil.c"
    [11] SECU_PrintSignedData() at line 3276 in "secutil.c"
    [12] SEC_PrintCertificateAndTrust() at line 3301 in "secutil.c"
    [13] main() at line 533 in "vfychain.c"

Block in use (biu):
Found block of size 50 bytes at address 0x6d348 (0.43% of total)
At time of allocation, the call stack was:
    [1] load_localinfo() at 0xdf144770
    [2] ltzset_u() at 0xdf14470c
    [3] mktime() at 0xdf144334
    [4] strftime() at 0xdf17570c
    [5] PR_FormatTime() at line 1722 in "prtime.c"
    [6] secu_PrintTime() at line 1069 in "secutil.c"
    [7] SECU_PrintUTCTime() at line 1094 in "secutil.c"
    [8] SECU_PrintTimeChoice() at line 1126 in "secutil.c"
    [9] secu_PrintValidity() at line 1446 in "secutil.c"
    [10] SECU_PrintCertificate() at line 2591 in "secutil.c"
    [11] SECU_PrintSignedData() at line 3276 in "secutil.c"
    [12] SEC_PrintCertificateAndTrust() at line 3301 in "secutil.c"
    [13] main() at line 533 in "vfychain.c"

It's possible that problem is not in vfychain/PKIX code, but in NSPR, or in strftime() implementation - I detect this bug on Solaris, but I haven't detect it on Linux.
This is a bug in Linux strftime.  
A bug should be filed against Linux glibc.
An entry for strftime should be placed into the "ignored" file

Slavo, are these tests being done as part of all.sh? 
Are they being run as part of the Tinderbox leak tests?
How can developers reproduce these results?  

What script was changed to do this new testing?
Is that script checked in to mozilla's CVS repository?
Status: NEW → RESOLVED
Last Resolved: 10 years ago
Resolution: --- → INVALID
(Reporter)

Comment 2

10 years ago
(In reply to comment #1)
> This is a bug in Linux strftime.  
> A bug should be filed against Linux glibc.

This is bug in Solaris, not in Linux.

> An entry for strftime should be placed into the "ignored" file

Will add.
 
> Slavo, are these tests being done as part of all.sh? 

Not yet. I'm preparing patch for bug 436499 and while testing this patch I'm reporting found problems. I'm going to send patch for a review very soon.

> Are they being run as part of the Tinderbox leak tests?

They would be after patch is checked into CVS.

> How can developers reproduce these results?  

For those leaks is enough to run any vfychain tests that prints cert chain - it it prints also validity of certs.
 
> What script was changed to do this new testing?

There are more scripts to be changed - chains.sh (new one) and memleak.sh. Just keep bug 436499 on track.

> Is that script checked in to mozilla's CVS repository?

Not yet.
(Reporter)

Comment 3

10 years ago
Adding pattern to list of ignored leaks:

#459237
**/strftime/**
(In reply to comment #3)
> Adding pattern to list of ignored leaks:
> 
> #459237
> **/strftime/**

That patterns is too broad.  Add PR_FormatTime to it also.
(Reporter)

Comment 5

10 years ago
Done, new pattern is:
**/PR_FormatTime/strftime/**
Duplicate of this bug: 464049
(Reporter)

Comment 7

10 years ago
Adding pattern **/PR_FormatTime/__strftime_std/** (see bug 464049).

Comment 8

10 years ago
Should we report this problem against Solaris ?
You need to log in before you can comment on or make changes to this bug.