Hi Steinar,

2015-09-06 16:35 GMT+02:00 Steinar H. Gunderson <sgunder...@bigfoot.com>:
> Package: libcec3
> Version: 3.0.1+dfsg2-4
> Severity: grave
>
> Hi,
>
> Recently, Kodi has started segfaulting on startup, pointing to libcec3.
> A backtrace reads:
>
> #0  0x00007fffecf55789 in __readdir (dirp=dirp@entry=0x0) at 
> ../sysdeps/posix/readdir.c:44
> #1  0x00007fffc81d8b74 in PLATFORM::CDRMEdidParser::GetPhysicalAddress 
> (this=this@entry=0x7fffc29e8550)
>     at 
> /home/sesse/nmu/libcec-3.0.1+dfsg2/src/libcec/platform/drm/drm-edid.cpp:54
> #2  0x00007fffc81e4c0e in 
> CEC::CUSBCECAdapterCommunication::GetPhysicalAddress (this=0x7fffb4000f50)
>     at 
> /home/sesse/nmu/libcec-3.0.1+dfsg2/src/libcec/adapter/Pulse-Eight/USBCECAdapterCommunication.cpp:697
> #3  0x00007fffc81baaec in CEC::CCECClient::AutodetectPhysicalAddress 
> (this=0x1a7cab0)
>     at /home/sesse/nmu/libcec-3.0.1+dfsg2/src/libcec/CECClient.cpp:1224
> #4  0x00007fffc81b884c in CEC::CCECClient::SetPhysicalAddress 
> (this=0x1a7cab0, configuration=...)
>     at /home/sesse/nmu/libcec-3.0.1+dfsg2/src/libcec/CECClient.cpp:236
> #5  0x00007fffc81bcdcb in CEC::CCECClient::OnRegister (this=0x1a7cab0) at 
> /home/sesse/nmu/libcec-3.0.1+dfsg2/src/libcec/CECClient.cpp:138
> #6  0x00007fffc81cd4d2 in CEC::CCECProcessor::RegisterClient (this=0x1a76840, 
> client=std::shared_ptr (count 4, weak 0) 0x1a7cab0)
>     at /home/sesse/nmu/libcec-3.0.1+dfsg2/src/libcec/CECProcessor.cpp:899
> #7  0x00007fffc81d3e7a in CEC::CLibCEC::Open (this=0x1a78d10, 
> strPort=<optimized out>, iTimeoutMs=<optimized out>)
>     at /home/sesse/nmu/libcec-3.0.1+dfsg2/src/libcec/LibCEC.cpp:91
> #8  0x00000000010cdd39 in 
> PERIPHERALS::CPeripheralCecAdapter::OpenConnection() ()
> #9  0x00000000010d0434 in PERIPHERALS::CPeripheralCecAdapter::Process() ()
> #10 0x000000000113f56f in CThread::Action() ()
> #11 0x000000000113f832 in CThread::staticThread(void*) ()
> #12 0x00007ffff55ad0a4 in start_thread (arg=0x7fffc29e9700) at 
> pthread_create.c:309
> #13 0x00007fffecf8807d in clone () at 
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
> It would seem libcec3 unconditionally assumes /sys/class/drm exists
> (it does not on my system using the proprietary NVIDIA driver, since
> that driver doesn't use drm), and then segfaults when it doesn't.
>
> Could you please add a check for the NULL value?
Thank you for the detailed bug report.
Could you please test the fix built here?:
http://debomatic-amd64.debian.net/distribution#unstable/libcec/3.0.1+dfsg2-5

Thanks,
Balint

Reply via email to