zmc: malloc(): memory corruption.

Support and queries relating to all previous versions of ZoneMinder
Locked
waydenie
Posts: 3
Joined: Mon Feb 20, 2006 3:25 am
Location: Canada

zmc: malloc(): memory corruption.

Post by waydenie »

Hello,

I'm trying to run ZM 1.22.0 on a fresh FC4 box (PII/400, 768Mb RAM) with a Logitech QuickCam Communicate STX (spca5xx drivers). The cam appears to work with spcaview and xawtv.

When ZM is started, zmc crashes, is restarted, crashes, etc... Each crash dumps a backtrace to the screen. When zmc is run on it's own it also crashes with the following backtrace...

Has anyone seen this before? Am I doing something dumb? Can anyone suggest where to look further?

Thanks,
Wayde.

# su apache --shell=/bin/sh -c '/usr/local/bin/zmc -d /dev/video0'
*** glibc detected *** /usr/local/bin/zmc: malloc(): memory corruption: 0x0f0be400 ***
======= Backtrace: =========
/lib/libc.so.6[0x5b80ea]
/lib/libc.so.6(malloc+0x74)[0x5b9492]
/usr/lib/libstdc++.so.6(_Znwj+0x26)[0x2ad1626]
/usr/lib/libstdc++.so.6(_Znaj+0x1d)[0x2ad173d]
/usr/local/bin/zmc[0x804d19e]
/usr/local/bin/zmc[0x8055808]
/usr/local/bin/zmc[0x8055f7d]
/usr/local/bin/zmc[0x8062d7b]
/usr/local/bin/zmc[0x804ac63]
/lib/libc.so.6(__libc_start_main+0xdf)[0x568d5f]
/usr/local/bin/zmc(__gxx_personality_v0+0xa1)[0x804a3a9]
======= Memory map: ========
00111000-00134000 r-xp 00000000 fd:00 175560 /lib/libm-2.3.5.so
00134000-00135000 r-xp 00022000 fd:00 175560 /lib/libm-2.3.5.so
00135000-00136000 rwxp 00023000 fd:00 175560 /lib/libm-2.3.5.so
0017b000-00273000 r-xp 00000000 fd:00 300412 /lib/libcrypto.so.0.9.7f
00273000-00285000 rwxp 000f8000 fd:00 300412 /lib/libcrypto.so.0.9.7f
00285000-00288000 rwxp 00285000 00:00 0
0028a000-002bf000 r-xp 00000000 fd:00 300413 /lib/libssl.so.0.9.7f
002bf000-002c2000 rwxp 00035000 fd:00 300413 /lib/libssl.so.0.9.7f
002c4000-00309000 r-xp 00000000 fd:00 526529 /usr/lib/mysql/libmysqlclient.so.14.0.0
00309000-003e3000 rwxp 00045000 fd:00 526529 /usr/lib/mysql/libmysqlclient.so.14.0.0
003e3000-003e6000 rwxp 003e3000 00:00 0
00418000-00429000 r-xp 00000000 fd:00 238201 /lib/libpcre.so.0.0.1
00429000-0042a000 rwxp 00010000 fd:00 238201 /lib/libpcre.so.0.0.1
00536000-00550000 r-xp 00000000 fd:00 175557 /lib/ld-2.3.5.so
00550000-00551000 r-xp 00019000 fd:00 175557 /lib/ld-2.3.5.so
00551000-00552000 rwxp 0001a000 fd:00 175557 /lib/ld-2.3.5.so
00554000-00677000 r-xp 00000000 fd:00 238194 /lib/libc-2.3.5.so
00677000-00679000 r-xp 00123000 fd:00 238194 /lib/libc-2.3.5.so
00679000-0067b000 rwxp 00125000 fd:00 238194 /lib/libc-2.3.5.so
0067b000-0067d000 rwxp 0067b000 00:00 0
0067f000-00681000 r-xp 00000000 fd:00 175559 /lib/libdl-2.3.5.so
00681000-00682000 r-xp 00001000 fd:00 175559 /lib/libdl-2.3.5.so
00682000-00683000 rwxp 00002000 fd:00 175559 /lib/libdl-2.3.5.so
006a3000-006a4000 r-xp 006a3000 00:00 0 [vdso]
006ac000-006be000 r-xp 00000000 fd:00 492855 /usr/lib/libz.so.1.2.2.2
006be000-006bf000 rwxp 00011000 fd:00 492855 /usr/lib/libz.so.1.2.2.2
00710000-0071f000 r-xp 00000000 fd:00 175562 /lib/libresolv-2.3.5.so
0071f000-00720000 r-xp 0000e000 fd:00 175562 /lib/libresolv-2.3.5.so
00720000-00721000 rwxp 0000f000 fd:00 175562 /lib/libresolv-2.3.5.so
00721000-00723000 rwxp 00721000 00:00 0
00810000-00812000 r-xp 00000000 fd:00 175564 /lib/libcom_err.so.2.1
00812000-00813000 rwxp 00001000 fd:00 175564 /lib/libcom_err.so.2.1
00815000-0082c000 r-xp 00000000 fd:00 506184 /usr/lib/libgssapi_krb5.so.2.2
0082c000-0082d000 rwxp 00017000 fd:00 506184 /usr/lib/libgssapi_krb5.so.2.2
00978000-0097a000 r-xp 00000000 fd:00 496512 /usr/lib/libkrb5support.so.0.0
0097a000-0097b000 rwxp 00001000 fd:00 496512 /usr/lib/libkrb5support.so.0.0
0097d000-009a0000 r-xp 00000000 fd:00 506150 /usr/lib/libk5crypto.so.3.0
009a0000-009a1000 rwxp 00023000 fd:00 506150 /usr/lib/libk5crypto.so.3.0
009a3000-00a12000 r-xp 00000000 fd:00 506151 /usr/lib/libkrb5.so.3.2
00a12000-00a15000 rwxp 0006e000 fd:00 506151 /usr/lib/libkrb5.so.3.2
00cb2000-00cbb000 r-xp 00000000 fd:00 163892 /lib/libnss_files-2.3.5.so
00cbb000-00cbc000 r-xp 00008000 fd:00 163892 /lib/libnss_files-2.3.5.so
00cbc000-00cbd000 rwxp 00009000 fd:00 163892 /lib/libnss_files-2.3.5.so
00d3b000-00d59000 r-xp 00000000 fd:00 516447 /usr/lib/libjpeg.so.62.0.0
00d59000-00d5a000 rwxp 0001d000 fd:00 516447 /usr/lib/libjpeg.so.62.0.0
00dd9000-00de2000 r-xp 00000000 fd:00 300410 /lib/libgcc_s-4.0.2-20051126.so.1
00de2000-00de3000 rwxp 00009000 fd:00 300410 /lib/libgcc_s-4.0.2-20051126.so.1
00de5000-00df7000 r-xp 00000000 fd:00 300409 /lib/libnsl-2.3.5.so
00df7000-00df8000 r-xp 00011000 fd:00 300409 /lib/libnsl-2.3.5.so
00df8000-00df9000 rwxp 00012000 fd:00 300409 /lib/libnsl-2.3.5.so
00df9000-00dfb000 rwxp 00df9000 00:00 0
02a26000-02afb000 r-xp 00000000 fd:00 511953 /usr/lib/libstdc++.so.6.0.7
02afb000-02b00000 rwxp 000d5000 fd:00 511953 /usr/lib/libstdc++.so.6.0.7
02b00000-02b05000 rwxp 02b00000 00:00 0
02b07000-02b0c000 r-xp 00000000 fd:00 238200 /lib/libcrypt-2.3.5.so
02b0c000-02b0d000 r-xp 00004000 fd:00 238200 /lib/libcrypt-2.3.5.so
02b0d000-02b0e000 rwxp 00005000 fd:00 238200 /lib/libcrypt-2.3.5.so
02b0e000-02b35000 rwxp 02b0e000 00:00 0
08048000-08071000 r-xp 00000000 fd:02 327683 /usr/local/bin/zmc
08071000-0807b000 rw-p 00029000 fd:02 327683 /usr/local/bin/zmc
0807b000-0dab5000 rw-p 0807b000 00:00 0
0f0b1000-0f0fc000 rw-p 0f0b1000 00:00 0 [heap]
b7500000-b7521000 rw-p b7500000 00:00 0
b7521000-b7600000 ---p b7521000 00:00 0
b76aa000-b7c29000 rw-s 00000000 00:07 2424833 /SYSV7a6d2001 (deleted)
b7c29000-b7c9b000 rw-p b7c29000 00:00 0
b7c9b000-b7ef4000 rw-s 00000000 00:0f 4010 /dev/video0
b7ef4000-b7efa000 rw-p b7ef4000 00:00 0
bf9ef000-bfa05000 rw-p bf9ef000 00:00 0 [stack]
--
Wayde Nie
User avatar
cordel
Posts: 5210
Joined: Fri Mar 05, 2004 4:47 pm
Location: /USA/Washington/Seattle

Post by cordel »

Yes, I have seen this and if I recall it was the result of putting invalid information or the lack there of when setting up the monitor.
Delete the monitor, and create it again with valid information.

Phil is working on 1.22.1 that will check to make sure that the values entered are valid and sanitized before it will save.

Regards,
Corey
waydenie
Posts: 3
Joined: Mon Feb 20, 2006 3:25 am
Location: Canada

Post by waydenie »

Thanks for the reply, this brings me to my next problem ;)

I can't seem to delete monitors... When I select (mark) a monitor to delete, the delete button becomes available ("un-greys"), then I click the delete button, the screen refreshes but the monitor hasn't been deleted.

Is there a way to delete the monitor besides the web GUI? Would it be easiest to just dump the db and recreate? I'm not too far into this yet, so that is workable for now...

Thanks,
--
Wayde Nie
User avatar
zoneminder
Site Admin
Posts: 5215
Joined: Wed Jul 09, 2003 2:07 pm
Location: Bristol, UK
Contact:

Post by zoneminder »

This is a bug that is fixed in 1.22.1. There is a patch posted on the forums I think, otherwise just deleting the row from the Monitors db table should be fine.
Phil
semotta
Posts: 20
Joined: Wed Jun 29, 2005 11:39 pm
Location: Sao Paulo, Brazil

Post by semotta »

Hi,

I've the same problem: malloc(): memory corruption (ZM 1.22.0, fresh FC4 instalation, bt878)
cordel wrote:Yes, I have seen this and if I recall it was the result of putting invalid information or the lack there of when setting up the monitor.
Delete the monitor, and create it again with valid information.
I've deleted all monitors,created again, problem persists.

What information from Monitors could be invalid? Device Path, channel, fps, things like this?

Thanks.
semotta
Posts: 20
Joined: Wed Jun 29, 2005 11:39 pm
Location: Sao Paulo, Brazil

Post by semotta »

semotta wrote: I've the same problem: malloc(): memory corruption (ZM 1.22.0, fresh FC4 instalation, bt878)
Well, I decided to install zm from scratch, took off bt878 card (which is 4 port) and tried
with a plus simple device, a spca5xx USB webcam.

Command "zmc -d /dev/video0" continued crashing due to memory error until I lowered fps and buffer size. Now it's working.

waydenie, have you tried "conservative" settings for the Monitor?
waydenie
Posts: 3
Joined: Mon Feb 20, 2006 3:25 am
Location: Canada

Post by waydenie »

Well, I decided to install zm from scratch, took off bt878 card (which is 4 port) and tried
with a plus simple device, a spca5xx USB webcam.

Command "zmc -d /dev/video0" continued crashing due to memory error until I lowered fps and buffer size. Now it's working.

waydenie, have you tried "conservative" settings for the Monitor?
I ended up reinstalling from scratch too... Then when I created my monitor, I used one of the 'preconfigured' (I think that's what they called it, I don't have access to my zoneminder installation right now). Then modified it to connect to my actual webcam.

I don't know if I had to go that route, but I figured if I could find a preconfig monitor that was close to what I needed, then I could modify it and shouldn't have any 'missing' settings... It seemed to work and so I moved on ;)

After that things worked, but my poor little PII/400 was pretty busy... I tuned down the fps and the buffer sizes and things continued to work, but I really can't squeeze it down enough for it to be usable on this little box...

Does anyone else run zoneminder on 'lean' hardware?

Thanks,
Wayde.
--
Wayde Nie
Locked