Closed Bug 829882 Opened 11 years ago Closed 5 years ago

ASSERTION: URI is empty: '!aURI.IsEmpty()', file /TB-NEW/TB-3HG/new-src/mozilla/rdf/base/src/nsRDFService.cpp, line 884

Categories

(Thunderbird :: General, defect)

All
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: ishikawa, Unassigned)

References

Details

Attachments

(3 files)

While testing thunderbird (debug build of comm-central source) by
running "make mozmill" locally, I noticed many ASSERTION messages.
One of them is the following.

###!!! ASSERTION: URI is empty: '!aURI.IsEmpty()', file /TB-NEW/TB-3HG/new-src/mozilla/rdf/base/src/nsRDFService.cpp, line 884

I am attaching the excerpts from the session log.
The assertion appears four times.

The first one seems to appear even during the overall setup of the mozmill (?)

The other three appears during the execution of tests for account setup.

I am attaching the raw log, and the other that is run through  
comm-central/mozilla/tools/rb/fix-linux-stack.pl

It seems that the call is made from JavaScript source somewhere (?)
and so hard to fix this on the caller side.

Since this condition is properly handled as
NS_IMETHODIMP
RDFServiceImpl::GetResource(const nsACString& aURI, nsIRDFResource** aResource)
{
    // Sanity checks
    NS_PRECONDITION(aResource != nullptr, "null ptr");
    NS_PRECONDITION(!aURI.IsEmpty(), "URI is empty");
    if (! aResource)
        return NS_ERROR_NULL_POINTER;
    if (aURI.IsEmpty())
        return NS_ERROR_INVALID_ARG;

Maybe can we simply remove the NS_PRECONDITION statement to reduce the
clutter in mozmill session log (?)

If someone wants to pursue where this call originates, I am willing to help but please suggest how I can possibly pursue this (the stack trace
doesn't seem to help in this condition.)
Blocks: 826745
Sanitized stack trace using comm-central/mozilla/tools/rb/fix-linux-stack.pl
Since the call to GetService() is made with empty aURI from JavaScript (not sure
which one) and so this should not be an exceptional case, and 
this condition is checked, I suggest that NS_PRECONDITION() check be removed.
Component: Untriaged → General
Still happens with:

[12845] ###!!! ASSERTION: URI is empty: '!aURI.IsEmpty()', file /var/tmp/portage/www-client/seamonkey-2.39/work/seamonkey-2.39/mozilla/rdf/base/nsRDFService.cpp, line 831
(In reply to Martin Mokrejs from comment #4)
> Still happens with:
> 
> [12845] ###!!! ASSERTION: URI is empty: '!aURI.IsEmpty()', file
> /var/tmp/portage/www-client/seamonkey-2.39/work/seamonkey-2.39/mozilla/rdf/
> base/nsRDFService.cpp, line 831

Maybe I should get the calling JS in a few places fixed...
Calling this function with empty URI is definitely wrong, at least waste of CPU cycle.
[7004] ###!!! ASSERTION: URI is empty: '!aURI.IsEmpty()', file /scratch/var/tmp/portage/www-client/seamonkey-2.46/work/seamonkey-2.46/mozilla/rdf/base/nsRDFService.cpp, line 823
Current duplicates: #509336 and #299331
I will get to this and other pending bugs once my main development PC replacement is finished :-(
(I never realized there are so many different files of config information that must be moved ...)

RDF is gone. ->WFM

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: