cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
siang_choon_le
Level 2

Crash in libudev.so.1 during checkout when running inside a Docker container

Hi, 

When our application runs inside a Docker container it  crashes due a memory allocation mismatch form udev during license checkout:

00:26:53.626 - ======= Backtrace: =========
00:26:53.626 - /lib64/libc.so.6(+0x)[0x]
00:26:53.626 - /lib64/libudev.so.1(udev_device_unref+0x)[0x]
00:26:53.626 - /lib64/libudev.so.1(+0x)[0x]
00:26:53.626 - /lib64/libudev.so.1(+0x)[0x]
00:26:53.626 - /lib64/libudev.so.1(udev_enumerate_scan_devices+0xd0)[0x]

<check out  API called>

The application runs fine when not inside Docker container.   Do you have any suggestions on how to address this issue? 

We have found this workaround:

docker run -it -v /sys/devices:/sys/devices:ro <image> <command>

This shares the entire devices folder with container. What is the minimal share that would still work?

 

Another workaround is:

docker run -it -net host <image> <command> 

This  is not viable due to security concerns and network conflicts with other containers.

 

Thanks!

0 Kudos
(1) Reply
piyusharma1717
Level 2


@siang_choon_le wrote:

Hi, 

When our application runs inside a Docker container it  crashes due a memory allocation mismatch form udev during license checkout:

00:26:53.626 - ======= Backtrace: =========
00:26:53.626 - /lib64/libc.so.6(+0x)[0x]
00:26:53.626 - /lib64/libudev.so.1(udev_device_unref+0x)[0x]
00:26:53.626 - /lib64/libudev.so.1(+0x)[0x]
00:26:53.626 - /lib64/libudev.so.1(+0x)[0x]
00:26:53.626 - /lib64/libudev.so.1(udev_enumerate_scan_devices+0xd0)[0x]

<check out  API called>

The application runs fine when not inside Docker container.   Do you have any suggestions on how to address this issue? 

We have found this workaround:

docker run -it -v /sys/devices:/sys/devices:ro <image> <command>

This shares the entire devices folder with container. What is the minimal share that would still work?

livelounge.info

Another workaround is:

docker run -it -net host <image> <command> 

This  is not viable due to security concerns and network conflicts with other containers.

 

Thanks!


I was facing the same problem few days back, so i restart the whole process and it works for me. 

0 Kudos