Koepi
Posts: 68
Joined: Fri Apr 29, 2016 7:18 am

CamV2: raspistill stops working after some time ENOSPC

Wed May 11, 2016 10:24 am

Hi 6of9,

now it happened again, but this time I have debugging activated as stated here:
viewtopic.php?p=970706#p970706

Last snapshot worked at 11:14h.

uptime:

Code: Select all

12:21:56 up 17:50,  1 user,  load average: 0,04, 0,07, 0,05
Output of sudo vcdbg log assert:

Code: Select all

3903607.244: assert( limit_turbo == last_limit_turbo && arm_freq_cap == last_arm_freq_cap ) failed; ../../../../../helpers/arm_loader/arm_loader.c::tempcheck_task line 3090
3920230.887: assert( open_camera_driver: camera open failed ) failed; ../../../../../middleware/camplus/cdi/cdi_camera.c::open_camera_driver line 716
3920230.922: assert( cdi_camera_open: Failed to open camera driver/perihperal ) failed; ../../../../../middleware/camplus/cdi/cdi_camera.c::cdi_camera_open line 541
3920230.978: assert( retcode == 0 ) failed; ../../../../../middleware/openmaxil/components/camera.c::load_and_open_cdi line 11811
3920239.575: assert( id->cdi!=NULL && id->cdi_handle!=NULL ) failed; ../../../../../middleware/openmaxil/components/camera.c::open_camplus line 11187
3928637.301: assert( limit_turbo == last_limit_turbo && arm_freq_cap == last_arm_freq_cap ) failed; ../../../../../helpers/arm_loader/arm_loader.c::tempcheck_task line 3090
3928837.710: assert( limit_turbo == last_limit_turbo && arm_freq_cap == last_arm_freq_cap ) failed; ../../../../../helpers/arm_loader/arm_loader.c::tempcheck_task line 3090
3980780.092: assert( open_camera_driver: camera open failed ) failed; ../../../../../middleware/camplus/cdi/cdi_camera.c::open_camera_driver line 716
3980780.146: assert( cdi_camera_open: Failed to open camera driver/perihperal ) failed; ../../../../../middleware/camplus/cdi/cdi_camera.c::cdi_camera_open line 541
3980780.191: assert( retcode == 0 ) failed; ../../../../../middleware/openmaxil/components/camera.c::load_and_open_cdi line 11811
3980802.437: assert( id->cdi!=NULL && id->cdi_handle!=NULL ) failed; ../../../../../middleware/openmaxil/components/camera.c::open_camplus line 11187
3984806.096: assert( limit_turbo == last_limit_turbo && arm_freq_cap == last_arm_freq_cap ) failed; ../../../../../helpers/arm_loader/arm_loader.c::tempcheck_task line 3090
I hope this helps getting down to the root cause.

I'll restart the machine now so the timelapse photos get continued - possible thanks to the Wifi Switch :)

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23365
Joined: Sat Jul 30, 2011 7:41 pm

Re: CamV2: raspistill stops working after some time ENOSPC

Wed May 11, 2016 10:44 am

Do you have logs of the memory allocations?
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
"My grief counseller just died, luckily, he was so good, I didn't care."

naushir
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 10
Joined: Mon Apr 25, 2016 10:21 am

Re: CamV2: raspistill stops working after some time ENOSPC

Wed May 11, 2016 10:52 am

Hi James, probably not related to memory allocs, they were provided in another thread and nothing suspicious there.

I suspect it might be an I2C issue during camera probe:

Code: Select all

3980780.092: assert( open_camera_driver: camera open failed ) failed; ../../../../../middleware/camplus/cdi/cdi_camera.c::open_camera_driver line 716
Although, I don't think the sensor probe is failing, rather another module on the board. Will have to add some more logging to verify. However, I did not see this error on my device with approx 1000 iterations of raspistill running... strange.

Koepi
Posts: 68
Joined: Fri Apr 29, 2016 7:18 am

Re: CamV2: raspistill stops working after some time ENOSPC

Wed May 11, 2016 11:22 am

Just in case James wants to have another look - the other logs can be found here:
viewtopic.php?p=970679#p970679

A few posts earlier the same logs from yet another "camera crash".
viewtopic.php?p=970472#p970472

Now all info currently available should be accessable.

Edit: @naushir: I use the cam on a RasPi A+ with Jessie Light, all available updates and latest firmware installed.
Maybe the bigger memory of the other Pi models makes this error not to appear. I use all standard settings, only added a DS3231 RTC via DS1307 module permanently as hardware clock to the kernel.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7140
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: CamV2: raspistill stops working after some time ENOSPC

Wed May 11, 2016 11:38 am

I agree with Naush - it's failing to open the camera driver for some reason. We can throw in a couple more asserts/logging to track down why.
Is this using the standard camera flex or a longer one? External noise may be having an effect, although I2C is normally pretty robust.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

Koepi
Posts: 68
Joined: Fri Apr 29, 2016 7:18 am

Re: CamV2: raspistill stops working after some time ENOSPC

Wed May 11, 2016 12:00 pm

It's the short standard cable that came with the camera module.

Is the I2C bus on the CSI shared with the hardware i2c GPIOs on the GPIO header?
I could move my I2C devices to other Pins and use the kernel i2c bitbang driver to access those to rule out distortions from them.
But then, with the old V1 cam this didn't happen with the same setup, ran stable for months.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23365
Joined: Sat Jul 30, 2011 7:41 pm

Re: CamV2: raspistill stops working after some time ENOSPC

Wed May 11, 2016 12:21 pm

Koepi wrote:It's the short standard cable that came with the camera module.

Is the I2C bus on the CSI shared with the hardware i2c GPIOs on the GPIO header?
I could move my I2C devices to other Pins and use the kernel i2c bitbang driver to access those to rule out distortions from them.
But then, with the old V1 cam this didn't happen with the same setup, ran stable for months.
For debugging purposes, can you remove all other I2C devices completely and see if the problem still occurs? Might narrow things down a bit. Wasn't aware you had other devices attached, so that's defo. a smoking gun of sorts.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
"My grief counseller just died, luckily, he was so good, I didn't care."

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7140
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: CamV2: raspistill stops working after some time ENOSPC

Wed May 11, 2016 12:34 pm

The camera module (v1 or v2) uses i2c-0 for comms, typically on GPIOS 28&29 (Pi A+/B+/2/3), so they go nowhere near the 26 or 40 pin GPIO header. It is shared by the Official Display if you're using one of those, but there is arbitration to avoid simultaneous access. If you're using i2c-0 on GPIOs 0&1 (available on the 40 pin header), then all bets are off and I can believe things will screw up.

Using i2c-1 for your own devices (probably via GPIOs 2&3) should be perfectly safe.

From the report, there is a strong indication as to where the initialisation is failing, but under those conditions it should only fail the one run and work on subsequent ones. We'll investigate why it seemingly totally borks the camera system and requires a reboot - that really shouldn't happen.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

Koepi
Posts: 68
Joined: Fri Apr 29, 2016 7:18 am

Re: CamV2: raspistill stops working after some time ENOSPC

Wed May 11, 2016 12:57 pm

Thank you.

Those devices are on standard i2c-1 bus on GPIO 2+3. From my experience with µCs independant, separated i2c busses don't interfere, thus I agree with 6by9: Safe.

Interestingly, i2c-0 doesn't seem to be available / exposed at all:

Code: Select all

 sudo i2cdetect -y 0
Error: Could not open file `/dev/i2c-0' or `/dev/i2c/0': No such file or directory
But as it is accessed within kernel infrastructure itself this may mean nothing, no clue if and what kind of pipes, semaphores or whatever is used.

Code: Select all

sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- 23 -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
70: -- -- -- -- -- -- 76 --
UU is the DS3231 linked with module into kernel space and thus "in use".
The other devices are off-the-shelf BH1750 and BME280 sensors (low power, very robust and properly speaking i2c).

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7140
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: CamV2: raspistill stops working after some time ENOSPC

Wed May 11, 2016 1:20 pm

Koepi wrote:But as it is accessed within kernel infrastructure itself this may mean nothing, no clue if and what kind of pipes, semaphores or whatever is used.
i2c-0 is accessed directly from the GPU with no arbitration from the kernel - that's why all bets are off if you were using that.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7140
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: CamV2: raspistill stops working after some time ENOSPC

Wed May 11, 2016 3:50 pm

A quick check on my system shows that a failure to find the sensor should be temporary - it doesn't lock the GPU up and exits cleanly.
It's not clear how your system can get into a totally jammed state.

Could you post the output from "sudo raspi-gpio get" when your system has died? ("sudo apt-get install raspi-gpio" first if necessary) It's just possible that pinmuxing has screwed up and is causing the I2C to fail.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

Koepi
Posts: 68
Joined: Fri Apr 29, 2016 7:18 am

Re: CamV2: raspistill stops working after some time ENOSPC

Thu May 12, 2016 8:34 am

It crashed again ... I also tried another power supply to definately rule that out as source.

Edit: Left coloumn after crash, right coloumn from "working state".

Code: Select all

[email protected]:~ $ sudo raspi-gpio get
BANK0 (GPIO 0 to 27):
  GPIO 00: level=1 fsel=0 alt=  func=INPUT            GPIO 00: level=1 fsel=0 alt=  func=INPUT
  GPIO 01: level=1 fsel=0 alt=  func=INPUT            GPIO 01: level=1 fsel=0 alt=  func=INPUT
  GPIO 02: level=1 fsel=4 alt=0 func=SDA1             GPIO 02: level=1 fsel=4 alt=0 func=SDA1
  GPIO 03: level=1 fsel=4 alt=0 func=SCL1             GPIO 03: level=1 fsel=4 alt=0 func=SCL1
  GPIO 04: level=1 fsel=0 alt=  func=INPUT            GPIO 04: level=1 fsel=0 alt=  func=INPUT
  GPIO 05: level=1 fsel=0 alt=  func=INPUT            GPIO 05: level=1 fsel=0 alt=  func=INPUT
  GPIO 06: level=1 fsel=0 alt=  func=INPUT            GPIO 06: level=1 fsel=0 alt=  func=INPUT
  GPIO 07: level=1 fsel=0 alt=  func=INPUT            GPIO 07: level=1 fsel=0 alt=  func=INPUT
  GPIO 08: level=1 fsel=0 alt=  func=INPUT            GPIO 08: level=1 fsel=0 alt=  func=INPUT
  GPIO 09: level=0 fsel=0 alt=  func=INPUT            GPIO 09: level=0 fsel=0 alt=  func=INPUT
  GPIO 10: level=0 fsel=0 alt=  func=INPUT            GPIO 10: level=0 fsel=0 alt=  func=INPUT
  GPIO 11: level=0 fsel=0 alt=  func=INPUT            GPIO 11: level=0 fsel=0 alt=  func=INPUT
  GPIO 12: level=0 fsel=0 alt=  func=INPUT            GPIO 12: level=0 fsel=0 alt=  func=INPUT
  GPIO 13: level=0 fsel=0 alt=  func=INPUT            GPIO 13: level=0 fsel=0 alt=  func=INPUT
  GPIO 14: level=1 fsel=4 alt=0 func=TXD0            GPIO 14: level=1 fsel=4 alt=0 func=TXD0
  GPIO 15: level=1 fsel=4 alt=0 func=RXD0            GPIO 15: level=1 fsel=4 alt=0 func=RXD0
  GPIO 16: level=1 fsel=1 alt=  func=OUTPUT           GPIO 16: level=1 fsel=1 alt=  func=OUTPUT
  GPIO 17: level=0 fsel=0 alt=  func=INPUT            GPIO 17: level=0 fsel=0 alt=  func=INPUT
  GPIO 18: level=0 fsel=0 alt=  func=INPUT            GPIO 18: level=0 fsel=0 alt=  func=INPUT
  GPIO 19: level=0 fsel=0 alt=  func=INPUT            GPIO 19: level=0 fsel=0 alt=  func=INPUT
  GPIO 20: level=0 fsel=0 alt=  func=INPUT            GPIO 20: level=0 fsel=0 alt=  func=INPUT
  GPIO 21: level=0 fsel=0 alt=  func=INPUT            GPIO 21: level=0 fsel=0 alt=  func=INPUT
  GPIO 22: level=0 fsel=0 alt=  func=INPUT            GPIO 22: level=0 fsel=0 alt=  func=INPUT
  GPIO 23: level=0 fsel=0 alt=  func=INPUT            GPIO 23: level=0 fsel=0 alt=  func=INPUT
  GPIO 24: level=0 fsel=0 alt=  func=INPUT            GPIO 24: level=0 fsel=0 alt=  func=INPUT
  GPIO 25: level=0 fsel=0 alt=  func=INPUT            GPIO 25: level=0 fsel=0 alt=  func=INPUT
  GPIO 26: level=0 fsel=0 alt=  func=INPUT            GPIO 26: level=0 fsel=0 alt=  func=INPUT
  GPIO 27: level=0 fsel=0 alt=  func=INPUT            GPIO 27: level=0 fsel=0 alt=  func=INPUT
BANK1 (GPIO 28 to 45):
  GPIO 28: level=1 fsel=0 alt=  func=INPUT            GPIO 28: level=1 fsel=0 alt=  func=INPUT
  GPIO 29: level=1 fsel=0 alt=  func=INPUT            GPIO 29: level=1 fsel=0 alt=  func=INPUT
  GPIO 30: level=0 fsel=0 alt=  func=INPUT            GPIO 30: level=0 fsel=0 alt=  func=INPUT
  GPIO 31: level=0 fsel=0 alt=  func=INPUT            GPIO 31: level=0 fsel=0 alt=  func=INPUT
  GPIO 32: level=0 fsel=1 alt=  func=OUTPUT           GPIO 32: level=0 fsel=1 alt=  func=OUTPUT
  GPIO 33: level=0 fsel=0 alt=  func=INPUT            GPIO 33: level=0 fsel=0 alt=  func=INPUT
  GPIO 34: level=1 fsel=0 alt=  func=INPUT            GPIO 34: level=1 fsel=0 alt=  func=INPUT
  GPIO 35: level=0 fsel=0 alt=  func=INPUT            GPIO 35: level=0 fsel=0 alt=  func=INPUT
  GPIO 36: level=1 fsel=0 alt=  func=INPUT            GPIO 36: level=1 fsel=0 alt=  func=INPUT
  GPIO 37: level=0 fsel=0 alt=  func=INPUT            GPIO 37: level=0 fsel=0 alt=  func=INPUT
  GPIO 38: level=0 fsel=1 alt=  func=OUTPUT           GPIO 38: level=0 fsel=1 alt=  func=OUTPUT
  GPIO 39: level=0 fsel=0 alt=  func=INPUT            GPIO 39: level=0 fsel=0 alt=  func=INPUT
  GPIO 40: level=0 fsel=4 alt=0 func=PWM0              GPIO 40: level=0 fsel=4 alt=0 func=PWM0
  GPIO 41: level=0 fsel=1 alt=  func=OUTPUT           GPIO 41: level=0 fsel=1 alt=  func=OUTPUT
  GPIO 42: level=0 fsel=0 alt=  func=INPUT            GPIO 42: level=0 fsel=0 alt=  func=INPUT
  GPIO 43: level=0 fsel=0 alt=  func=INPUT            GPIO 43: level=0 fsel=0 alt=  func=INPUT
  GPIO 44: level=0 fsel=0 alt=  func=INPUT            GPIO 44: level=0 fsel=0 alt=  func=INPUT
  GPIO 45: level=0 fsel=4 alt=0 func=PWM1             GPIO 45: level=0 fsel=4 alt=0 func=PWM1
BANK2 (GPIO 46 to 53):
  GPIO 46: level=1 fsel=0 alt=  func=INPUT            GPIO 46: level=1 fsel=0 alt=  func=INPUT
  GPIO 47: level=0 fsel=1 alt=  func=OUTPUT           GPIO 47: level=0 fsel=1 alt=  func=OUTPUT
  GPIO 48: level=0 fsel=4 alt=0 func=SD0_CLK          GPIO 48: level=0 fsel=4 alt=0 func=SD0_CLK
  GPIO 49: level=1 fsel=4 alt=0 func=SD0_CMD          GPIO 49: level=1 fsel=4 alt=0 func=SD0_CMD
  GPIO 50: level=1 fsel=4 alt=0 func=SD0_DAT0         GPIO 50: level=1 fsel=4 alt=0 func=SD0_DAT0
  GPIO 51: level=1 fsel=4 alt=0 func=SD0_DAT1         GPIO 51: level=1 fsel=4 alt=0 func=SD0_DAT1
  GPIO 52: level=1 fsel=4 alt=0 func=SD0_DAT2         GPIO 52: level=1 fsel=4 alt=0 func=SD0_DAT2
  GPIO 53: level=1 fsel=4 alt=0 func=SD0_DAT3         GPIO 53: level=1 fsel=4 alt=0 func=SD0_DAT3

Koepi
Posts: 68
Joined: Fri Apr 29, 2016 7:18 am

Re: CamV2: raspistill stops working after some time ENOSPC

Fri May 13, 2016 4:50 am

I just added the GPIO config from the "working state" as second coloumn for direct comparison. No difference to the state when the cam isn't accessable anymore.

naushir
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 10
Joined: Mon Apr 25, 2016 10:21 am

Re: CamV2: raspistill stops working after some time ENOSPC

Fri May 13, 2016 8:41 am

@Koepi, we are adding some more logging to the firmware to try and narrow down the cause of the failure. Will keep you posted and ask you to send some logs again soon.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7140
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: CamV2: raspistill stops working after some time ENOSPC

Fri May 13, 2016 10:18 am

Can I check, do you have the official DSI display attached to this Pi? It shares an i2c bus with the sensor and could interact.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7140
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: CamV2: raspistill stops working after some time ENOSPC

Fri May 13, 2016 12:30 pm

Discussions and circuit diagram analysis is happening.

Could you try a couple of commands when raspistill is failing? I'm assuming a Pi2 for GPIO numbers.

Code: Select all

sudo raspi-gpio set 41 dh
sudo raspi-gpio set 41 dl
sudo raspi-gpio set 41 dh
And see if raspistill can then be run?
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

Koepi
Posts: 68
Joined: Fri Apr 29, 2016 7:18 am

Re: CamV2: raspistill stops working after some time ENOSPC

Fri May 13, 2016 1:06 pm

I'm on a Pi A+, but the pins should be identical. Toggling a pin I'll do. Thank you!

Concerning the hardware and periphery: Nothing on the DSI bus. Just the Cam on CSI, DS3231 RTC, BH1750 Illumincance Sensor and BME280 Humidity/Temperature/Pressure sensors on I2C1 (all extreme low power ICs), and on the USB Plug a RTL8192CU based Wifi adaptor. MicroSD card 16GB in the slot.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7140
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: CamV2: raspistill stops working after some time ENOSPC

Fri May 13, 2016 1:17 pm

Yup, A+, B+, and 2 are all on 41. Pi3 is different, as are A and B.

Thanks for the confirmation on peripherals.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

daveyg_71
Posts: 16
Joined: Mon Apr 11, 2016 6:09 pm

Re: CamV2: raspistill stops working after some time ENOSPC

Sun May 15, 2016 1:09 am

I started a thread of my own but was told it was similar to this one so I want to get my info in this thread.

My original thread was this:

viewtopic.php?f=43&t=147469&p=970458#p970458

This really has my confused because I am running the same script on a pi2 with the first version of camera, and it can run 24 hours a day for months with no problem. This leads me to think it is a problem with V2 of the camera. I have two pi3 so I tried the V2 camera on both and have the same problem with both pi3. My pi 2 is setup on my garden so I cannot try the V2 camera on the pi2.

I experimented with changing the amount of time between pictures and still get the error.
The last time I did that I got this error along with the ENOSPC error.

mmal: Skipping frame 3 to restart at frame 4

I also tried the script after updating to latest raspian yesterday.

I ran the following commands, its quite long but I did notice a repeating line in the last part:

Code: Select all

3743994.188: gpioman: gpioman_get_pin_num: pin CAMERA_LED not defined
My camera does not have an LED is it defective. I also have the first version of the camera and it has an led and works fine.

It was suggested to run these commands:

Code: Select all

-> uname -a
-> sudo vcdbg malloc
-> sudo vcdbg reloc
-> sudo vcdbg log msg
This is what I got from running the commands:

Code: Select all

[email protected]:~/camera_2 $ uname -a
Linux raspberrypi 4.4.9-v7+ #884 SMP Fri May 6 17:28:59 BST 2016 armv7l GNU/Linux

Code: Select all

[email protected]:~/camera_2 $ sudo vcdbg malloc
Pool 0xbe4c5bf8 (3df46454)
Malloc pool size=11M (pool=0x3e4c5bf8-0x3ef7ff2c)
0x3e4c5c20 = malloc(128K) [call from 0x3de2d496]
0x3e4e5c40 = malloc(120)  [call from 0x3ddcf8ec]
0x3e4e6000 = malloc(138K) [call from 0x3dc969cc]
0x3e509600 = malloc(512)  [v3d_gfxh16_thre]
0x3e509820 = malloc(7.3K) [dma_transfer_xfers]
0x3e50b540 = malloc(7.0K) [Gencmd service state]
0x3e50d180 = malloc(180)  [vcos_cmd_entries]
0x3e50d260 = malloc(4.0K) [reaper]
0x3e50e280 = malloc(8.0K) [call from 0x3debb1c0]
0x3e5102a0 = malloc(100)  [call from 0x3debb1dc]
0x3e510340 = malloc(32K)  [call from 0x3dd0cd7e]
0x3e518360 = malloc(512)  [call from 0x3dd8a5c2]
0x3e518580 = malloc(272)  [call from 0x3dd0ce6c]
0x3e5186c0 = malloc(272)  [call from 0x3dd0ce6c]
0x3e518800 = malloc(272)  [call from 0x3dd0ce6c]
0x3e518940 = malloc(272)  [call from 0x3dd0ce6c]
0x3e518a80 = malloc(272)  [call from 0x3dd0ce6c]
0x3e518bc0 = malloc(272)  [call from 0x3dd0ce6c]
0x3e518d00 = malloc(272)  [call from 0x3dd0ce6c]
0x3e518e40 = malloc(272)  [call from 0x3dd0ce6c]
0x3e518f80 = malloc(272)  [call from 0x3dd0ce6c]
0x3e5190c0 = malloc(272)  [call from 0x3dd0ce6c]
0x3e519200 = malloc(272)  [call from 0x3dd0ce6c]
0x3e519340 = malloc(272)  [call from 0x3dd0ce6c]
0x3e519480 = malloc(272)  [call from 0x3dd0ce6c]
0x3e5195c0 = malloc(272)  [call from 0x3dd0ce6c]
0x3e519700 = malloc(272)  [call from 0x3dd0ce6c]
0x3e519840 = malloc(272)  [call from 0x3dd0ce6c]
0x3e519980 = malloc(272)  [call from 0x3dd0ce6c]
0x3e519ac0 = malloc(272)  [call from 0x3dd0ce6c]
0x3e519c00 = malloc(272)  [call from 0x3dd0ce6c]
0x3e519d40 = malloc(272)  [call from 0x3dd0ce6c]
0x3e519e80 = malloc(272)  [call from 0x3dd0ce6c]
0x3e519fc0 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51a100 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51a240 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51a380 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51a4c0 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51a600 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51a740 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51a880 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51a9c0 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51ab00 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51ac40 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51ad80 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51aec0 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51b000 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51b140 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51b280 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51b3c0 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51b500 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51b640 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51b780 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51b8c0 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51ba00 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51bb40 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51bc80 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51bdc0 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51bf00 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51c040 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51c180 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51c2c0 = malloc(272)  [call from 0x3dd0ce6c]
0x3e51c400 = malloc(512)  [call from 0x3dc64b28]
0x3e51c620 = malloc(16K)  [call from 0x3dc64b5a]
0x3e520640 = malloc(4.0K) [call from 0x3dc64bb6]
0x3e521660 = malloc(4.0K) [call from 0x3dd67198]
0x3e522680 = malloc(4.0K) [call from 0x3dd671c4]
0x3e5236a0 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523700 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523760 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e5237c0 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523820 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523880 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e5238e0 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523940 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e5239a0 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523a00 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523a60 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523ac0 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523b20 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523b80 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523be0 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523c40 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523ca0 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523d00 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523d60 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523dc0 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523e20 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523e80 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523ee0 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523f40 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e523fa0 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e524000 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e524060 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e5240c0 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e524120 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e524180 = malloc(60)   [GPIOMAN_DEFINE_T]
0x3e5241e0 = malloc(8)    [call from 0x3dc8722a]
0x3e524220 = malloc(4.0K) [powerman]
0x3e525240 = malloc(3.0K) [call from 0x3dce1e7e]
0x3e525e60 = malloc(356K) [call from 0x3dce1eb4]
0x3e57ee80 = malloc(356K) [call from 0x3dce1eee]
0x3e5d7ea0 = malloc(66K)  [call from 0x3dce1f30]
0x3e5e8680 = malloc(1.1K) [call from 0x3de780f0]
0x3e5e8b00 = malloc(16K)  [call from 0x3dc7def0]
0x3e5ecb20 = malloc(4.0K) [stack]
0x3e5edb40 = malloc(32)   [q]
0x3e5edb80 = malloc(32)   [q]
0x3e5edbc0 = malloc(4.0K) [stack]
0x3e5eebe0 = malloc(32)   [q]
0x3e5eec20 = malloc(32)   [q]
0x3e5eec60 = malloc(16K)  [mbox_read]
0x3e5f2c80 = malloc(4.0K) [display_update]
0x3e5f3ca0 = malloc(4.0K) [temp_check]
0x3e5f5000 = malloc(4.0K) [call from 0x3dc80398]
0x3e5f6cc0 = malloc(16K)  [vchiq dma_xfer]
0x3e5fad80 = malloc(16K)  [vchiq dma_xfer]
0x3e5fee40 = malloc(16K)  [vchiq dma_xfer]
0x3e602f00 = malloc(16K)  [vchiq dma_xfer]
0x3e606fc0 = malloc(8.0K) [VCHIQ-0]
0x3e608fe0 = malloc(8.0K) [VCHIQr-0]
0x3e60b000 = malloc(8.0K) [VCHIQs-0]
0x3e60d020 = malloc(56)   [imageconv stats]
0x3e60d080 = malloc(36)   [vchiq_shim]
0x3e60d0e0 = malloc(256)  [vchiu_queue_init]
0x3e60d200 = malloc(476)  [VCHIQ service]
0x3e60d400 = malloc(36)   [vchiq_shim]
0x3e60d460 = malloc(256)  [vchiu_queue_init]
0x3e60d580 = malloc(476)  [VCHIQ service]
0x3e60d780 = malloc(36)   [vchiq_shim]
0x3e60d7e0 = malloc(256)  [vchiu_queue_init]
0x3e60d900 = malloc(476)  [VCHIQ service]
0x3e60db00 = malloc(36)   [vchiq_shim]
0x3e60db60 = malloc(256)  [vchiu_queue_init]
0x3e60dc80 = malloc(476)  [VCHIQ service]
0x3e60de80 = malloc(36)   [vchiq_shim]
0x3e60dee0 = malloc(256)  [vchiu_queue_init]
0x3e60e000 = malloc(476)  [VCHIQ service]
0x3e60e200 = malloc(36)   [vchiq_shim]
0x3e60e260 = malloc(256)  [vchiu_queue_init]
0x3e60e380 = malloc(476)  [VCHIQ service]
0x3e60e580 = malloc(36)   [vchiq_shim]
0x3e60e5e0 = malloc(256)  [vchiu_queue_init]
0x3e60e700 = malloc(476)  [VCHIQ service]
0x3e60e900 = malloc(36)   [vchiq_shim]
0x3e60e960 = malloc(256)  [vchiu_queue_init]
0x3e60ea80 = malloc(476)  [VCHIQ service]
0x3e60ec80 = malloc(2.0K) [call from 0x3debb1c0]
0x3e60f480 = malloc(100)  [call from 0x3debb1dc]
0x3e60f520 = malloc(4.0K) [GCMD_V]
0x3e610540 = malloc(2.0K) [HAUDVCHI]
0x3e610d60 = malloc(36)   [vchiq_shim]
0x3e610dc0 = malloc(256)  [vchiu_queue_init]
0x3e610ee0 = malloc(476)  [VCHIQ service]
0x3e6110e0 = malloc(37K)  [ILCS State]
0x3e61a3e0 = malloc(1.0K) [vchiu_queue_init]
0x3e61a800 = malloc(476)  [VCHIQ service]
0x3e61aa00 = malloc(52)   [ILCS_VC_COMMON]
0x3e61aa60 = malloc(4.0K) [ILCS_VC]
0x3e61ba80 = malloc(3.0K) [call from 0x3de81910]
0x3e61c6a0 = malloc(36)   [vchiq_shim]
0x3e61c700 = malloc(256)  [vchiu_queue_init]
0x3e61c820 = malloc(476)  [VCHIQ service]
0x3e61ca20 = malloc(36)   [vchiq_shim]
0x3e61ca80 = malloc(256)  [vchiu_queue_init]
0x3e61cba0 = malloc(476)  [VCHIQ service]
0x3e61cda0 = malloc(36)   [vchiq_shim]
0x3e61ce00 = malloc(256)  [vchiu_queue_init]
0x3e61cf20 = malloc(476)  [VCHIQ service]
0x3e61d120 = malloc(36)   [vchiq_shim]
0x3e61d180 = malloc(256)  [vchiu_queue_init]
0x3e61d2a0 = malloc(476)  [VCHIQ service]
0x3e61d4a0 = malloc(36)   [vchiq_shim]
0x3e61d500 = malloc(256)  [vchiu_queue_init]
0x3e61d620 = malloc(476)  [VCHIQ service]
0x3e61d820 = malloc(36)   [vchiq_shim]
0x3e61d880 = malloc(256)  [vchiu_queue_init]
0x3e61d9a0 = malloc(476)  [VCHIQ service]
0x3e61dba0 = malloc(36)   [vchiq_shim]
0x3e61dc00 = malloc(256)  [vchiu_queue_init]
0x3e61dd20 = malloc(476)  [VCHIQ service]
0x3e61df20 = malloc(36)   [vchiq_shim]
0x3e61df80 = malloc(256)  [vchiu_queue_init]
0x3e61e0a0 = malloc(476)  [VCHIQ service]
0x3e61e2a0 = malloc(3.0K) [call from 0x3de81984]
0x3e61eec0 = malloc(36)   [vchiq_shim]
0x3e61ef20 = malloc(256)  [vchiu_queue_init]
0x3e61f040 = malloc(476)  [VCHIQ service]
0x3e61f240 = malloc(36)   [vchiq_shim]
0x3e61f2a0 = malloc(256)  [vchiu_queue_init]
0x3e61f3c0 = malloc(476)  [VCHIQ service]
0x3e61f5c0 = malloc(36)   [vchiq_shim]
0x3e61f620 = malloc(256)  [vchiu_queue_init]
0x3e61f740 = malloc(476)  [VCHIQ service]
0x3e61f940 = malloc(36)   [vchiq_shim]
0x3e61f9a0 = malloc(256)  [vchiu_queue_init]
0x3e61fac0 = malloc(476)  [VCHIQ service]
0x3e61fcc0 = malloc(36)   [vchiq_shim]
0x3e61fd20 = malloc(256)  [vchiu_queue_init]
0x3e61fe40 = malloc(476)  [VCHIQ service]
0x3e620040 = malloc(36)   [vchiq_shim]
0x3e6200a0 = malloc(256)  [vchiu_queue_init]
0x3e6201c0 = malloc(476)  [VCHIQ service]
0x3e6203c0 = malloc(36)   [vchiq_shim]
0x3e620420 = malloc(256)  [vchiu_queue_init]
0x3e620540 = malloc(476)  [VCHIQ service]
0x3e620740 = malloc(36)   [vchiq_shim]
0x3e6207a0 = malloc(256)  [vchiu_queue_init]
0x3e6208c0 = malloc(476)  [VCHIQ service]
0x3e620ac0 = malloc(60)   [call from 0x3ddc0c50]
0x3e620b20 = malloc(16K)  [vchiu_queue_init]
0x3e624b40 = malloc(476)  [VCHIQ service]
0x3e624d40 = malloc(60)   [call from 0x3ddc0c50]
0x3e624da0 = malloc(16K)  [vchiu_queue_init]
0x3e628dc0 = malloc(476)  [VCHIQ service]
0x3e628fc0 = malloc(60)   [call from 0x3ddc0c50]
0x3e629020 = malloc(16K)  [vchiu_queue_init]
0x3e62d040 = malloc(476)  [VCHIQ service]
0x3e62d240 = malloc(476)  [VCHIQ service]
0x3e62d440 = malloc(320K) [KHRN_S]
0x3e67d460 = malloc(36)   [vchiq_shim]
0x3e67d4c0 = malloc(256)  [vchiu_queue_init]
0x3e67d5e0 = malloc(476)  [VCHIQ service]
0x3e67d7e0 = malloc(4.0K) [HREQ task]
0x3e67e800 = malloc(4.6K) [call from 0x3de81a44]
0x3e67fa80 = malloc(4.0K) [FILESERV]
0x3e680aa0 = malloc(36)   [vchiq_shim]
0x3e680b00 = malloc(256)  [vchiu_queue_init]
0x3e680c20 = malloc(476)  [VCHIQ service]
0x3e680e20 = malloc(608)  [Shared Memory Service]
0x3e6810a0 = malloc(4.0K) [sm_thread]
0x3e6820c0 = malloc(36)   [vchiq_shim]
0x3e682120 = malloc(256)  [vchiu_queue_init]
0x3e682240 = malloc(476)  [VCHIQ service]
0x3e682440 = malloc(488)  [Shared Memory Cache Test]
0x3e682660 = malloc(4.0K) [smct_thread]
0x3e683680 = malloc(36)   [vchiq_shim]
0x3e6836e0 = malloc(256)  [vchiu_queue_init]
0x3e683800 = malloc(476)  [VCHIQ service]
0x3e683a00 = malloc(1.3K) [CEA modes table]
0x3e683f40 = malloc(1.7K) [DMT modes table]
0x3e684640 = malloc(4.0K) [call from 0x3de82816]
0x3e685660 = malloc(36)   [vchiq_shim]
0x3e6856c0 = malloc(256)  [vchiu_queue_init]
0x3e6857e0 = malloc(476)  [VCHIQ service]
0x3e6859e0 = malloc(36)   [vchiq_shim]
0x3e685a40 = malloc(256)  [vchiu_queue_init]
0x3e685b60 = malloc(476)  [VCHIQ service]
0x3e685d60 = malloc(36)   [vchiq_shim]
0x3e685dc0 = malloc(256)  [vchiu_queue_init]
0x3e685ee0 = malloc(476)  [VCHIQ service]
0x3e6860e0 = malloc(36)   [vchiq_shim]
0x3e686140 = malloc(256)  [vchiu_queue_init]
0x3e686260 = malloc(476)  [VCHIQ service]
0x3e686460 = malloc(36)   [vchiq_shim]
0x3e6864c0 = malloc(256)  [vchiu_queue_init]
0x3e6865e0 = malloc(476)  [VCHIQ service]
0x3e6867e0 = malloc(36)   [vchiq_shim]
0x3e686840 = malloc(256)  [vchiu_queue_init]
0x3e686960 = malloc(476)  [VCHIQ service]
0x3e686b60 = malloc(36)   [vchiq_shim]
0x3e686bc0 = malloc(256)  [vchiu_queue_init]
0x3e686ce0 = malloc(476)  [VCHIQ service]
0x3e686ee0 = malloc(36)   [vchiq_shim]
0x3e686f40 = malloc(256)  [vchiu_queue_init]
0x3e687060 = malloc(476)  [VCHIQ service]
0x3e687260 = malloc(4.0K) [call from 0x3de82892]
0x3e688280 = malloc(36)   [vchiq_shim]
0x3e6882e0 = malloc(256)  [vchiu_queue_init]
0x3e688400 = malloc(476)  [VCHIQ service]
0x3e688600 = malloc(36)   [vchiq_shim]
0x3e688660 = malloc(256)  [vchiu_queue_init]
0x3e688780 = malloc(476)  [VCHIQ service]
0x3e688980 = malloc(36)   [vchiq_shim]
0x3e6889e0 = malloc(256)  [vchiu_queue_init]
0x3e688b00 = malloc(476)  [VCHIQ service]
0x3e688d00 = malloc(36)   [vchiq_shim]
0x3e688d60 = malloc(256)  [vchiu_queue_init]
0x3e688e80 = malloc(476)  [VCHIQ service]
0x3e689080 = malloc(36)   [vchiq_shim]
0x3e6890e0 = malloc(256)  [vchiu_queue_init]
0x3e689200 = malloc(476)  [VCHIQ service]
0x3e689400 = malloc(36)   [vchiq_shim]
0x3e689460 = malloc(256)  [vchiu_queue_init]
0x3e689580 = malloc(476)  [VCHIQ service]
0x3e689780 = malloc(36)   [vchiq_shim]
0x3e6897e0 = malloc(256)  [vchiu_queue_init]
0x3e689900 = malloc(476)  [VCHIQ service]
0x3e689b00 = malloc(36)   [vchiq_shim]
0x3e689b60 = malloc(256)  [vchiu_queue_init]
0x3e689c80 = malloc(476)  [VCHIQ service]
0x3e689e80 = malloc(4.0K) []
0x3e68aea0 = malloc(36)   [vchiq_shim]
0x3e68af00 = malloc(256)  [vchiu_queue_init]
0x3e68b020 = malloc(476)  [VCHIQ service]
0x3e68b220 = malloc(36)   [vchiq_shim]
0x3e68b280 = malloc(256)  [vchiu_queue_init]
0x3e68b3a0 = malloc(476)  [VCHIQ service]
0x3e68b5a0 = malloc(36)   [vchiq_shim]
0x3e68b600 = malloc(256)  [vchiu_queue_init]
0x3e68b720 = malloc(476)  [VCHIQ service]
0x3e68b920 = malloc(36)   [vchiq_shim]
0x3e68b980 = malloc(256)  [vchiu_queue_init]
0x3e68baa0 = malloc(476)  [VCHIQ service]
0x3e68bca0 = malloc(36)   [vchiq_shim]
0x3e68bd00 = malloc(256)  [vchiu_queue_init]
0x3e68be20 = malloc(476)  [VCHIQ service]
0x3e68c020 = malloc(36)   [vchiq_shim]
0x3e68c080 = malloc(256)  [vchiu_queue_init]
0x3e68c1a0 = malloc(476)  [VCHIQ service]
0x3e68c3a0 = malloc(36)   [vchiq_shim]
0x3e68c400 = malloc(256)  [vchiu_queue_init]
0x3e68c520 = malloc(476)  [VCHIQ service]
0x3e68c720 = malloc(36)   [vchiq_shim]
0x3e68c780 = malloc(256)  [vchiu_queue_init]
0x3e68c8a0 = malloc(476)  [VCHIQ service]
0x3e68caa0 = malloc(4.0K) []
0x3e68dac0 = malloc(36)   [vchiq_shim]
0x3e68db20 = malloc(256)  [vchiu_queue_init]
0x3e68dc40 = malloc(476)  [VCHIQ service]
0x3e68de40 = malloc(36)   [vchiq_shim]
0x3e68dea0 = malloc(256)  [vchiu_queue_init]
0x3e68dfc0 = malloc(476)  [VCHIQ service]
0x3e68e1c0 = malloc(36)   [vchiq_shim]
0x3e68e220 = malloc(256)  [vchiu_queue_init]
0x3e68e340 = malloc(476)  [VCHIQ service]
0x3e68e540 = malloc(36)   [vchiq_shim]
0x3e68e5a0 = malloc(256)  [vchiu_queue_init]
0x3e68e6c0 = malloc(476)  [VCHIQ service]
0x3e68e8c0 = malloc(36)   [vchiq_shim]
0x3e68e920 = malloc(256)  [vchiu_queue_init]
0x3e68ea40 = malloc(476)  [VCHIQ service]
0x3e68ec40 = malloc(36)   [vchiq_shim]
0x3e68eca0 = malloc(256)  [vchiu_queue_init]
0x3e68edc0 = malloc(476)  [VCHIQ service]
0x3e68efc0 = malloc(36)   [vchiq_shim]
0x3e68f020 = malloc(256)  [vchiu_queue_init]
0x3e68f140 = malloc(476)  [VCHIQ service]
0x3e68f340 = malloc(36)   [vchiq_shim]
0x3e68f3a0 = malloc(256)  [vchiu_queue_init]
0x3e68f4c0 = malloc(476)  [VCHIQ service]
0x3e68f6c0 = malloc(36)   [vchiq_shim]
0x3e68f720 = malloc(256)  [vchiu_queue_init]
0x3e68f840 = malloc(476)  [VCHIQ service]
0x3e68fa40 = malloc(36)   [vchiq_shim]
0x3e68faa0 = malloc(256)  [vchiu_queue_init]
0x3e68fbc0 = malloc(476)  [VCHIQ service]
0x3e68fdc0 = malloc(36)   [vchiq_shim]
0x3e68fe20 = malloc(256)  [vchiu_queue_init]
0x3e68ff40 = malloc(476)  [VCHIQ service]
0x3e690140 = malloc(36)   [vchiq_shim]
0x3e6901a0 = malloc(256)  [vchiu_queue_init]
0x3e6902c0 = malloc(476)  [VCHIQ service]
0x3e6904c0 = malloc(36)   [vchiq_shim]
0x3e690520 = malloc(256)  [vchiu_queue_init]
0x3e690640 = malloc(476)  [VCHIQ service]
0x3e690840 = malloc(36)   [vchiq_shim]
0x3e6908a0 = malloc(256)  [vchiu_queue_init]
0x3e6909c0 = malloc(476)  [VCHIQ service]
0x3e690bc0 = malloc(36)   [vchiq_shim]
0x3e690c20 = malloc(256)  [vchiu_queue_init]
0x3e690d40 = malloc(476)  [VCHIQ service]
0x3e690f40 = malloc(36)   [vchiq_shim]
0x3e690fa0 = malloc(256)  [vchiu_queue_init]
0x3e6910c0 = malloc(476)  [VCHIQ service]
0x3e6912c0 = malloc(476)  [VCHIQ service]
0x3e6914c0 = malloc(476)  [VCHIQ service]
0x3e6916c0 = malloc(476)  [VCHIQ service]
0x3e6918c0 = malloc(476)  [VCHIQ service]
0x3e691ac0 = malloc(476)  [VCHIQ service]
0x3e691cc0 = malloc(476)  [VCHIQ service]
0x3e691ec0 = malloc(476)  [VCHIQ service]
0x3e6920c0 = malloc(476)  [VCHIQ service]
0x3e6922c0 = malloc(476)  [VCHIQ service]
0x3e6924c0 = malloc(476)  [VCHIQ service]
0x3e6926c0 = malloc(4.3K) [mmal debug log]
0x3e693800 = malloc(16K)  [mmal_host_log]
0x3e697840 = malloc(512)  [vchiu_queue_init]
0x3e697a60 = malloc(476)  [VCHIQ service]
0x3e697c60 = malloc(40)   [call from 0x3ddd9faa]
0x3e697cc0 = malloc(40)   [call from 0x3ddd9faa]
0x3e697d20 = malloc(40)   [call from 0x3ddd9faa]
0x3e697d80 = malloc(40)   [call from 0x3ddd9faa]
0x3e697de0 = malloc(40)   [call from 0x3ddd9faa]
0x3e697e40 = malloc(40)   [call from 0x3ddd9faa]
0x3e697ea0 = malloc(40)   [call from 0x3ddd9faa]
0x3e697f00 = malloc(40)   [call from 0x3ddd9faa]
0x3e697f60 = malloc(40)   [call from 0x3ddd9faa]
0x3e697fc0 = malloc(40)   [call from 0x3ddd9faa]
0x3e698020 = malloc(40)   [call from 0x3ddd9faa]
0x3e698080 = malloc(40)   [call from 0x3ddd9faa]
0x3e6980e0 = malloc(40)   [call from 0x3ddd9faa]
0x3e698140 = malloc(40)   [call from 0x3ddd9faa]
0x3e6981a0 = malloc(40)   [call from 0x3ddd9faa]
0x3e698200 = malloc(40)   [call from 0x3ddd9faa]
0x3e698260 = malloc(40)   [call from 0x3ddd9faa]
0x3e6982c0 = malloc(40)   [call from 0x3ddd9faa]
0x3e698320 = malloc(40)   [call from 0x3ddd9faa]
0x3e698380 = malloc(40)   [call from 0x3ddd9faa]
0x3e6983e0 = malloc(40)   [call from 0x3ddd9faa]
0x3e698440 = malloc(256)  [mmal msg queue mem]
0x3e698560 = malloc(4.0K) [mmal msg queue ]
0x3e699580 = malloc(4.0K) [mmal msg queue ]
0x3e69a5a0 = malloc(4.0K) [mmal worker]
0x3e69b5c0 = malloc(476)  [VCHIQ service]
0x3e69b7c0 = malloc(4.0K) [vc watchdog]
0x3e69c7e0 = malloc(476)  [VCHIQ service]
0x3e69c9e0 = malloc(535)  [mmal component]
0x3e69cc20 = malloc(256)  [mmal port]
0x3e69cd40 = malloc(120)  [mmal format]
0x3e69cde0 = malloc(24)   [mmal ril module]
0x3e69ce20 = malloc(17K)  [call from 0x3dca001e]
0x3e6a10c0 = malloc(12)   [mmal ports]
0x3e6a1100 = malloc(3.7K) [mmal port]
0x3e6a2020 = malloc(120)  [mmal format]
0x3e6a20c0 = malloc(3.7K) [mmal port]
0x3e6a2fe0 = malloc(120)  [mmal format]
0x3e6a3080 = malloc(3.7K) [mmal port]
0x3e6a3fa0 = malloc(120)  [mmal format]
0x3e6a4040 = malloc(4)    [mmal ports]
0x3e6a4080 = malloc(276)  [mmal port]
0x3e6a41c0 = malloc(120)  [mmal format]
0x3e6a4260 = malloc(1.7K) [mmal-clock]
0x3e6a4960 = malloc(28)   [MMAL queue]
0x3e6a49a0 = malloc(28)   [MMAL queue]
0x3e6a49e0 = malloc(28)   [MMAL queue]
0x3e6a4a20 = malloc(28)   [MMAL queue]
0x3e6a4a60 = malloc(28)   [MMAL queue]
0x3e6a4aa0 = malloc(48)   [MMAL pool]
0x3e6a4b00 = malloc(1.9K) [MMAL buffer headers]
0x3e6a52a0 = malloc(740)  [mmal_pool payload]
0x3e6a55c0 = malloc(740)  [mmal_pool payload]
0x3e6a58e0 = malloc(740)  [mmal_pool payload]
0x3e6a5c00 = malloc(740)  [mmal_pool payload]
0x3e6a5f20 = malloc(20)   [mmal ports]
0x3e6a5f60 = malloc(30K)  [call from 0x3dcb0d76]
0x3e6ad7e0 = malloc(164)  [call from 0x3dd820c2]
0x3e6ad8c0 = malloc(164)  [call from 0x3dd820c2]
0x3e6ad9a0 = malloc(164)  [call from 0x3dd820c2]
0x3e6ada80 = malloc(164)  [call from 0x3dd820c2]
0x3e6adb60 = malloc(28)   [MMAL queue]
0x3e6adba0 = malloc(48)   [MMAL pool]
0x3e6adc00 = malloc(1.9K) [MMAL buffer headers]
0x3e6ae390 = hole(8.8M)
Malloced:1.9M Remaining:8.8M

Code: Select all

[email protected]:~/camera_2 $ sudo vcdbg reloc

Relocatable heap version 4 found at 0x2f000000
total space allocated is 236M, with 236M relocatable, 0 legacy and 0 offline
0 legacy blocks of size 2359296

free list at 0x3db63d20
235M free memory in 1 free block(s)
largest free block is 235M bytes

0x2f000000: free 235M
[   5] 0x3db63040: used  832 (refcount 1 lock count 0, size      740, align   32, data 0x3db63060, d1rual) ''
[   7] 0x3db63380: used  832 (refcount 1 lock count 0, size      740, align   32, data 0x3db633a0, d1rual) ''
[   6] 0x3db636c0: used  832 (refcount 1 lock count 0, size      740, align   32, data 0x3db636e0, d1rual) ''
0x3db63a00: free 832
[   4] 0x3db63d40: used  576 (refcount 1 lock count 0, size      512, align    4, data 0x3db63d60, d0rual) 'ILCS VC buffer pool'
[   3] 0x3db63f80: used 604K (refcount 1 lock count 8, size   614400, align 4096, data 0x3db64000, d1rual) 'ARM FB'
[   2] 0x3dbfafa0: used  16K (refcount 1 lock count 0, size    16384, align   32, data 0x3dbfafc0, d0ruAl) 'audioplus_tmp_buf'
[   1] 0x3dbfefe0: used 4.0K (refcount 1 lock count 0, size        0, align 4096, data 0x3dbff000, d1rual) 'camera fast alloc arena'
small allocs not requested

Code: Select all

[email protected]:~/camera_2 $ sudo vcdbg log msg
000954.469: HDMI:EDID error reading EDID block 0 attempt 0
000955.732: HDMI:EDID error reading EDID block 0 attempt 1
000956.991: HDMI:EDID error reading EDID block 0 attempt 2
000958.249: HDMI:EDID error reading EDID block 0 attempt 3
000959.507: HDMI:EDID error reading EDID block 0 attempt 4
000960.764: HDMI:EDID error reading EDID block 0 attempt 5
000962.023: HDMI:EDID error reading EDID block 0 attempt 6
000963.280: HDMI:EDID error reading EDID block 0 attempt 7
000964.539: HDMI:EDID error reading EDID block 0 attempt 8
000965.796: HDMI:EDID error reading EDID block 0 attempt 9
000966.818: HDMI:EDID giving up on reading EDID block 0
000970.602: HDMI:Setting property pixel encoding to Default
000970.623: HDMI:Setting property pixel clock type to PAL
000970.642: HDMI:Setting property content type flag to No data
000970.662: HDMI:Setting property fuzzy format match to enabled
001170.139: hdmi: HDMI:>>>>>>>>>>>>>Rx sensed, reading EDID<<<<<<<<<<<<<
001170.527: hdmi: HDMI:EDID error reading EDID block 0 attempt 0
001171.793: hdmi: HDMI:EDID error reading EDID block 0 attempt 1
001173.054: hdmi: HDMI:EDID error reading EDID block 0 attempt 2
001174.315: hdmi: HDMI:EDID error reading EDID block 0 attempt 3
001175.576: hdmi: HDMI:EDID error reading EDID block 0 attempt 4
001176.837: hdmi: HDMI:EDID error reading EDID block 0 attempt 5
001178.098: hdmi: HDMI:EDID error reading EDID block 0 attempt 6
001179.359: hdmi: HDMI:EDID error reading EDID block 0 attempt 7
001180.620: hdmi: HDMI:EDID error reading EDID block 0 attempt 8
001181.881: hdmi: HDMI:EDID error reading EDID block 0 attempt 9
001182.905: hdmi: HDMI:EDID giving up on reading EDID block 0
001182.934: hdmi: HDMI: No lookup table for resolution group 0
001182.952: hdmi: HDMI: hotplug attached with DVI support
001183.018: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
001183.387: hdmi: HDMI:EDID error reading EDID block 0 attempt 0
001184.650: hdmi: HDMI:EDID error reading EDID block 0 attempt 1
001185.914: hdmi: HDMI:EDID error reading EDID block 0 attempt 2
001187.177: hdmi: HDMI:EDID error reading EDID block 0 attempt 3
001188.440: hdmi: HDMI:EDID error reading EDID block 0 attempt 4
001189.703: hdmi: HDMI:EDID error reading EDID block 0 attempt 5
001190.966: hdmi: HDMI:EDID error reading EDID block 0 attempt 6
001192.229: hdmi: HDMI:EDID error reading EDID block 0 attempt 7
001193.492: hdmi: HDMI:EDID error reading EDID block 0 attempt 8
001194.755: hdmi: HDMI:EDID error reading EDID block 0 attempt 9
001195.781: hdmi: HDMI:EDID giving up on reading EDID block 0
001198.288: hdmi: HDMI: power_on to DMT mode [email protected]
001201.416: hdmi: HDMI: Action callback added to queue to happen at frame 0
001218.033: *** Restart logging
001219.593: Read command line from file 'cmdline.txt'
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p7 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
001481.269: Loading 'kernel7.img' to 0x8000 size 0x406f30
001484.911: Kernel trailer DTOK property says yes
001484.927: Kernel trailer DDTK property says yes
001489.089: Loading 'bcm2710-rpi-3-b.dtb' to 0x40ef30 size 0x3518
001557.142: dtparam: uart0_clkrate=48000000
001569.794: dtparam: audio=on
001641.132: dtparam: arm_freq=1200000000
001679.733: dtparam: core_freq=400000000
001689.861: dtparam: cache_line_size=64
001712.397: Device tree loaded to 0x2efec500 (size 0x3a34)
001714.688: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
004577.546: vchiq_core: vchiq_init_state: slot_zero = 0xee880000, is_master = 1
004581.652: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
004586.431: TV service:host side not connected, dropping notification 0x00000002, 0x00000002, 0x00000004
099839.093: camsubs: Looking for camera 0: i2c_port = 0, led gpio = 134, power enable gpio = 133
099840.722: camsubs: Camera found OK
099843.447: gpioman: gpioman_get_pin_num: pin CAMERA_LED not defined
110081.696: gpioman: gpioman_get_pin_num: pin CAMERA_LED not defined
120309.923: gpioman: gpioman_get_pin_num: pin CAMERA_LED not defined
130575.501: gpioman: gpioman_get_pin_num: pin CAMERA_LED not defined
140840.533: gpioman: gpioman_get_pin_num: pin CAMERA_LED not defined
3754279.709: gpioman: gpioman_get_pin_num: pin CAMERA_LED not defined
This line repeats, I could not include it because the post was too long.
gpioman: gpioman_get_pin_num: pin CAMERA_LED not defined

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7140
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: CamV2: raspistill stops working after some time ENOSPC

Sun May 15, 2016 7:43 am

As has been discussed on this thread, it is suspected that there is a mechanism where some camera boards stop responding correctly over i2c, as the camera driver fails to open.

Have you followed the discussed course of action by adding "start_debug=1" to config.txt and observing the data in "sudo vcdbg log assert"? Or tried the requested test of raspigpio commands?

There has been a mod pushed to the rpi-update repo that logs an assert where we think it is failing. If you and Koepi could try it and confirm the failure is as we suspect, then we may make progress.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

Koepi
Posts: 68
Joined: Fri Apr 29, 2016 7:18 am

Re: CamV2: raspistill stops working after some time ENOSPC

Sun May 15, 2016 8:24 am

Do you mean I should do a rpi-update? Or something else?

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7140
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: CamV2: raspistill stops working after some time ENOSPC

Sun May 15, 2016 11:42 am

Koepi wrote:Do you mean I should do a rpi-update? Or something else?
Yes please. Rpi-update and hopefully if it does lock up then vcdbg log assert should show an assert at imx219.c line 431ish.
If you can then try the raspi-gpio commands it would be appreciated. I don't believe any of the devs have managed to reproduce this which makes debugging tricky. It seems to be a hardware dependent thing.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

daveyg_71
Posts: 16
Joined: Mon Apr 11, 2016 6:09 pm

Re: CamV2: raspistill stops working after some time ENOSPC

Sun May 15, 2016 9:12 pm

I did the rpi-update.

I added the discussed course of action by adding "start_debug=1" to config.txt

Then ran the camera script and again got the error.

While the terminal gave the error twice, I can see that the camera is still taking pictures for now.

You can see my terminal output below. I run sudo /home/pi/camera_day.sh and everything is fine then the error starts to show up. Eventually it will stop taking pictures.

I noticed somewhere in this thread that this happens with some cameras. Is mine defective?

Code: Select all

[email protected]:~ $ sudo /home/pi/camera_day.sh
mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates

mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates

This was the output of sudo vcdbg log assert.

Code: Select all

[email protected]:~ $ sudo vcdbg log assert
4070798.266: assert( sizeof(WRITE_RAW_MD_STATE_T) < PERSISTENT_MEM_REQU ) failed; ../../../../../middleware/camplus/sw/write_raw_md.c::write_raw_md_open line 161
4074799.072: assert( sizeof(WRITE_RAW_MD_STATE_T) < PERSISTENT_MEM_REQU ) failed; ../../../../../middleware/camplus/sw/write_raw_md.c::write_raw_md_open line 161
4078866.985: assert( sizeof(WRITE_RAW_MD_STATE_T) < PERSISTENT_MEM_REQU ) failed; ../../../../../middleware/camplus/sw/write_raw_md.c::write_raw_md_open line 161
4082867.828: assert( sizeof(WRITE_RAW_MD_STATE_T) < PERSISTENT_MEM_REQU ) failed; ../../../../../middleware/camplus/sw/write_raw_md.c::write_raw_md_open line 161
4086868.568: assert( sizeof(WRITE_RAW_MD_STATE_T) < PERSISTENT_MEM_REQU ) failed; ../../../../../middleware/camplus/sw/write_raw_md.c::write_raw_md_open line 161
4090869.050: assert( sizeof(WRITE_RAW_MD_STATE_T) < PERSISTENT_MEM_REQU ) failed; ../../../../../middleware/camplus/sw/write_raw_md.c::write_raw_md_open line 161
4094869.052: assert( sizeof(WRITE_RAW_MD_STATE_T) < PERSISTENT_MEM_REQU ) failed; ../../../../../middleware/camplus/sw/write_raw_md.c::write_raw_md_open line 161
4099202.914: assert( sizeof(WRITE_RAW_MD_STATE_T) < PERSISTENT_MEM_REQU ) failed; ../../../../../middleware/camplus/sw/write_raw_md.c::write_raw_md_open line 161
4103203.762: assert( sizeof(WRITE_RAW_MD_STATE_T) < PERSISTENT_MEM_REQU ) failed; ../../../../../middleware/camplus/sw/write_raw_md.c::write_raw_md_open line 161
4107203.164: assert( sizeof(WRITE_RAW_MD_STATE_T) < PERSISTENT_MEM_REQU ) failed; ../../../../../middleware/camplus/sw/write_raw_md.c::write_raw_md_open line 161
4111202.691: assert( sizeof(WRITE_RAW_MD_STATE_T) < PERSISTENT_MEM_REQU ) failed; ../../../../../middleware/camplus/sw/write_raw_md.c::write_raw_md_open line 161
4115201.726: assert( sizeof(WRITE_RAW_MD_STATE_T) < PERSISTENT_MEM_REQU ) failed; ../../../../../middleware/camplus/sw/write_raw_md.c::write_raw_md_open line 161
I also ran sudo raspi-gpio get

Code: Select all

[email protected]:~ $ sudo raspi-gpio get
BANK0 (GPIO 0 to 27):
  GPIO 00: level=1 fsel=0 alt=  func=INPUT
  GPIO 01: level=1 fsel=0 alt=  func=INPUT
  GPIO 02: level=1 fsel=0 alt=  func=INPUT
  GPIO 03: level=1 fsel=0 alt=  func=INPUT
  GPIO 04: level=1 fsel=0 alt=  func=INPUT
  GPIO 05: level=1 fsel=0 alt=  func=INPUT
  GPIO 06: level=1 fsel=0 alt=  func=INPUT
  GPIO 07: level=1 fsel=0 alt=  func=INPUT
  GPIO 08: level=1 fsel=0 alt=  func=INPUT
  GPIO 09: level=0 fsel=0 alt=  func=INPUT
  GPIO 10: level=0 fsel=0 alt=  func=INPUT
  GPIO 11: level=0 fsel=0 alt=  func=INPUT
  GPIO 12: level=0 fsel=0 alt=  func=INPUT
  GPIO 13: level=0 fsel=0 alt=  func=INPUT
  GPIO 14: level=0 fsel=0 alt=  func=INPUT
  GPIO 15: level=1 fsel=0 alt=  func=INPUT
  GPIO 16: level=0 fsel=0 alt=  func=INPUT
  GPIO 17: level=0 fsel=0 alt=  func=INPUT
  GPIO 18: level=0 fsel=0 alt=  func=INPUT
  GPIO 19: level=0 fsel=0 alt=  func=INPUT
  GPIO 20: level=0 fsel=0 alt=  func=INPUT
  GPIO 21: level=0 fsel=0 alt=  func=INPUT
  GPIO 22: level=0 fsel=0 alt=  func=INPUT
  GPIO 23: level=0 fsel=0 alt=  func=INPUT
  GPIO 24: level=0 fsel=0 alt=  func=INPUT
  GPIO 25: level=0 fsel=0 alt=  func=INPUT
  GPIO 26: level=0 fsel=0 alt=  func=INPUT
  GPIO 27: level=0 fsel=0 alt=  func=INPUT
BANK1 (GPIO 28 to 45):
  GPIO 28: level=0 fsel=0 alt=  func=INPUT
  GPIO 29: level=1 fsel=0 alt=  func=INPUT
  GPIO 30: level=0 fsel=0 alt=  func=INPUT
  GPIO 31: level=0 fsel=0 alt=  func=INPUT
  GPIO 32: level=1 fsel=7 alt=3 func=TXD0
  GPIO 33: level=1 fsel=7 alt=3 func=RXD0
  GPIO 34: level=1 fsel=7 alt=3 func=SD1_CLK
  GPIO 35: level=1 fsel=7 alt=3 func=SD1_CMD
  GPIO 36: level=1 fsel=7 alt=3 func=SD1_DAT0
  GPIO 37: level=1 fsel=7 alt=3 func=SD1_DAT1
  GPIO 38: level=1 fsel=7 alt=3 func=SD1_DAT2
  GPIO 39: level=1 fsel=7 alt=3 func=SD1_DAT3
  GPIO 40: level=0 fsel=4 alt=0 func=PWM0
  GPIO 41: level=0 fsel=4 alt=0 func=PWM1
  GPIO 42: level=0 fsel=4 alt=0 func=GPCLK1
  GPIO 43: level=1 fsel=4 alt=0 func=GPCLK2
  GPIO 44: level=1 fsel=0 alt=  func=INPUT
  GPIO 45: level=1 fsel=0 alt=  func=INPUT
BANK2 (GPIO 46 to 53):
  GPIO 46: level=1 fsel=0 alt=  func=INPUT
  GPIO 47: level=1 fsel=0 alt=  func=INPUT
  GPIO 48: level=0 fsel=4 alt=0 func=SD0_CLK
  GPIO 49: level=1 fsel=4 alt=0 func=SD0_CMD
  GPIO 50: level=1 fsel=4 alt=0 func=SD0_DAT0
  GPIO 51: level=1 fsel=4 alt=0 func=SD0_DAT1
  GPIO 52: level=1 fsel=4 alt=0 func=SD0_DAT2
  GPIO 53: level=1 fsel=4 alt=0 func=SD0_DAT3

daveyg_71
Posts: 16
Joined: Mon Apr 11, 2016 6:09 pm

Re: CamV2: raspistill stops working after some time ENOSPC

Mon May 16, 2016 4:44 am

The camera worked for about 6 hours then I got a third ENOSPC error, and it stopped taking pictures.

When it stopped taking pictures I did another sudo vcdbg log assert:

Code: Select all

[email protected]:~/camera_2 $ sudo vcdbg log assert
3334386.935: assert( retcode == 0 ) failed; ../../../../../middleware/openmaxil/components/camera.c::load_and_open_cdi line 11817
3334386.998: assert( id->cdi!=NULL && id->cdi_handle!=NULL ) failed; ../../../../../middleware/openmaxil/components/camera.c::open_camplus line 11193
3334438.351: assert( success == 0 ) failed; ../../../../../vcfw/drivers/device/gpio_expander/gpio_expander_FXL6408.c::gpio_expander_FXL6408_pre line 267
3334438.387: assert( !"i2c: invalid handle" ) failed; ../../../../../vcfw/drivers/chip/vciv/2708/i2c.c::i2c_obtain_i2c_semaphore line 820
3334438.425: assert( user->has_port_latch == 1 ) failed; ../../../../../vcfw/drivers/chip/vciv/2708/i2c.c::i2c_write_ext line 1015
3334438.455: assert( !"i2c: invalid handle" ) failed; ../../../../../vcfw/drivers/chip/vciv/2708/i2c.c::i2c_write_ext line 1067
3334438.502: assert( success == 0 ) failed; ../../../../../vcfw/drivers/device/gpio_expander/gpio_expander_FXL6408.c::FXL6408_writereg line 648
3334438.554: assert( !"i2c: invalid handle" ) failed; ../../../../../vcfw/drivers/chip/vciv/2708/i2c.c::i2c_release_i2c_semaphore line 877
3334438.607: assert( success == 0 ) failed; ../../../../../vcfw/drivers/device/gpio_expander/gpio_expander_FXL6408.c::gpio_expander_FXL6408_pre line 267
3334438.665: assert( (gpio_state.lock[(gpio)].owner == GPIO_OWNER_NONE) || (user == gpio_state.lock[(gpio)].owner) || (user == (uint32_t) GPIO_HANDLE_OVERRIDE) ) failed; ../../../../../vcfw/drivers/chip/vciv/2708/gpio.c::gpio_set_fsel line 788
3334438.719: assert( (gpio < VIDEOCORE_NUM_GPIO_PINS) && (func <= 7u) && ((valid_fsel >> func) & 1) ) failed; ../../../../../vcfw/drivers/chip/vciv/2708/gpio.c::gpio_set_fsel line 804
3334438.786: assert( nbytes <= 16 ) failed; ../../../../../vcfw/drivers/chip/vciv/2708/i2c.c::i2c_actual_read line 1681


I also did another sudo raspi-gpio get

Code: Select all

[email protected]:~/camera_2 $ sudo raspi-gpio get
BANK0 (GPIO 0 to 27):
  GPIO 00: level=1 fsel=0 alt=  func=INPUT
  GPIO 01: level=1 fsel=0 alt=  func=INPUT
  GPIO 02: level=1 fsel=0 alt=  func=INPUT
  GPIO 03: level=1 fsel=0 alt=  func=INPUT
  GPIO 04: level=1 fsel=0 alt=  func=INPUT
  GPIO 05: level=1 fsel=0 alt=  func=INPUT
  GPIO 06: level=1 fsel=0 alt=  func=INPUT
  GPIO 07: level=1 fsel=0 alt=  func=INPUT
  GPIO 08: level=1 fsel=0 alt=  func=INPUT
  GPIO 09: level=0 fsel=0 alt=  func=INPUT
  GPIO 10: level=0 fsel=0 alt=  func=INPUT
  GPIO 11: level=0 fsel=0 alt=  func=INPUT
  GPIO 12: level=0 fsel=0 alt=  func=INPUT
  GPIO 13: level=0 fsel=0 alt=  func=INPUT
  GPIO 14: level=0 fsel=0 alt=  func=INPUT
  GPIO 15: level=1 fsel=0 alt=  func=INPUT
  GPIO 16: level=0 fsel=0 alt=  func=INPUT
  GPIO 17: level=0 fsel=0 alt=  func=INPUT
  GPIO 18: level=0 fsel=0 alt=  func=INPUT
  GPIO 19: level=0 fsel=0 alt=  func=INPUT
  GPIO 20: level=0 fsel=0 alt=  func=INPUT
  GPIO 21: level=0 fsel=0 alt=  func=INPUT
  GPIO 22: level=0 fsel=0 alt=  func=INPUT
  GPIO 23: level=0 fsel=0 alt=  func=INPUT
  GPIO 24: level=0 fsel=0 alt=  func=INPUT
  GPIO 25: level=0 fsel=0 alt=  func=INPUT
  GPIO 26: level=0 fsel=0 alt=  func=INPUT
  GPIO 27: level=0 fsel=0 alt=  func=INPUT
BANK1 (GPIO 28 to 45):
  GPIO 28: level=0 fsel=0 alt=  func=INPUT
  GPIO 29: level=1 fsel=0 alt=  func=INPUT
  GPIO 30: level=0 fsel=0 alt=  func=INPUT
  GPIO 31: level=0 fsel=0 alt=  func=INPUT
  GPIO 32: level=1 fsel=7 alt=3 func=TXD0
  GPIO 33: level=1 fsel=7 alt=3 func=RXD0
  GPIO 34: level=0 fsel=7 alt=3 func=SD1_CLK
  GPIO 35: level=1 fsel=7 alt=3 func=SD1_CMD
  GPIO 36: level=1 fsel=7 alt=3 func=SD1_DAT0
  GPIO 37: level=1 fsel=7 alt=3 func=SD1_DAT1
  GPIO 38: level=1 fsel=7 alt=3 func=SD1_DAT2
  GPIO 39: level=1 fsel=7 alt=3 func=SD1_DAT3
  GPIO 40: level=0 fsel=4 alt=0 func=PWM0
  GPIO 41: level=0 fsel=4 alt=0 func=PWM1
  GPIO 42: level=1 fsel=4 alt=0 func=GPCLK1
  GPIO 43: level=1 fsel=4 alt=0 func=GPCLK2
  GPIO 44: level=1 fsel=5 alt=1 func=SDA0
  GPIO 45: level=1 fsel=5 alt=1 func=SCL0
BANK2 (GPIO 46 to 53):
  GPIO 46: level=1 fsel=0 alt=  func=INPUT
  GPIO 47: level=1 fsel=0 alt=  func=INPUT
  GPIO 48: level=0 fsel=4 alt=0 func=SD0_CLK
  GPIO 49: level=1 fsel=4 alt=0 func=SD0_CMD
  GPIO 50: level=1 fsel=4 alt=0 func=SD0_DAT0
  GPIO 51: level=1 fsel=4 alt=0 func=SD0_DAT1
  GPIO 52: level=1 fsel=4 alt=0 func=SD0_DAT2
  GPIO 53: level=1 fsel=4 alt=0 func=SD0_DAT3

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7140
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: CamV2: raspistill stops working after some time ENOSPC

Mon May 16, 2016 9:35 am

daveyg_71 wrote:The camera worked for about 6 hours then I got a third ENOSPC error, and it stopped taking pictures.

When it stopped taking pictures I did another sudo vcdbg log assert:
Thank you - great debug info. I now need to have a think over how that can happen.
It's not the set of asserts I was expecting, but may be a symptom of the same problem to Koepi. I was hoping Koepi would have reported back too.

Could you post the contents of your script please? There may be something funny in the invocation of things that is triggering the issue.
Can I confirm, for you the error sometimes shows up but the camera will run on the next call. Eventually it will die. It doesn't go into a dead state on the first occasion the error shows up.

(Ignore the "assert( sizeof(WRITE_RAW_MD_STATE_T) < PERSISTENT_MEM_REQU )" assert - that's a copy paste error that is harmless)
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

Return to “Camera board”