Commit Graph

20023 Commits

Author SHA1 Message Date
Isaac Connor 2bd85089f4 Put integers in quotes as well. Proper JSON has all values in quotes. This is important because integers like 0123 are invalid 2022-02-26 18:25:51 -05:00
Isaac Connor 6fc5803e16 Add another clearInterval to prevent looping during window.location 2022-02-25 15:54:56 -05:00
Isaac Connor 9b0714d20d Fix use of value instead of val in filter term 2022-02-25 14:14:02 -05:00
Isaac Connor 813fd36b0a clearInterval when location.replacing so that timer stops. Prevents infinite loop 2022-02-25 14:13:18 -05:00
Isaac Connor 372e493b9c
Merge pull request #3442 from BHMSD-bdailey/lazy-load-images
Lazy load images
2022-02-22 08:57:49 -05:00
Ben Dailey b2428b5522 Merge branch 'master' into lazy-load-images 2022-02-22 08:47:26 -05:00
Isaac Connor 831dca814f Include EndDateTimeShort in event stats 2022-02-22 08:31:41 -05:00
Isaac Connor dfb6a96b42 Handle empty endtime more gracefully. If there is a next event just jump to it. 2022-02-22 08:31:41 -05:00
Isaac Connor 959b08f46a Include EndDateTimeShort in event ajax response 2022-02-22 08:31:41 -05:00
Isaac Connor 347d3c08b6 Spacing, remove dead code, add comments. When implementing CLOSE_ALARM mode, check Alarm Frames against alarm_frame_count instead of 0. 2022-02-22 08:31:41 -05:00
Isaac Connor 968acc2d43 Rework to remove static temp_img_buffer. Is now a class member. Must be allocated as needed. 2022-02-22 08:31:41 -05:00
Isaac Connor 26d89292d7 Rework to remove static temp_img_buffer. Is now a class member. Must be allocated as needed. 2022-02-22 08:31:41 -05:00
Isaac Connor e9b3269278 cleanup and add fallback to read/write if no sendfile support. 2022-02-22 08:31:41 -05:00
Isaac Connor 00b4ed9c53 Rework to remove static temp_img_buffer. Is now a class member. Must be allocated as needed. Use new reworked zm_sendfile and handle if not all bytes are sent. Fixes #3437. 2022-02-22 08:31:41 -05:00
Isaac Connor d7c8e32ec9 Remove non-translations 2022-02-22 08:31:41 -05:00
Isaac Connor 0da942a14b rework zm_sendfile to try again if not all bytes were sent. According to the docs, this is entirely possible. 2022-02-22 08:31:41 -05:00
Isaac Connor 88a68af775 DefaultCodec is for event view, not live 2022-02-22 08:31:41 -05:00
Isaac Connor cf7b3b9f9f DefaultCodec is for event view, not live 2022-02-22 08:31:41 -05:00
Andrew Bauer bcd590aede use rockylinux:8 container for ci workflow 2022-02-22 08:31:41 -05:00
Andrew Bauer b5e2cb4220 include arp-scan polkit files in rpm 2022-02-22 08:31:41 -05:00
Andrew Bauer 2c7e90d61d bump rpm specfile rtsp commit
anytime the rtsp commit is bumped in packpack, it must also be bumped in the rpm specfile
2022-02-22 08:31:41 -05:00
Isaac Connor 3a2e5a580b Debug the contents of REQUEST on every hit. 2022-02-22 08:31:41 -05:00
Isaac Connor 5aef8408a4 serialize form instead of just passing filter id because the modal can now handle unsaved filters 2022-02-22 08:31:41 -05:00
Isaac Connor b32164e992 Add handling of NOT IN and =\[\] and \!\[\] 2022-02-22 08:31:41 -05:00
Isaac Connor e523777ece Sync up n_frames, frame_count, curr_frame_id on int instead of a mix of long int, int and unsigned long int 2022-02-22 08:31:41 -05:00
Ben Dailey e4f5f59e8d 3 more img tags 2022-02-22 08:31:41 -05:00
Ben Dailey ce267c7e3c Most programmatic images are lazy. 2022-02-22 08:31:02 -05:00
Isaac Connor fc21fb643e Release lock before notify 2022-02-20 10:33:13 -05:00
Isaac Connor 02ccf13c7b Merge branch 'master' of github.com:ZoneMinder/zoneminder 2022-02-20 10:32:43 -05:00
Isaac Connor b896974a29 Should get lock before testing for connected 2022-02-20 10:32:40 -05:00
Isaac Connor f4412c81d1
Merge pull request #3441 from peat-psuwit/for-upstream/dbqueue-stop-mutex
db: fix dead lock in zmDbQueue::stop()
2022-02-20 10:32:19 -05:00
Ratchanan Srirattanamet ebe502a747 db: fix dead lock in zmDbQueue::stop()
Notifying `mCondition` without taking the lock causes a race condition
in ::process() between checking `mTerminate` and waiting for the
`mCondition`, which causes a dead lock. This commit moves writing to
`mTerminate` and notifying `mCondition` under the lock to eliminate race
condition and dead lock.

This is not theoretical. It has caused zmu to hang at exit on a
Raspberry Pi 4, exhuasting PHP-FPM process pool. The stacks below are
captured when running ZoneMinder 1.36.12-focal1 on Ubuntu 20.04:

(gdb) thread apply all bt

Thread 2 (Thread 0xffff80c1c880 (LWP 259988)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0xaaaae0584e80 <dbQueue+176>) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0xaaaae0584e28 <dbQueue+88>, cond=0xaaaae0584e58 <dbQueue+136>) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0xaaaae0584e58 <dbQueue+136>, mutex=0xaaaae0584e28 <dbQueue+88>) at pthread_cond_wait.c:638
#3  0x0000ffff8700d670 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /lib/aarch64-linux-gnu/libstdc++.so.6
#4  0x0000aaaae0438f08 in zmDbQueue::process (this=0xaaaae0584dd0 <dbQueue>) at ./src/zm_db.cpp:250
#5  0x0000ffff87013fac in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
#6  0x0000ffff891264fc in start_thread (arg=0xffffe60d84bf) at pthread_create.c:477
#7  0x0000ffff86dd767c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78

Thread 1 (Thread 0xffff80c23010 (LWP 259987)):
#0  __pthread_clockjoin_ex (threadid=281472841926784, thread_return=0x0, clockid=0, abstime=<optimized out>, block=<optimized out>) at pthread_join_common.c:145
#1  0x0000ffff87014240 in std:🧵:join() () from /lib/aarch64-linux-gnu/libstdc++.so.6
#2  0x0000aaaae04314d0 in exit_zmu (exit_code=0) at ./src/zmu.cpp:200
#3  0x0000aaaae042f4c8 in main (argc=<optimized out>, argv=<optimized out>) at ./src/zmu.cpp:797
2022-02-20 09:58:03 +00:00
Isaac Connor fe69261f10 Include MonitorId as second argument of EventStartCommand and EventEndCOmmand at @baudneo's request. 2022-02-19 15:33:05 -05:00
Isaac Connor dc8f1bc8ed Set shared_data->score before state transitions so that linked monitors pick it up. Should help with missed linked events 2022-02-18 17:44:23 -05:00
Isaac Connor fc541ac57d fix potential double lock of jpeg mutex 2022-02-18 17:11:18 -05:00
Isaac Connor 1a54a96c04 Improve title on alarm buttons when we don't have permission. Move onclick from data-on-click to setup in initPage only if permitted 2022-02-18 17:11:18 -05:00
Isaac Connor 002b2c39aa fix button assignments. Don't abort ajax, as it might be important 2022-02-18 17:11:18 -05:00
Isaac Connor 28f3cb18e4 Make std function warning into a debug. Warning will happen if they are actually used 2022-02-18 15:59:00 -05:00
Isaac Connor adf8413333 Include EndDateTimeShort in event stats 2022-02-17 13:31:25 -05:00
Isaac Connor 8dedac1a21 Handle empty endtime more gracefully. If there is a next event just jump to it. 2022-02-17 13:30:50 -05:00
Isaac Connor 909c0e903f Include EndDateTimeShort in event ajax response 2022-02-17 13:30:01 -05:00
Isaac Connor b9e6cf8038 Spacing, remove dead code, add comments. When implementing CLOSE_ALARM mode, check Alarm Frames against alarm_frame_count instead of 0. 2022-02-16 17:27:17 -05:00
Isaac Connor c9de883a7c Rework to remove static temp_img_buffer. Is now a class member. Must be allocated as needed. 2022-02-16 14:18:37 -05:00
Isaac Connor 67563737c3 Rework to remove static temp_img_buffer. Is now a class member. Must be allocated as needed. 2022-02-16 14:16:46 -05:00
Isaac Connor 243c780a6a cleanup and add fallback to read/write if no sendfile support. 2022-02-16 14:16:25 -05:00
Isaac Connor 2336926d90 Rework to remove static temp_img_buffer. Is now a class member. Must be allocated as needed. Use new reworked zm_sendfile and handle if not all bytes are sent. Fixes #3437. 2022-02-16 14:16:01 -05:00
Isaac Connor f3d3cad419 Remove non-translations 2022-02-16 09:59:48 -05:00
Isaac Connor 2d3f99eabb rework zm_sendfile to try again if not all bytes were sent. According to the docs, this is entirely possible. 2022-02-16 09:59:48 -05:00
Isaac Connor 055414c778 DefaultCodec is for event view, not live 2022-02-16 09:59:48 -05:00
Isaac Connor 93ab345a3a DefaultCodec is for event view, not live 2022-02-16 09:59:48 -05:00