Hello Tom,

Many thanks and that is very helpful indeed - and I have learned something 
new regarding the exception stack and stack trace. Good to know that the 
salient piece (for me) is at the end of these.

OK, I reckon this is the skin.conf or weewx.conf file, so will go and have 
a look.

Thank you again and I'll let you know...

Nick.

On Monday, February 16, 2026 at 9:54:53 PM UTC Tom Keffer wrote:

> What you are looking at is an exception stack. The actual error is the 
> last entry "Duplicate section name." The entries above it are the stack 
> trace: which function called which function which ended up causing the 
> error. They are useful for figuring out how the software got into its 
> predicament, but for the moment you can ignore them. You just need to focus 
> on the last item, the duplicate section name error.
>
> The duplicate section name is in the *configuration file*, not the 
> function reading it. Belchertown has its own way of doing things, but one 
> of your configuration files, probably the one you last edited, has a 
> duplicate section name at line 350. This means it looks something like:
>
> [SomeEntry]
>   [[SubEntry]]
>     ...
>   [[SubEntry]]
>
> Note how "SubEntry" appears twice. For a configuration file, it can only 
> appear once. 
>
> By convention, configuration files end in the suffix ".conf". Check line 
> 350 of all of them. You'll find the culprit.
>
> Hope this helps.
>
> -tk
>
> On Mon, Feb 16, 2026 at 1:40 PM O S <[email protected]> wrote:
>
>> Many thanks and is there any chance that you would be able to offer 
>> something a little less cryptic? Perhaps you'd explain how you arrived at 
>> the conclusion you did and how I might go about fixing it?
>>
>> This group is where you have directed me to more than once when I have 
>> posted on the wxforum, saying that if I *"... want quality help the best 
>> place to ask is in the place where the thousands of users and the sw devs 
>> hang out, which is in the google group for this particular piece of 
>> software." *So, here I am.
>>
>> The error output that I posted above appears to the untrained eye to have 
>> lots of errors, but you have only highlighted the last one, so I wonder why 
>> this is and what those other messages mean*.* I have navigated to 
>> /usr/lib/python3/dist-packages/configobj and executed: sudo nano -l 
>> __init.py and I find this at line 350:
>>
>>          # Back in interpolate(), all we have to do is kick off the 
>> recursive
>>
>> It appears to exist only once.
>>
>> So, as it turns out, not really that obvious at all, unless you know 
>> markedly more than I do, which it appears that you do, and which makes me 
>> wonder why you'd not be a little more forthcoming with some assistance.
>>
>> Not trying to be obtuse here, just a genuine question and i apologise if 
>> what appear to be basic questions irritate you.
>>
>> Thanks,
>> Nick.
>>
>> On Sunday, February 15, 2026 at 10:21:00 PM UTC Vince Skahan wrote:
>>
>>> > configobj.DuplicateError: Duplicate section name at line 350
>>>
>>> Doesn't get much more obvious than this one....
>>>
>>> On Sunday, February 15, 2026 at 2:05:41 PM UTC-8 O S wrote:
>>>
>>>> Hello all,
>>>>
>>>> i have been experimenting with adding new observations and graphs today 
>>>> and everything has worked as expected. I just noticed that the Belchertown 
>>>> skin is not updating so I ran a report manually and I'm getting the errors 
>>>> below - I have no idea why, Can anyone help?
>>>>
>>>> The Seasons skin is still working fine. The only other thing i did 
>>>> today was to set up a few scripts and cron jobs to make hourly, weekly, 
>>>> monthly backups using rsync.
>>>>
>>>> Thanks,
>>>> Nick.
>>>>
>>>> Using configuration file /etc/weewx/weewx.conf
>>>> All enabled reports will be run.
>>>> Generating as of last timestamp in the database.
>>>> Traceback (most recent call last):
>>>> File “/usr/share/weewx/weewx/reportengine.py”, line 248, in run
>>>> obj.start()
>>>> File “/usr/share/weewx/weewx/reportengine.py”, line 465, in start
>>>> self.run()
>>>> File “/usr/share/weewx/weewx/cheetahgenerator.py”, line 166, in run
>>>> ngen = self.generate(gen
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> *dict[sectionname], sectionname, self.gents) 
>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File 
>>>> “/usr/share/weewx/weewx/cheetahgenerator.py”, line 226, in generate ngen 
>>>> += 
>>>> self.generate(section[subsection], subsection, gents) 
>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File 
>>>> “/usr/share/weewx/weewx/cheetahgenerator.py”, line 226, in generate ngen 
>>>> += 
>>>> self.generate(section[subsection], subsection, gents) 
>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File 
>>>> “/usr/share/weewx/weewx/cheetahgenerator.py”, line 309, in generate 
>>>> searchList = self.getSearchList(encoding, timespan, 
>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File 
>>>> “/usr/share/weewx/weewx/cheetahgenerator.py”, line 401, in getSearchList 
>>>> searchlist += obj.getextensionlist(timespan, dblookup) 
>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File 
>>>> “/etc/weewx/bin/user/belchertown.py”, line 403, in get_extension_list 
>>>> chart_dict = configobj.ConfigObj(chart_config_path, file_error=True) 
>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File 
>>>> “/usr/lib/python3/dist-packages/configobj/__init.py”, line 1229, in __init 
>>>> self._load(infile, configspec) File 
>>>> “/usr/lib/python3/dist-packages/configobj/__init.py”, line 1318, in _load 
>>>> raise errorconfigobj.DuplicateError: Duplicate section name at line 
>>>> 350.Traceback (most recent call last): File 
>>>> “/usr/share/weewx/weewx/reportengine.py”, line 248, in run obj.start() 
>>>> File 
>>>> “/usr/share/weewx/weewx/reportengine.py”, line 465, in start self.run() 
>>>> File “/etc/weewx/bin/user/belchertown.py”, line 2308, in run 
>>>> self.chart_dict = configobj.ConfigObj(chart_config_path, file_error=True) 
>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File 
>>>> “/usr/lib/python3/dist-packages/configobj/__init.py”, line 1229, in __init 
>>>> self._load(infile, configspec) File 
>>>> “/usr/lib/python3/dist-packages/configobj/__init*.py”, line 1318, in 
>>>> _load
>>>> raise error
>>>> configobj.DuplicateError: Duplicate section name at line 350
>>>> ​
>>>>
>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "weewx-user" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To view this discussion visit 
>> https://groups.google.com/d/msgid/weewx-user/c65cf470-cd04-4833-af03-78a23addf88fn%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/weewx-user/c65cf470-cd04-4833-af03-78a23addf88fn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/weewx-user/7decb59e-7770-4394-8bde-0d8abb0e73a6n%40googlegroups.com.

Reply via email to