<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Verdana;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ligatures:standardcontextual;
mso-fareast-language:EN-US;}
span.EstiloCorreo17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;
mso-ligatures:standardcontextual;
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="ES" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hi.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">We are using ModemManager 1.18.8 library and sometimes we got segmentation fault when calling mm_object_get_modem function. It happens from time to time, no clues about circumstances, as our code is continuously inquiring
for modem object in this function:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#4EC9B0;mso-ligatures:none;mso-fareast-language:ES">MMModemPtr</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#4EC9B0;mso-ligatures:none;mso-fareast-language:ES">ModemManagerFacade</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">::</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#DCDCAA;mso-ligatures:none;mso-fareast-language:ES">getModemPtr</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">(</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#569CD6;mso-ligatures:none;mso-fareast-language:ES">const</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#4EC9B0;mso-ligatures:none;mso-fareast-language:ES">std</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">::</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#4EC9B0;mso-ligatures:none;mso-fareast-language:ES">string</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#569CD6;mso-ligatures:none;mso-fareast-language:ES">&</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#9CDCFE;mso-ligatures:none;mso-fareast-language:ES">imei</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">)<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES"> MMObject
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#D4D4D4;mso-ligatures:none;mso-fareast-language:ES">*</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">object
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#D4D4D4;mso-ligatures:none;mso-fareast-language:ES">=</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#DCDCAA;mso-ligatures:none;mso-fareast-language:ES">getObject</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">(imei);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#C586C0;mso-ligatures:none;mso-fareast-language:ES">if</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
(object </span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#D4D4D4;mso-ligatures:none;mso-fareast-language:ES">==</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#569CD6;mso-ligatures:none;mso-fareast-language:ES">nullptr</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">)
{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#C586C0;mso-ligatures:none;mso-fareast-language:ES">return</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#DCDCAA;mso-ligatures:none;mso-fareast-language:ES">MMModemPtr</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">(</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#569CD6;mso-ligatures:none;mso-fareast-language:ES">nullptr</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">,
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#D4D4D4;mso-ligatures:none;mso-fareast-language:ES">&</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">g_object_unref);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES"> }<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#C586C0;mso-ligatures:none;mso-fareast-language:ES">return</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#DCDCAA;mso-ligatures:none;mso-fareast-language:ES">MMModemPtr</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">(</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#DCDCAA;mso-ligatures:none;mso-fareast-language:ES">mm_object_get_modem</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">(object),
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#D4D4D4;mso-ligatures:none;mso-fareast-language:ES">&</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">g_object_unref);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">It returns a MMModemPtr type, which is a unique pointer:<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#C586C0;mso-ligatures:none;mso-fareast-language:ES">using</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#4EC9B0;mso-ligatures:none;mso-fareast-language:ES">MMModemPtr</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#D4D4D4;mso-ligatures:none;mso-fareast-language:ES">=</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#4EC9B0;mso-ligatures:none;mso-fareast-language:ES">std</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">::</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#4EC9B0;mso-ligatures:none;mso-fareast-language:ES">unique_ptr</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES"><</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#4EC9B0;mso-ligatures:none;mso-fareast-language:ES">MMModem</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">,
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#569CD6;mso-ligatures:none;mso-fareast-language:ES">decltype</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">(</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#D4D4D4;mso-ligatures:none;mso-fareast-language:ES">&</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">g_object_unref)>;</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#6A9955;mso-ligatures:none;mso-fareast-language:ES">///<
MMModem Unique pointer with custom deleter</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">and it’s checked every time that function is called as in:<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES"> MMModemPtr modem
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#D4D4D4;mso-ligatures:none;mso-fareast-language:ES">=</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#DCDCAA;mso-ligatures:none;mso-fareast-language:ES">getModemPtr</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">(imei);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#C586C0;mso-ligatures:none;mso-fareast-language:ES">if</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
(modem </span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#D4D4D4;mso-ligatures:none;mso-fareast-language:ES">==</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#569CD6;mso-ligatures:none;mso-fareast-language:ES">nullptr</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">)
{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span style="font-size:10.5pt;font-family:Consolas;color:#C586C0;mso-ligatures:none;mso-fareast-language:ES">return</span><span style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES"> DPY_UNAVAILABLE;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">MMobject is stored in a map<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#4EC9B0;mso-ligatures:none;mso-fareast-language:ES">std</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">::map</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#D4D4D4;mso-ligatures:none;mso-fareast-language:ES"><</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#4EC9B0;mso-ligatures:none;mso-fareast-language:ES">std</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">::string,
MMObject</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#D4D4D4;mso-ligatures:none;mso-fareast-language:ES">*></span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
mImeiToObjectMap;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">and obtained in <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#4EC9B0;mso-ligatures:none;mso-fareast-language:ES">MMObject</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#569CD6;mso-ligatures:none;mso-fareast-language:ES">*</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#4EC9B0;mso-ligatures:none;mso-fareast-language:ES">ModemManagerFacade</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">::</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#DCDCAA;mso-ligatures:none;mso-fareast-language:ES">getObject</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">(</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#4EC9B0;mso-ligatures:none;mso-fareast-language:ES">std</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">::</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#4EC9B0;mso-ligatures:none;mso-fareast-language:ES">string</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#9CDCFE;mso-ligatures:none;mso-fareast-language:ES">imei</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">)<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#6A9955;mso-ligatures:none;mso-fareast-language:ES">/* Some previous checkings …<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;line-height:14.25pt;background:#1F1F1F">
<span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#6A9955;mso-ligatures:none;mso-fareast-language:ES">…and*/</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#569CD6;mso-ligatures:none;mso-fareast-language:ES">auto</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
it </span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#D4D4D4;mso-ligatures:none;mso-fareast-language:ES">=</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#9CDCFE;mso-ligatures:none;mso-fareast-language:ES">mImeiToObjectMap</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">.</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#DCDCAA;mso-ligatures:none;mso-fareast-language:ES">find</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">(imei);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#C586C0;mso-ligatures:none;mso-fareast-language:ES">if</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
(it </span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#D4D4D4;mso-ligatures:none;mso-fareast-language:ES">==</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#9CDCFE;mso-ligatures:none;mso-fareast-language:ES">mImeiToObjectMap</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">.</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#DCDCAA;mso-ligatures:none;mso-fareast-language:ES">end</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">())
{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#C586C0;mso-ligatures:none;mso-fareast-language:ES">return</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#569CD6;mso-ligatures:none;mso-fareast-language:ES">nullptr</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">
</span><span style="font-size:10.5pt;font-family:Consolas;color:#C586C0;mso-ligatures:none;mso-fareast-language:ES">return</span><span style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES"> (</span><span style="font-size:10.5pt;font-family:Consolas;color:#9CDCFE;mso-ligatures:none;mso-fareast-language:ES">it</span><span style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">-></span><span style="font-size:10.5pt;font-family:Consolas;color:#9CDCFE;mso-ligatures:none;mso-fareast-language:ES">second</span><span style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span style="font-size:10.5pt;font-family:Consolas;color:#CCCCCC;mso-ligatures:none;mso-fareast-language:ES">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">But I don’t think MMobject pointer is the problem as it’s checked inside mm_object_get_modem function:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-ligatures:none;mso-fareast-language:ES">MMModem *<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-ligatures:none;mso-fareast-language:ES">mm_object_get_modem (MMObject *self)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-ligatures:none;mso-fareast-language:ES">{<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-ligatures:none;mso-fareast-language:ES"> MMModem *modem;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-ligatures:none;mso-fareast-language:ES"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-ligatures:none;mso-fareast-language:ES"> g_return_val_if_fail (MM_IS_OBJECT (MM_GDBUS_OBJECT (self)), NULL);<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-ligatures:none;mso-fareast-language:ES"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-ligatures:none;mso-fareast-language:ES"> modem = (MMModem *)mm_gdbus_object_get_modem (MM_GDBUS_OBJECT (self));<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-ligatures:none;mso-fareast-language:ES"> g_warn_if_fail (MM_IS_MODEM (modem));<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-ligatures:none;mso-fareast-language:ES"> return modem;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-ligatures:none;mso-fareast-language:ES">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";mso-ligatures:none;mso-fareast-language:ES"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">and the backtrace shows that the program terminates after calling mm_gdbus_object_get_modem<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">Program terminated with signal SIGSEGV, Segmentation fault.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">#0 0x0000ffffad048ab8 in g_hash_table_lookup () from /usr/lib/libglib-2.0.so.0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">[Current thread is 1 (LWP 10802)]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">(gdb) bt<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">#0 0x0000ffffad048ab8 in g_hash_table_lookup () from /usr/lib/libglib-2.0.so.0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">#1 0x0000ffffad2f5824 in ?? () from /usr/lib/libgio-2.0.so.0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">#2 0x0000ffffad4629dc in mm_gdbus_object_get_modem () from /usr/lib/libmm-glib.so.0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">#3 0x0000ffffad422e2c in mm_object_get_modem () from /usr/lib/libmm-glib.so.0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">#4 0x0000aaaabff73124 in ModemManagerFacade::getModemPtr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">#5 0x0000aaaabff745f0 in ModemManagerFacade::getDominantTechnologySignalQuality(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, dpyModem::SignalQuality&,
bool&) ()<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">#6 0x0000aaaabff5d97c in ModemManagerDevice::update_signalQuality() ()<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">#7 0x0000aaaabffbb050 in ModemSupervisor::updateModemParameters() ()<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">#8 0x0000aaaabffbbc44 in ModemSupervisor::checkModemStatus(boost::system::error_code const&, dpyModem::ModemState) ()<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">#9 0x0000aaaabffbcfe8 in boost::asio::detail::wait_handler<boost::_bi::bind_t<void, boost::_mfi::mf2<void, ModemSupervisor, boost::system::error_code const&, dpyModem::ModemState>, boost::_bi::list3<boost::_bi::value<ModemSupervisor*>,
boost::arg<1> (*)(), boost::_bi::value<dpyModem::ModemState> > > >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) ()<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">#10 0x0000aaaabff0de38 in boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code
const&) ()<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">#11 0x0000aaaabffe704c in ModemService::operator()(boost::application::basic_context&) ()<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">#12 0x0000aaaabffd019c in int boost::application::launch<boost::application::common, boost::application::auto_handler<ModemService>, boost::application::basic_context>(boost::application::auto_handler<ModemService>&,
boost::application::basic_context&, boost::system::error_code&) ()<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">#13 0x0000aaaabfedc9a0 in main ()</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Any ideas about why this can be happening? Has it ever been seen before?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Thank you!<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ligatures:none;mso-fareast-language:ES"><o:p> </o:p></span></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="450" style="width:337.5pt">
<tbody>
<tr>
<td width="150" valign="top" style="width:112.5pt;border:none;border-right:solid #DF0024 1.5pt;padding:0cm 11.25pt 0cm 0cm">
<p class="MsoNormal" align="center" style="text-align:center"><a href="https://www.gmv.com/" target="_blank"><span style="font-family:"Verdana",sans-serif;color:blue;mso-fareast-language:ES;text-decoration:none"><img border="0" width="175" height="68" style="width:1.8263in;height:.7083in" id="Imagen_x0020_1" src="cid:image001.jpg@01D99F89.0F4ED1E0" alt="Logo"></span></a><span style="font-family:"Verdana",sans-serif;mso-ligatures:none;mso-fareast-language:ES"><o:p></o:p></span></p>
</td>
<td valign="top" style="padding:0cm 0cm 0cm 11.25pt">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#333333;mso-ligatures:none;mso-fareast-language:ES">Héctor Jiménez Méndez</span></b><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;mso-ligatures:none;mso-fareast-language:ES"><br>
<span style="color:#333333">Firmware engineer</span><br>
<br>
<span style="color:#333333">T. 983 54 65 54<br>
M. 696 297 286<br>
</span><br>
</span><span style="font-size:8.0pt;font-family:"Verdana",sans-serif;color:#333333;mso-ligatures:none;mso-fareast-language:ES">Juan de Herrera, nº 17, P.T.B.</span><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;mso-ligatures:none;mso-fareast-language:ES"><br>
</span><span style="font-size:8.0pt;font-family:"Verdana",sans-serif;color:#333333;mso-ligatures:none;mso-fareast-language:ES">47151 Boecillo, Valladolid | Spain</span><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;mso-ligatures:none;mso-fareast-language:ES"><o:p></o:p></span></p>
</td>
</tr>
<tr>
<td style="border:none;border-right:solid #DF0024 1.5pt;padding:0cm 0cm 0cm 0cm">
<div align="center">
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="150" style="width:112.5pt">
<tbody>
<tr>
<td style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><a href="http://www.gmv.com/communication/blog" target="_blank"><span style="color:blue;mso-fareast-language:ES;text-decoration:none"><img border="0" width="34" height="23" style="width:.3541in;height:.243in" id="Imagen_x0020_2" src="cid:image002.jpg@01D99F89.0F4ED1E0"></span></a><span style="mso-ligatures:none;mso-fareast-language:ES"><o:p></o:p></span></p>
</td>
<td width="24" style="width:18.0pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><a href="http://www.facebook.com/infoGMV" target="_blank"><span style="color:blue;mso-fareast-language:ES;text-decoration:none"><img border="0" width="22" height="22" style="width:.2291in;height:.2291in" id="Imagen_x0020_3" src="cid:image003.jpg@01D99F89.0F4ED1E0"></span></a><span style="mso-ligatures:none;mso-fareast-language:ES"><o:p></o:p></span></p>
</td>
<td width="24" style="width:18.0pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><a href="http://www.twitter.com/infoGMV" target="_blank"><span style="color:blue;mso-fareast-language:ES;text-decoration:none"><img border="0" width="22" height="22" style="width:.2291in;height:.2291in" id="Imagen_x0020_4" src="cid:image004.jpg@01D99F89.0F4ED1E0"></span></a><span style="mso-ligatures:none;mso-fareast-language:ES"><o:p></o:p></span></p>
</td>
<td width="24" style="width:18.0pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><a href="http://www.youtube.com/infoGMV" target="_blank"><span style="color:blue;mso-fareast-language:ES;text-decoration:none"><img border="0" width="22" height="22" style="width:.2291in;height:.2291in" id="Imagen_x0020_5" src="cid:image005.jpg@01D99F89.0F4ED1E0"></span></a><span style="mso-ligatures:none;mso-fareast-language:ES"><o:p></o:p></span></p>
</td>
<td width="24" style="width:18.0pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><a href="https://www.instagram.com/companygmv/" target="_blank"><span style="color:blue;mso-fareast-language:ES;text-decoration:none"><img border="0" width="22" height="22" style="width:.2291in;height:.2291in" id="Imagen_x0020_6" src="cid:image006.jpg@01D99F89.0F4ED1E0"></span></a><span style="mso-ligatures:none;mso-fareast-language:ES"><o:p></o:p></span></p>
</td>
<td width="24" style="width:18.0pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><a href="https://www.linkedin.com/company/gmv" target="_blank"><span style="color:blue;mso-fareast-language:ES;text-decoration:none"><img border="0" width="22" height="22" style="width:.2291in;height:.2291in" id="Imagen_x0020_7" src="cid:image007.jpg@01D99F89.0F4ED1E0"></span></a><span style="mso-ligatures:none;mso-fareast-language:ES"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
</div>
</td>
<td style="padding:0cm 0cm 0cm 11.25pt">
<p class="MsoNormal"><span style="font-family:"Verdana",sans-serif;mso-ligatures:none;mso-fareast-language:ES"><a href="http://www.gmv.com/" target="_blank"><b><span style="font-size:9.0pt;color:#DF0024">www.gmv.com</span></b></a><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="mso-ligatures:none;mso-fareast-language:ES"><o:p> </o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>