Is the problem located in this function: https://github.com/yast/yast-pkg-bindings/blob/master/src/Source_Create.cc As the URL changes here according the log: 2017-01-04 06:10:22 <1> install(3179) [Pkg] Source_Create.cc(createManagedSource):158 Original URL: cd:///?devices=/dev/disk/by-id/usb-TSSTcorp_CDDVDW_SE-208AB_RL6X853-0:0, product directory: . ........ 2017-01-04 06:10:22 <1> install(3179) [Pkg] Source_Create.cc(createManagedSource):199 Probing source type: 'cd:///%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00?devices=/dev/disk/by-id/usb-TSSTcorp_CDDVDW_SE-208AB_RL6X853-0:0' 150:PkgFunctions::createManagedSource( const zypp::Url & url_r, 151: const zypp::Pathname & path_r, 152: const std::string& type, 153: const std::string &alias_r, 154: PkgProgress &progress, 155: const zypp::ProgressData::ReceiverFnc & progressrcv) 156:{ 157: // parse URL 158: y2milestone ("Original URL: %s, product directory: %s", url_r.asString().c_str(), path_r.asString().c_str()); 159: 160: // #158850#c17, if the URL contains an alias, we use that 161: zypp::Url url; 162: 163: std::string alias = removeAlias(url_r, url); 164: y2milestone("Alias from URL: '%s'", alias.c_str()); 165: 166: // repository type 167: zypp::repo::RepoType repotype; 168: zypp::RepoManager* repomanager = CreateRepoManager(); 169: 170: const bool do_probing = type.empty(); 171: 172: if (!do_probing) 173: { 174: try 175: { 176: // do conversion from the Yast type ("YaST", "YUM", "Plaindir") 177: // to libzypp type ("yast", "yum", "plaindir") 178: repotype = repotype.parse(yast2zyppType(type)); 179: } 180: catch (zypp::repo::RepoUnknownTypeException &e) 181: { 182: y2warning("Unknown source type '%s'", type.c_str()); 183: } 184: } 185: 186: // the type is not specified or is wrong, autoprobe the type 187: if (repotype == zypp::repo::RepoType::NONE) 188: { 189: zypp::Url probe_url(url_r); 190: 191: if (!path_r.asString().empty()) 192: { 193: zypp::Pathname pth(probe_url.getPathName()); 194: pth /= path_r; 195: 196: probe_url.setPathName(pth.asString()); 197: } 198: 199: y2milestone("Probing source type: '%s'", probe_url.asString().c_str()); Somewhere between line 159 - 199 the URL gets a null string...