FATAL:arc_net_host_impl.cc(406)] Check failed: !tmp.empty(). |
|||||
Issue descriptionThis DCHECK is failing consistently at startup for "dcheck_always_on = true" builds.
,
Feb 27 2017
We shouldn't make BSSID required in ONC since we also use ONC for configuring networks, and configurations are not going to include BSSID. Scanning that code, parts of it are confusing and/or incorrect. The comment on line 358 says "Retrieve list of nearby wifi networks". However the filter may be either 'visible only' or 'configured only', depending on 'type'. (We also probably shouldn't have two separate mutually exclusive booleans, the filter parameters are just 'get configured' and 'get visible'). If configured(_only) is true, we shouldn't be attempting to parse BSSID, that is really the bug here. We could also modify TranslateNetworkStateToONC() to not include BSSID if the string is empty, but we still have to make sure that we don't expect BSSID to be present when requesting configured networks.
,
Sep 28
Triage nag: This Chrome OS bug has an owner but no component. Please add a component so that this can be tracked by the relevant team.
,
Sep 28
,
Nov 8
<UI triage> Bug owners, please add the appropriate component to your bug. Thanks!
,
Nov 20
This function is deprecated, so the implementation will be removed once this CL goes in - https://chromium-review.googlesource.com/c/chromium/src/+/1344991
,
Dec 7
,
Dec 8
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by cernekee@chromium.org
, Feb 26 2017Hmm, interesting. So the Chromium style guide says: > The CHECK() macro will cause an immediate crash if its condition is not met. DCHECK() is like CHECK() but is only compiled in when DCHECK_IS_ON is true (debug builds and some bot configurations, but not end-user builds). NOTREACHED() is equivalent to DCHECK(false). I always assumed that since we were seeing NOTREACHED errors in the logs (I've fixed several of them myself), both DCHECK(false) and NOTREACHED() were being exercised in our builds. But alas, the above documentation is not 100% accurate: #if !DCHECK_IS_ON() && defined(OS_CHROMEOS) // Implement logging of NOTREACHED() as a dedicated function to get function // call overhead down to a minimum. void LogErrorNotReached(const char* file, int line); #define NOTREACHED() \ true ? ::logging::LogErrorNotReached(__FILE__, __LINE__) \ : EAT_STREAM_PARAMETERS #else #define NOTREACHED() DCHECK(false) #endif In this case (DCHECK at line 406) we are receiving a wifi NetworkConfiguration ONC dictionary with a non-empty GUID, a non-empty WiFi dictionary, and a non-empty Security string. But the BSSID string is empty (yet present). I assume this is happening when we request a network list with visible_only=false, because in that case, it may return networks that are not in range. Steven, according to chrome/test/data/extensions/api_test/networking_private/chromeos/test.js BSSID can be empty. Is it OK if I add it to the ONC spec as a required string property that can be empty if unknown? Or should we make it an optional property for consistency with the other WiFi properties?