Fitting a weighted histogram

I am trying to perform a double gaussian fit to a weighted histogram, my code is

respProjection[i]->Fit("gaus", "Q");
        TF1* fit1 = respProjection[i]->GetFunction("gaus");
        double mean1 = fit1->GetParameter(1);
        double sig1 = fit1->GetParameter(2);
        double lowBound1 = mean1 - (2 * sig1);
        double highBound1 = mean1 + (2 * sig1);
        respProjection[i]->Fit("gaus", "Q", "SAME", lowBound1, highBound1);
        respProjection[i]->GetXaxis()->SetTitle("MC Response");
        //respProjection[i]->GetYaxis()->SetTitle("# Jets");
        TFitResultPtr r = respProjection[i]->Fit("gaus", "S", "SAME", lowBound1, highBound1);

        correctionFile << temp << ":" << r->Parameters()[1] << "\n";

This is meant to run over several projections from a 2-D histogram and fit a gaussian, then re fit to +/- 2sigma. I receive the error:

Warning in <ROOT::Fit::FillData>: fit range is outside histogram range, no fit data for xaxis
Warning in <Fit>: Fit data is empty
Error in <TFitResultPtr>: TFitResult is empty - use the fit option S

This is a weighted histogram, where the values range from O(10E-8) to O(1). When I tried this code on a similar but unweighted histogram, it worked fine.
Let me know If I should provide more information,

Just curious, did you check lowBound and highBound1 are not zero or beyond of your histogram data points ? also would be nice to print GetEntries of histogram; that would answer second question

Thank you for your response, sorry for the delay on my end. From your suggestion, I see that the upper and lower bounds, which should be between 0 and 1, are much higher and change anytime I re-run the code (the first time they were 5.8 and 5.6, then 95 and 94.
This seems to be coming from the mean of the first fit. The sigma appears to be reasonable, around 0.1.
GetEntries returns, for the histogram in question, 1.11.
So I need to find out why the first fit is coming up with a result beyond the bounds of the histogram.

a quick check, instead of calling pre-defined gaus, make it user defined, pass some parameter values and fit; see if that helps.