Buffer Incompletely Grabbed: Error 3774873620 GX Status 0xe1000014#
This error is quite common, but can usually be corrected quickly. To correct the error, proceed as follows:
- Adjust the packet size to 1500.
- Increase the value until you see the mentioned errors.
- Decrease the value to a stable value.
This won't affect the frame rate, but improve the stability and efficiency of the data transport.
"Packet Size" on the camera is synonymous with "Frames" or "MTU" on the network card. Jumbo Frames refers to a packet larger than 1500 bytes. Historically,
- 10BaseT Ethernet supported up to 576 bytes per packet,
- 100BaseT supported 1500 bytes per packet and
- Gigabit Ethernet supports up to 16000 bytes per packet in theory.
The benefit is that with larger packets, the CPU has less packets to unpack, and thus CPU load is smaller.
But a common issue is that different network interface cards (NICs) and switches support different packet sizes, and often at different qualities. So finding the perfect packet size is system-dependent.
- If the packet size is too small, then the buffers built into a switch or NIC can be flooded, and packets can be dropped.
- If the packet size is too large, then the switch or NIC may not support it and drop the packet.
In either case, when packets are dropped, Basler's driver detects this and asks the camera to resend the packet. But if the trouble is severe, even this does not succeed, and the packet is lost forever. This results in the "Buffer incompletely grabbed - 3774873620 GX status 0xe1000014" error.
Typically, packet sizes of ~500 are too small when dealing with large images that naturally consist of lots of data. And we see that not many devices besides our cameras support 16000 byte packets. So starting at 1500 is usually a good approach. If you notice your CPU load is higher than you'd like, you can increase it.
- In the pylon API, we have functions to check statistics like number of dropped packets, number of packets resent, etc. Monitoring this data can be very handy.
- You can also enable the
AutoPacketSizeparameter in the camera, and it will attempt to negotiate a working packet size on its own.