1 |
On 2022-09-18, William Kenworthy wrote: |
2 |
|
3 |
> Hi, I am setting up some cameras (esp32cam) and intended to use |
4 |
> motion for them but it crashes on startup with a realloc() error. The |
5 |
> system is an up to date arm64 (odroid N2+), mostly stable. Has anyone |
6 |
> seen this before? |
7 |
> |
8 |
> BillK |
9 |
> |
10 |
> |
11 |
> ha /etc/motion # /usr/bin/motion -c /etc/motion/motion.conf -k 9 -d 9 |
12 |
> [0:motion] [NTC] [ALL] conf_load: Processing thread 0 - config file |
13 |
> /etc/motion/motion.conf |
14 |
> [0:motion] [NTC] [ALL] config_camera: Processing camera config file |
15 |
> /etc/motion/camera0.conf |
16 |
> [0:motion] [NTC] [ALL] read_camera_dir: Processing config file |
17 |
> /etc/motion/motion.conf |
18 |
> [0:motion] [NTC] [ALL] config_camera: Processing camera config file |
19 |
> /etc/motion/motion.conf |
20 |
> realloc(): invalid old size |
21 |
> Aborted |
22 |
|
23 |
Could you try to get a stack trace from that? |
24 |
|
25 |
|
26 |
I've never used "motion" and I don't know its source code, but [1] makes |
27 |
me wonder if the failure could be happening in [2]. |
28 |
|
29 |
OTOH, from the output, "motion" has entered config_camera() and gone |
30 |
beyond [2] a second time before the realloc() abort - but could these |
31 |
two calls have received the same cnt? |
32 |
|
33 |
From my very little understanding of the code and from your output, it |
34 |
looks like "motion" might be processing motion.conf twice (the |
35 |
"Processing thread 0 [...]" line precedes a call to conf_process(), as |
36 |
does "Processing camera config file"). Is this intended? |
37 |
|
38 |
[1] https://github.com/Motion-Project/motion/blob/HEAD/src/conf.c#L3204 |
39 |
[2] https://github.com/Motion-Project/motion/blob/HEAD/src/conf.c#L3180 |
40 |
|
41 |
(Links are to HEAD, as that's what I started reading.) |
42 |
|
43 |
-- |
44 |
Nuno Silva |