Skip to content

[sonic_daemon_base]Fix the issue "'NoneType' object has no attribute 'closelog'"#3281

Merged
jleveque merged 1 commit intosonic-net:masterfrom
stephenxs:fix-daemon-base-destroctor
Aug 5, 2019
Merged

[sonic_daemon_base]Fix the issue "'NoneType' object has no attribute 'closelog'"#3281
jleveque merged 1 commit intosonic-net:masterfrom
stephenxs:fix-daemon-base-destroctor

Conversation

@stephenxs
Copy link
Collaborator

- What I did
Fix the issue "'NoneType' object has no attribute 'closelog'" which results from referencing an already destroyed global variable "syslog" when destructuring daemon_base.Logger. The root cause is that python doesn't have a definite sequence in which objects being destroyed when a program exits.
This issue is only observed when sonic_platform/chassis.py is loaded via python shell.

- How I did it
Introduce a class member to represent the "syslog" so that it is accessible during the class destructing.

- How to verify it
verify whether the information can be logged and confirm no error message when the process exits

- Description for the changelog
[sonic_daemon_base]fix the issue "'NoneType' object has no attribute 'closelog'"

- A picture of a cute animal (not mandatory but encouraged)

…esults from referencing an already destroyed global variable when destructuring daemon_base.Logger by introducing a class member to represent the global

Conflicts:
	src/sonic-daemon-base/sonic_daemon_base/daemon_base.py
@jleveque jleveque merged commit 530a0c9 into sonic-net:master Aug 5, 2019
@stephenxs stephenxs deleted the fix-daemon-base-destroctor branch September 8, 2019 05:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants