[mythtv-users] Mythzmserver DB problems. Was: doesn't start:...
A. F. Cano
afc54 at comcast.net
Wed Apr 28 02:58:50 UTC 2021
On Wed, Apr 28, 2021 at 12:00:38AM +0100, Paul Harrison wrote:
> ...
>
> Ah! I forgot you are running MythTV 30.0 which is missing some fixes. It's
> difficult to keep track of all the changes in MythTV and Zoneminder and what
> is compatible with what at least that's my excuse :)
>
> Only current master looks in /etc/zm/conf.d/01-system-paths.conf for the
> ZM_PATH_MAP setting. Older versions only look in /etc/zm.conf or the
> location you tell it to load the config from when you pass a -c command line
> parameter to mythzmserver.
>
>
> You will have to either copy the ZM_PATH_MAP setting to /etc/zm/zm.conf or
> you could create a custom copy of /etc/zm/zm.conf specifically for
> mythzmserver to use and add the ZM_PATH_MAP setting then tell mythzmserver
> to use your custom zm.conf file using the -c parameter.
Ok, added:
ZM_PATH_MAP=/dev/shm
ZM_VERSION=1.32.3
to the end of /etc/zm/zm.conf but I still get this non-stop when in
"Show Live View":
2021-04-27 21:58:43.779205 E The server failed to process the command. The error was:-
ERROR - Cannot get shared memory pointers
and I get the test pattern on the frontend.
Of interest regarding shared memory, mythzmserver gives this:
getZMSetting: ZM_SHM_KEY Result: 0x7a6d0000
Shared memory key is: 0x7a6d0000
Failed to get mysql row
getZMSetting: ZM_PATH_MAP Result:
Memory path directory is:
It is strange that it finds a ZM_SHM_KEY but then the "ZM_PATH_MAP
Result:" is empty, and the "Memory path directory is:" is also empty.
And then:
Failed to open mmap file [/zm.mmap.2] for monitor: 2 : No such file or directory
Falling back to the legacy shared memory method
Failed to shmget for monitor: 2
ENOENT - no segment exists for the given key
So it looks like even though it has a shared memory key and the
ZM_PATH_MAP=/dev/shm parameter is in /etc/zm/zm.conf it is still not
finding the file and reverting to "the legacy shared memory method".
It certainly looks like mythzmserver is ignoring the ZM_PATH_MAP
variable. Is it using the "legacy ahared memory method" and that is
what is causing the memory pointer errors?
The complete log is below:
# mythzmserver -v -c /etc/zm/zm.conf
loading zm config from /etc/zm/zm.conf
ZM is version '1.32.3'
Listening on port: 6548
Using server protocol version '11'
getZMSetting: ZM_SHM_KEY Result: 0x7a6d0000
Shared memory key is: 0x7a6d0000
Failed to get mysql row
getZMSetting: ZM_PATH_MAP Result:
Memory path directory is:
getZMSetting: ZM_EVENT_IMAGE_DIGITS Result: 5
Event file format is: %05d-capture.jpg
Analysis file format is: %05d-analyse.jpg
getZMSetting: ZM_USE_DEEP_STORAGE Result: 1
using deep storage directory structure
getZMSetting: ZM_CREATE_ANALYSIS_IMAGES Result: 1
using analysis images
Got 1 monitors
Failed to open mmap file [/zm.mmap.2] for monitor: 2 : No such file or directory
Falling back to the legacy shared memory method
Failed to shmget for monitor: 2
ENOENT - no segment exists for the given key
new connection from 127.0.0.1 on socket 5
Processing: 'HELLO'
Processing: 'GET_MONITOR_LIST'
We have 1 monitors
id: 2
name: Desk-C600
width: 1280
height: 720
palette: 0
byte per pixel: 4
sub pixel order:2
-------------------
Processing: 'GET_ALARM_STATES'
Processing: 'GET_ALARM_STATES'
Processing: 'GET_ALARM_STATES'
Processing: 'GET_ALARM_STATES'
Processing: 'GET_ALARM_STATES'
Processing: 'GET_ALARM_STATES'
Processing: 'GET_ALARM_STATES'
Processing: 'GET_ALARM_STATES'
Processing: 'GET_ALARM_STATES'
Processing: 'GET_SERVER_STATUS'
Processing: 'GET_MONITOR_STATUS'
Got 1 monitors
Processing: 'GET_ALARM_STATES'
Processing: 'GET_ALARM_STATES'
Processing: 'GET_ALARM_STATES'
Processing: 'GET_LIVE_FRAME'
Kicking database connection
Getting live frame from monitor: 2 # this is where I get into Live View
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_ALARM_STATES'
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_ALARM_STATES'
Processing: 'GET_LIVE_FRAME'
Getting live frame from monitor: 2
Processing: 'GET_LIVE_FRAME'
...
More information about the mythtv-users
mailing list