Page 1 of 1

zmtrigger.pl crash

Posted: Thu Aug 11, 2011 12:42 pm
by pakojones
Hi,

This is my first post on the forum, I am trying to set up a zoneminder with 3 Axis IP cameras, but I am having some problems.

The data of the server where i run zoneminder is:

CPU Core Duo
1 GB RAM
Linux distro: Ubuntu 11.04 server
ZoneMinder 1.24.4

sysctl.conf:
kernel.shmmax=5637880627
kernel.shmall=1529373

The cameras are configured to send a TCP message (1|on+1|5|Alarm|Alarm|Alarm) to zoneminder in case of alarm, but the script zmtrigger.pl crash randomly with this message:

variable is not a string at /usr/share/perl5/ZoneMinder/Memory/Mapped.pm line 109.

Thanks for any reply :-)

Re: zmtrigger.pl crash

Posted: Fri Oct 28, 2011 6:10 pm
by rbauer_snow
I am also experiencing this. Using CentOS 5.7 x64, perl 5.8.8.

I have several Axis cameras, but only one is currently set to send event notifications to zmtrigger via TCP. zmtrigger works for a few minutes, but always crashes after that. I have not been able to pin it to a certain event.

I have traced the error to a call to zmMemInvalidate in zmtrigger.pl, at line 290. Here is the %monitors hash dumped just before the foreach loop that calls zmMemInvalidate:

Code: Select all

$VAR1 = {
          10 => {
                  'ControlId' => 0,
                  'Contrast' => -1,
                  'LinkedMonitors' => '',
                  'MMap' => \'H""¶îªN¶îªN@øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,modect[1] DefaultWindow',
                  'Format' => 0,
                  'Function' => 'Nodect',
                  'LastState' => 2,
                  'Controllable' => 0,
                  'Type' => 'Remote',
                  'Device' => '/dev/video',
                  'AlarmMaxFPS' => '0.00',
                  'Colour' => -1,
                  'SignalCheckColour' => '#0100BE',
                  'DefaultView' => 'Events',
                  'FrameSkip' => 0,
                  'LabelY' => 0,
                  'Method' => 'simple',
                  'Enabled' => 1,
                  'Height' => 480,
                  'RefBlendPerc' => 7,
                  'FPSReportInterval' => 1000,
                  'ImageBufferCount' => 40,
                  'Path' => '/axis-cgi/mjpg/video.cgi?resolution=640x480&fps=5',
                  'Host' => 'username:password@camera.domain.name',
                  'PostEventCount' => 10,
                  'WarmupCount' => 25,
                  'PreEventCount' => 10,
                  'MMapAddr' => '46996356755456',
                  'Triggers' => '',
                  'Width' => 640,
                  'LabelX' => 0,
                  'AlarmFrameCount' => 1,
                  'DefaultScale' => 100,
                  'SubPath' => '',
                  'Brightness' => -1,
                  'MMapHandle' => \*ZoneMinder::Memory::Mapped::MMAP,
                  'Hue' => -1,
                  'StreamReplayBuffer' => 1000,
                  'DefaultRate' => 100,
                  'TrackDelay' => 0,
                  'EventPrefix' => 'Event-',
                  'SectionLength' => 600,
                  'WebColour' => 'red',
                  'Palette' => 3,
                  'ReturnDelay' => 0,
                  'MaxFPS' => '0.00',
                  'Id' => 10,
                  'ReturnLocation' => -1,
                  'ControlDevice' => undef,
                  'Port' => 80,
                  'Channel' => 0,
                  'LastEvent' => 194624,
                  'LabelFormat' => '%N - %y/%m/%d %H:%M:%S',
                  'Orientation' => 0,
                  'TrackMotion' => 0,
                  'AutoStopTimeout' => undef,
                  'Protocol' => 'http',
                  'ControlAddress' => undef,
                  'Name' => 'N_OFFICE_TEMP',
                  'Sequence' => 9
                }
        };
Thanks for any help!