Closed Bug 1426936 Opened 6 years ago Closed 6 years ago

hal/cocoa/CocoaBattery.cpp incorrectly assumes a battery must be present

Categories

(Core :: Hardware Abstraction Layer (HAL), defect)

57 Branch
Unspecified
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla60
Tracking Status
firefox-esr52 --- wontfix
firefox58 --- wontfix
firefox59 --- wontfix
firefox60 --- fixed

People

(Reporter: firefoxcrashes, Assigned: gsvelto)

References

Details

(Keywords: crash)

Crash Data

Attachments

(3 files)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/604.4.7 (KHTML, like Gecko) Version/11.0.2 Safari/604.4.7

Steps to reproduce:

Start Firefox and wait.


Actual results:

Crash.


Expected results:

not crash
There is a problem with the assumption in hal/cocoa/CocoaBattery.cpp, line 260 where it presumes a battery exists.

This is not the case for the Mac Pro desktop machines.

A few crash reports, all pointing to the same problem.


bp-0bc72ed1-ccb9-4612-9869-c80d00171210
bp-67fd23ba-5893-4dbc-8d62-25cf40171206
bp-b4c13d6c-b110-4c7b-bb4c-0ee8e0171206
bp-5eaa2b60-f6df-4cfb-8d41-b8aeb0171206
bp-b45ce8fa-c7bf-44ae-8929-94c790171206
bp-21c2a263-c559-43f7-85ea-da2b70171205
bp-27e8fd16-980b-4bd5-b563-c0f630171203
bp-d00bdbdb-9a95-40cd-8e35-08c160171202

The summariser shows another couple of hundred identical reports.

Hacking the loop in there to produce a quick standalone (.cpp attached) which tests for the lookup failure and dumps the dictionary contents produces the following.

IOPSCopyPowerSourcesList has 1 entries in array
Examining IOPSCopyPoiwerSourcesList entry 0
Cannot find value Current Capacity
Dictionary for this entry is as follows
Key (null) = <CFNumber 0x8237 [0x7fffa0c08980]>{value = +130, type = kCFNumberSInt64Type}
Key <CFString 0x103b35c00 [0x7fffa0c08980]>{contents = "Product ID"} = <CFNumber 0x37 [0x7fffa0c08980]>{value = +0, type = kCFNumberSInt64Type}
Key <CFString 0x7fffa0b76178 [0x7fffa0c08980]>{contents = "Transport Type"} = (null)
Key (null) = <CFNumber 0x137 [0x7fffa0c08980]>{value = +1, type = kCFNumberSInt64Type}
Key <CFString 0x7fffa0b717d8 [0x7fffa0c08980]>{contents = "Power Source State"} = (null)
Key (null) = <CFBoolean 0x7fffa0c09278 [0x7fffa0c08980]>{value = true}
Key <CFString 0x103b35bd0 [0x7fffa0c08980]>{contents = "Power Source ID"} = <CFNumber 0xc9000037 [0x7fffa0c08980]>{value = +13172736, type = kCFNumberSInt64Type}
Key <CFString 0x7fffa0b30558 [0x7fffa0c08980]>{contents = "Max Capacity"} = <CFNumber 0x6437 [0x7fffa0c08980]>{value = +100, type = kCFNumberSInt64Type}
Key (null) = (null)
Key <CFString 0x7fffa0bb1eb8 [0x7fffa0c08980]>{contents = "Is Present"} = <CFBoolean 0x7fffa0c09278 [0x7fffa0c08980]>{value = true}
Key (null) = (null)
Program ended with exit code: 0
Attached file main.cpp
Isolated code from hal/cocoa/CocoaBattery.cpp with added debug to illustrate contents of Mac Pro that does not have a battery.
Simple patch for no battery scenario.
Quick run on a MacBook Pro gives the typically expected result.

IOPSCopyPowerSourcesList has 1 entries in array
Examining IOPSCopyPoiwerSourcesList entry 0
Entry Current Capacity has value 100
Crash Signature: [@ CFNumberGetValue ]
Application Basics
------------------

Name: Firefox
Version: 59.0a1
Build ID: 20171219141417
Update Channel: default
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:59.0) Gecko/20100101 Firefox/59.0
OS: Darwin 17.3.0
Multiprocess Windows: 1/1 (Enabled by default)
Web Content Processes: 4/4
Stylo: content = true (enabled by default), chrome = false (disabled by default)
Google Key: Missing
Mozilla Location Service Key: Missing
Safe Mode: false

Crash Reports for the Last 3 Days
---------------------------------

All Crash Reports

Nightly Features
----------------

Name: Activity Stream
Version: 2017.12.08.1270-dc9d0c0e
ID: activity-stream@mozilla.org

Name: Application Update Service Helper
Version: 2.0
ID: aushelper@mozilla.org

Name: Firefox Screenshots
Version: 25.0.0
ID: screenshots@mozilla.org

Name: Follow-on Search Telemetry
Version: 0.9.6
ID: followonsearch@mozilla.com

Name: Form Autofill
Version: 1.0
ID: formautofill@mozilla.org

Name: Photon onboarding
Version: 1.0
ID: onboarding@mozilla.org

Name: Pocket
Version: 1.0.5
ID: firefox@getpocket.com

Name: Presentation
Version: 1.0.0
ID: presentation@mozilla.org

Name: Shield Recipe Client
Version: 80
ID: shield-recipe-client@mozilla.org

Name: Web Compat
Version: 1.1
ID: webcompat@mozilla.org

Name: WebCompat Reporter
Version: 1.0.0
ID: webcompat-reporter@mozilla.org

Extensions
----------

Graphics
--------

Features
Compositing: OpenGL
Asynchronous Pan/Zoom: wheel input enabled; scrollbar drag enabled; keyboard enabled; autoscroll enabled
WebGL 1 Driver WSI Info: CGL
WebGL 1 Driver Renderer: ATI Technologies Inc. -- AMD Radeon HD - FirePro D700 OpenGL Engine
WebGL 1 Driver Version: 4.1 ATI-1.60.24
WebGL 1 Driver Extensions: GL_ARB_blend_func_extended GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_ES2_compatibility GL_ARB_explicit_attrib_location GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader5 GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_occlusion_query2 GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_subroutine GL_ARB_shading_language_include GL_ARB_tessellation_shader GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_swizzle GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_vertex_attrib_64bit GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_depth_bounds_test GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_mirror_clamp GL_EXT_texture_sRGB_decode GL_APPLE_client_storage GL_APPLE_container_object_shareable GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_texture_range GL_ATI_texture_mirror_once GL_NV_texture_barrier
WebGL 1 Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_frag_depth EXT_sRGB EXT_shader_texture_lod EXT_texture_filter_anisotropic EXT_disjoint_timer_query OES_element_index_uint OES_standard_derivatives OES_texture_float OES_texture_float_linear OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_draw_buffers WEBGL_lose_context
WebGL 2 Driver WSI Info: CGL
WebGL 2 Driver Renderer: ATI Technologies Inc. -- AMD Radeon HD - FirePro D700 OpenGL Engine
WebGL 2 Driver Version: 4.1 ATI-1.60.24
WebGL 2 Driver Extensions: GL_ARB_blend_func_extended GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_ES2_compatibility GL_ARB_explicit_attrib_location GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader5 GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_occlusion_query2 GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_subroutine GL_ARB_shading_language_include GL_ARB_tessellation_shader GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_swizzle GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_vertex_attrib_64bit GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_depth_bounds_test GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_mirror_clamp GL_EXT_texture_sRGB_decode GL_APPLE_client_storage GL_APPLE_container_object_shareable GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_texture_range GL_ATI_texture_mirror_once GL_NV_texture_barrier
WebGL 2 Extensions: EXT_color_buffer_float EXT_texture_filter_anisotropic EXT_disjoint_timer_query OES_texture_float_linear WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context
Off Main Thread Painting Enabled: true
GPU #1
Active: Yes
Vendor ID: 0x1002
Device ID: 0x6798

Diagnostics
AzureCanvasAccelerated: 1
AzureCanvasBackend: skia
AzureContentBackend: skia
AzureFallbackCanvasBackend: none
TileHeight: 512
TileWidth: 512
Decision Log
WEBRENDER:
opt-in by default: WebRender is an opt-in feature




Media
-----

Audio Backend: audiounit
Max Channels: 2
Preferred Channel Layout: stereo
Preferred Sample Rate: 44100
Output Devices
Name: Group
USB audio CODEC: AppleUSBAudioEngine:Burr-Brown from TI:USB audio CODEC:1400000:1
Headphones: AppleHDAEngineOutput:1B,0,1,1:0
DELL U2410: AppleHDAEngineOutputDP:0,1,0,1,4:0:{AC10-F017-304C304C}
DELL U2410: AppleHDAEngineOutputDP:0,1,0,1,5:1:{AC10-F017-3237464C}
DELL U2410: AppleHDAEngineOutputDP:0,1,0,1,0:2:{AC10-F017-3137474C}
EA244WMi: AppleHDAEngineOutputDP:0,1,0,1,1:3:{A338-68D6-00000000}
Input Devices
Name: Group
USB audio CODEC: AppleUSBAudioEngine:Burr-Brown from TI:USB audio CODEC:1400000:2

Important Modified Preferences
------------------------------

accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.capacity: 358400
browser.cache.disk.filesystem_reported: 1
browser.cache.disk.smart_size.first_run: false
browser.cache.frecency_experiment: 1
browser.places.smartBookmarksVersion: 8
browser.sessionstore.upgradeBackup.latestBuildID: 20171219100730
browser.startup.homepage_override.buildID: 20171219100730
browser.startup.homepage_override.mstone: 59.0a1
browser.urlbar.timesBeforeHidingSuggestionsHint: 0
dom.forms.autocomplete.formautofill: true
extensions.lastAppVersion: 59.0a1
font.internaluseonly.changed: true
media.gmp-gmpopenh264.abi: x86_64-gcc3
media.gmp-gmpopenh264.lastUpdate: 1513679434
media.gmp-gmpopenh264.version: 1.7.1
media.gmp-manager.buildID: 20171219100730
media.gmp-manager.lastCheck: 1514040598
media.gmp-widevinecdm.abi: x86_64-gcc3
media.gmp-widevinecdm.lastUpdate: 1513679435
media.gmp-widevinecdm.version: 1.4.8.1008
media.gmp.storage.version.observed: 1
network.cookie.prefsMigrated: true
network.predictor.cleaned-up: true
places.database.lastMaintenance: 1513691969
places.history.expiration.transient_current_max_pages: 104858
plugin.disable_full_page_plugin_for_types: application/pdf
security.sandbox.content.tempDirSuffix: {7f2932b3-8bf0-e04c-b46c-3f3a455ef01f}
services.sync.engine.addresses.available: true
services.sync.engine.creditcards.available: true
storage.vacuum.last.index: 1
storage.vacuum.last.places.sqlite: 1513691969

user.js Preferences
-------------------

Your profile folder contains a user.js file, which includes preferences that were not created by Nightly.

Important Locked Preferences
----------------------------

Places Database
---------------

JavaScript
----------

Incremental GC: true

Accessibility
-------------

Activated: false
Prevent Accessibility: 0

Library Versions
----------------

NSPR
Expected minimum version: 4.18 Beta
Version in use: 4.18 Beta

NSS
Expected minimum version: 3.35 Beta
Version in use: 3.35 Beta

NSSSMIME
Expected minimum version: 3.35 Beta
Version in use: 3.35 Beta

NSSSSL
Expected minimum version: 3.35 Beta
Version in use: 3.35 Beta

NSSUTIL
Expected minimum version: 3.35 Beta
Version in use: 3.35 Beta

Experimental Features
---------------------

Sandbox
-------

Content Process Sandbox Level: 3
Effective Content Process Sandbox Level: 3

Internationalization & Localization
-----------------------------------

Application Settings
Requested Locales: ["en-US"]
Available Locales: ["en-US"]
App Locales: ["en-US"]
Regional Preferences: ["en-GB"]
Default Locale: "en-US"
Operating System
System Locales: ["en-GB"]
Regional Preferences: ["en-GB"]
And a quick shuffle to always dump the dictionary (so we get the data in the good case) shows the following for a MacBook Pro with a battery,

IOPSCopyPowerSourcesList has 1 entries in array
Examining IOPSCopyPoiwerSourcesList entry 0
Key <CFString 0x7fffa141ceb8 [0x7fffa1473980]>{contents = "Is Present"} = <CFBoolean 0x7fffa1474278 [0x7fffa1473980]>{value = true}
Key <CFString 0x7fffa13dc7d8 [0x7fffa1473980]>{contents = "Power Source State"} = <CFString 0x7fffa141ac38 [0x7fffa1473980]>{contents = "Battery Power"}
Key <CFString 0x7fa9a9c03360 [0x7fffa1473980]>{contents = "Current"} = <CFNumber 0xffffffffffffdc37 [0x7fffa1473980]>{value = -36, type = kCFNumberSInt64Type}
Key <CFString 0x7fffa139b558 [0x7fffa1473980]>{contents = "Max Capacity"} = <CFNumber 0x6437 [0x7fffa1473980]>{value = +100, type = kCFNumberSInt64Type}
Key <CFString 0x7fffa138afb8 [0x7fffa1473980]>{contents = "DesignCycleCount"} = <CFNumber 0x3e837 [0x7fffa1473980]>{value = +1000, type = kCFNumberSInt64Type}
Key <CFString 0x7fffa13d5d98 [0x7fffa1473980]>{contents = "Current Capacity"} = <CFNumber 0x6337 [0x7fffa1473980]>{value = +99, type = kCFNumberSInt64Type}
Key <CFString 0x7fffa137ea78 [0x7fffa1473980]>{contents = "Name"} = <CFString 0x7fffa1384dd8 [0x7fffa1473980]>{contents = "InternalBattery-0"}
Key <CFString 0x7fffa13d4178 [0x7fffa1473980]>{contents = "Battery Provides Time Remaining"} = <CFBoolean 0x7fffa1474278 [0x7fffa1473980]>{value = true}
Key <CFString 0x7fa9a9c00140 [0x7fffa1473980]>{contents = "Is Charging"} = <CFBoolean 0x7fffa1474288 [0x7fffa1473980]>{value = false}
Key <CFString 0x7fffa13f3e38 [0x7fffa1473980]>{contents = "Hardware Serial Number"} = <CFString 0x7fa9a9c02cb0 [0x7fffa1473980]>{contents = "D863082Q30EF9Y2AR"}
Key <CFString 0x7fffa13e1178 [0x7fffa1473980]>{contents = "Transport Type"} = <CFString 0x7fffa13e72d8 [0x7fffa1473980]>{contents = "Internal"}
Key <CFString 0x7fffa14175d8 [0x7fffa1473980]>{contents = "Time to Empty"} = <CFNumber 0xffffffffffffff37 [0x7fffa1473980]>{value = -1, type = kCFNumberSInt64Type}
Key <CFString 0x7fa9a9c02c80 [0x7fffa1473980]>{contents = "Power Source ID"} = <CFNumber 0x4f006337 [0x7fffa1473980]>{value = +5177443, type = kCFNumberSInt64Type}
Key <CFString 0x7fffa13d14d8 [0x7fffa1473980]>{contents = "Type"} = <CFString 0x7fffa1433238 [0x7fffa1473980]>{contents = "InternalBattery"}
Key <CFString 0x7fffa1423638 [0x7fffa1473980]>{contents = "BatteryHealth"} = <CFString 0x7fa9a9c02ce0 [0x7fffa1473980]>{contents = "Good"}
Key <CFString 0x7fffa13eca18 [0x7fffa1473980]>{contents = "Time to Full Charge"} = <CFNumber 0x37 [0x7fffa1473980]>{value = +0, type = kCFNumberSInt64Type}

Entry Current Capacity has value 99
Component: Untriaged → Widget: Cocoa
Product: Firefox → Core
Component: Widget: Cocoa → Hardware Abstraction Layer (HAL)
Crash seen in 57.0.3

bp-e6bb1505-4dda-407f-84ec-bd7af1171229
about:support under 57.0.3

Application Basics
------------------

Name: Firefox
Version: 57.0.3
Build ID: 20171226083017
Update Channel: release
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:57.0) Gecko/20100101 Firefox/57.0
OS: Darwin 17.3.0
Multiprocess Windows: 1/1 (Enabled by default)
Web Content Processes: 1/4
Stylo: true (enabled by default)
Google Key: Found
Mozilla Location Service Key: Found
Safe Mode: false

Crash Reports for the Last 3 Days
---------------------------------

Report ID: bp-e6bb1505-4dda-407f-84ec-bd7af1171229
Submitted: 5 minutes ago

Report ID: bp-d9d86d9e-31aa-4edc-a9e9-8c71a1171227
Submitted: 2 days ago

All Crash Reports

Firefox Features
----------------

Name: Activity Stream
Version: 2017.11.07.1100-7f4e3634
ID: activity-stream@mozilla.org

Name: Application Update Service Helper
Version: 2.0
ID: aushelper@mozilla.org

Name: Disable Media WMF NV12 format
Version: 1.1
ID: disable-media-wmf-nv12@mozilla.org

Name: Firefox Screenshots
Version: 19.2.0
ID: screenshots@mozilla.org

Name: Follow-on Search Telemetry
Version: 0.9.6
ID: followonsearch@mozilla.com

Name: Form Autofill
Version: 1.0
ID: formautofill@mozilla.org

Name: Multi-process staged rollout
Version: 3.05
ID: e10srollout@mozilla.org

Name: Photon onboarding
Version: 1.0
ID: onboarding@mozilla.org

Name: Pocket
Version: 1.0.5
ID: firefox@getpocket.com

Name: Shield Recipe Client
Version: 76.1
ID: shield-recipe-client@mozilla.org

Name: Web Compat
Version: 1.1
ID: webcompat@mozilla.org

Extensions
----------

Graphics
--------

Features
Compositing: OpenGL
Asynchronous Pan/Zoom: wheel input enabled; scrollbar drag enabled; keyboard enabled; autoscroll enabled
WebGL 1 Driver WSI Info: CGL
WebGL 1 Driver Renderer: ATI Technologies Inc. -- AMD Radeon HD - FirePro D700 OpenGL Engine
WebGL 1 Driver Version: 4.1 ATI-1.60.24
WebGL 1 Driver Extensions: GL_ARB_blend_func_extended GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_ES2_compatibility GL_ARB_explicit_attrib_location GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader5 GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_occlusion_query2 GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_subroutine GL_ARB_shading_language_include GL_ARB_tessellation_shader GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_swizzle GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_vertex_attrib_64bit GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_depth_bounds_test GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_mirror_clamp GL_EXT_texture_sRGB_decode GL_APPLE_client_storage GL_APPLE_container_object_shareable GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_texture_range GL_ATI_texture_mirror_once GL_NV_texture_barrier
WebGL 1 Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_frag_depth EXT_sRGB EXT_shader_texture_lod EXT_texture_filter_anisotropic EXT_disjoint_timer_query OES_element_index_uint OES_standard_derivatives OES_texture_float OES_texture_float_linear OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_draw_buffers WEBGL_lose_context MOZ_WEBGL_lose_context MOZ_WEBGL_compressed_texture_s3tc MOZ_WEBGL_depth_texture
WebGL 2 Driver WSI Info: CGL
WebGL 2 Driver Renderer: ATI Technologies Inc. -- AMD Radeon HD - FirePro D700 OpenGL Engine
WebGL 2 Driver Version: 4.1 ATI-1.60.24
WebGL 2 Driver Extensions: GL_ARB_blend_func_extended GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_ES2_compatibility GL_ARB_explicit_attrib_location GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader5 GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_occlusion_query2 GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_subroutine GL_ARB_shading_language_include GL_ARB_tessellation_shader GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_swizzle GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_vertex_attrib_64bit GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_depth_bounds_test GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_mirror_clamp GL_EXT_texture_sRGB_decode GL_APPLE_client_storage GL_APPLE_container_object_shareable GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_texture_range GL_ATI_texture_mirror_once GL_NV_texture_barrier
WebGL 2 Extensions: EXT_color_buffer_float EXT_texture_filter_anisotropic EXT_disjoint_timer_query OES_texture_float_linear WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context MOZ_WEBGL_lose_context MOZ_WEBGL_compressed_texture_s3tc
GPU #1
Active: Yes
Vendor ID: 0x1002
Device ID: 0x6798

Diagnostics
AzureCanvasAccelerated: 1
AzureCanvasBackend: skia
AzureContentBackend: skia
AzureFallbackCanvasBackend: none
TileHeight: 512
TileWidth: 512
Decision Log
WEBRENDER:
opt-in by default: WebRender is an opt-in feature
unavailable by runtime: Build doesn't include WebRender




Media
-----

Audio Backend: audiounit
Max Channels: 2
Preferred Channel Layout: stereo
Preferred Sample Rate: 44100
Output Devices
Name: Group
USB audio CODEC: AppleUSBAudioEngine:Burr-Brown from TI:USB audio CODEC:1400000:1
Headphones: AppleHDAEngineOutput:1B,0,1,1:0
DELL U2410: AppleHDAEngineOutputDP:0,1,0,1,0:1:{AC10-F017-3137474C}
EA244WMi: AppleHDAEngineOutputDP:0,1,0,1,1:2:{A338-68D6-00000000}
DELL U2410: AppleHDAEngineOutputDP:0,1,0,1,4:2:{AC10-F017-304C304C}
DELL U2410: AppleHDAEngineOutputDP:0,1,0,1,5:3:{AC10-F017-3237464C}
Input Devices
Name: Group
USB audio CODEC: AppleUSBAudioEngine:Burr-Brown from TI:USB audio CODEC:1400000:2

Important Modified Preferences
------------------------------

browser.cache.disk.capacity: 358400
browser.cache.disk.filesystem_reported: 1
browser.cache.disk.smart_size.first_run: false
browser.cache.frecency_experiment: 1
browser.places.smartBookmarksVersion: 8
browser.search.suggest.enabled: false
browser.sessionstore.upgradeBackup.latestBuildID: 20171226083017
browser.startup.homepage_override.buildID: 20171226083017
browser.startup.homepage_override.mstone: 57.0.3
browser.tabs.remote.autostart.2: true
browser.urlbar.lastSuggestionsPromptDate: 20171218
browser.urlbar.timesBeforeHidingSuggestionsHint: 2
dom.ipc.processCount.web: 4
extensions.lastAppVersion: 57.0.3
font.internaluseonly.changed: false
media.gmp-gmpopenh264.abi: x86_64-gcc3
media.gmp-gmpopenh264.lastUpdate: 1512242777
media.gmp-gmpopenh264.version: 1.7.1
media.gmp-manager.buildID: 20171226083017
media.gmp-manager.lastCheck: 1514590484
media.gmp-widevinecdm.abi: x86_64-gcc3
media.gmp-widevinecdm.lastUpdate: 1512242778
media.gmp-widevinecdm.version: 1.4.8.1008
media.gmp.storage.version.observed: 1
network.cookie.prefsMigrated: true
network.predictor.cleaned-up: true
places.history.expiration.transient_current_max_pages: 104858
plugin.disable_full_page_plugin_for_types: application/pdf
print.printer__.print_bgcolor: false
print.printer__.print_bgimages: false
print.printer__.print_duplex: 0
print.printer__.print_edge_bottom: 0
print.printer__.print_edge_left: 0
print.printer__.print_edge_right: 0
print.printer__.print_edge_top: 0
print.printer__.print_evenpages: true
print.printer__.print_footercenter:
print.printer__.print_footerleft: &PT
print.printer__.print_footerright: &D
print.printer__.print_headercenter:
print.printer__.print_headerleft: &T
print.printer__.print_headerright: &U
print.printer__.print_in_color: true
print.printer__.print_margin_bottom: 0.5
print.printer__.print_margin_left: 0.5
print.printer__.print_margin_right: 0.5
print.printer__.print_margin_top: 0.5
print.printer__.print_oddpages: true
print.printer__.print_orientation: 0
print.printer__.print_page_delay: 50
print.printer__.print_paper_data: 0
print.printer__.print_paper_height: 11.69
print.printer__.print_paper_name: iso-a4
print.printer__.print_paper_size_unit: 0
print.printer__.print_paper_width: 8.26
print.printer__.print_resolution: 0
print.printer__.print_reversed: false
print.printer__.print_scaling: 1.00
print.printer__.print_shrink_to_fit: true
print.printer__.print_to_file: false
print.printer__.print_unwriteable_margin_bottom: 57
print.printer__.print_unwriteable_margin_left: 25
print.printer__.print_unwriteable_margin_right: 25
print.printer__.print_unwriteable_margin_top: 25
print.printer_HP_Library_Duplex.print_bgcolor: false
print.printer_HP_Library_Duplex.print_bgimages: false
print.printer_HP_Library_Duplex.print_duplex: -437918235
print.printer_HP_Library_Duplex.print_edge_bottom: 0
print.printer_HP_Library_Duplex.print_edge_left: 0
print.printer_HP_Library_Duplex.print_edge_right: 0
print.printer_HP_Library_Duplex.print_edge_top: 0
print.printer_HP_Library_Duplex.print_evenpages: true
print.printer_HP_Library_Duplex.print_footercenter:
print.printer_HP_Library_Duplex.print_footerleft: &PT
print.printer_HP_Library_Duplex.print_footerright: &D
print.printer_HP_Library_Duplex.print_headercenter:
print.printer_HP_Library_Duplex.print_headerleft: &T
print.printer_HP_Library_Duplex.print_headerright: &U
print.printer_HP_Library_Duplex.print_in_color: true
print.printer_HP_Library_Duplex.print_margin_bottom: 0.5
print.printer_HP_Library_Duplex.print_margin_left: 0.5
print.printer_HP_Library_Duplex.print_margin_right: 0.5
print.printer_HP_Library_Duplex.print_margin_top: 0.5
print.printer_HP_Library_Duplex.print_oddpages: true
print.printer_HP_Library_Duplex.print_orientation: 0
print.printer_HP_Library_Duplex.print_page_delay: 50
print.printer_HP_Library_Duplex.print_paper_data: 0
print.printer_HP_Library_Duplex.print_paper_height: 11.69
print.printer_HP_Library_Duplex.print_paper_name: iso-a4
print.printer_HP_Library_Duplex.print_paper_size_unit: 0
print.printer_HP_Library_Duplex.print_paper_width: 8.26
print.printer_HP_Library_Duplex.print_resolution: -437918235
print.printer_HP_Library_Duplex.print_reversed: false
print.printer_HP_Library_Duplex.print_scaling: 1.00
print.printer_HP_Library_Duplex.print_shrink_to_fit: true
print.printer_HP_Library_Duplex.print_to_file: false
print.printer_HP_Library_Duplex.print_unwriteable_margin_bottom: 17
print.printer_HP_Library_Duplex.print_unwriteable_margin_left: 17
print.printer_HP_Library_Duplex.print_unwriteable_margin_right: 17
print.printer_HP_Library_Duplex.print_unwriteable_margin_top: 17
security.sandbox.content.tempDirSuffix: {a6a2873f-3263-c74e-9636-6aa36e65c783}
services.sync.declinedEngines:

Important Locked Preferences
----------------------------

Places Database
---------------

JavaScript
----------

Incremental GC: true

Accessibility
-------------

Activated: false
Prevent Accessibility: 0

Library Versions
----------------

NSPR
Expected minimum version: 4.17
Version in use: 4.17

NSS
Expected minimum version: 3.33
Version in use: 3.33

NSSSMIME
Expected minimum version: 3.33
Version in use: 3.33

NSSSSL
Expected minimum version: 3.33
Version in use: 3.33

NSSUTIL
Expected minimum version: 3.33
Version in use: 3.33

Experimental Features
---------------------

Sandbox
-------

Content Process Sandbox Level: 3
Effective Content Process Sandbox Level: 3
Attachment #8938750 - Flags: review?(gsvelto)
Confirming.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Thanks for this contribution! The patch is looking good but is not in the proper format to land. Do you want to contribute the patch or would you rather have me pick it up and land it instead? If you want to contribute it in your name you'll need to update the patch according to the procedure described here: https://developer.mozilla.org/en-US/docs/Mercurial/Using_Mercurial#How_can_I_generate_a_patch_for_somebody_else_to_check-in_for_me.3F

Alternatively I can write a patch myself based on yours and land it, your choice.
Flags: needinfo?(firefoxcrashes)
Feel free to add in whatever format is required.

The suggested tools produce reams of diff which have nothing to do with the changes I made. As long as the bugs get fixed I don't really care.
Flags: needinfo?(firefoxcrashes)
OK, I'll handle it, thanks!
Assignee: nobody → gsvelto
Status: NEW → ASSIGNED
This is the patch, Bugzilla is preventing me from asking for review to :dhylands because he hasn't logged in for a while; I'll get hang of him on IRC to land this.
Attachment #8938750 - Flags: review?(gsvelto)
Dave is on holiday but he did an "offline" review of this patch. The try run is clean so let's land this: https://treeherder.mozilla.org/#/jobs?repo=try&revision=5f20948063f601585b59d466e7aa225493cebcdd
Pushed by gsvelto@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/1f522b139917
When reading the battery capacity on Mac do not assume that a battery is always present; r=dhylands
https://hg.mozilla.org/mozilla-central/rev/1f522b139917
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla60
The fix has been landed, Bernard could you try the latest nightly build and see if the problem is gone? If it is then I'd like to uplift this to beta since it's a very simple fix but I don't have a battery-less Mac to test this on so I can't test it myself.
Flags: needinfo?(firefoxcrashes)
Blocks: 696045
OS: Unspecified → Mac OS X
Looks good.

updated tree build has run successfully without crashing for 10 hours.

fresh nightly download "60.0a1 (2018-03-10) (64-bit)" currently running for 5 hours without crashing.
Flags: needinfo?(firefoxcrashes)
Thanks a lot! Let's uplift this.
Comment on attachment 8956428 [details] [diff] [review]
[PATCH] When reading the battery capacity on Mac do not assume that a battery is always present

Approval Request Comment
[Feature/Bug causing the regression]: This bug has always been present
[User impact if declined]: Firefox can crash on battery-less Macs
[Is this code covered by automated tests?]: No
[Has the fix been verified in Nightly?]: Yes, see comment 18
[Needs manual test from QE? If yes, steps to reproduce]: No
[List of other uplifts needed for the feature/fix]: None
[Is the change risky?]: This patch carries very little risk
[Why is the change risky/not risky?]: It's a three line change that only checks if a returned parameter is null or not
[String changes made/needed]: None
Attachment #8956428 - Flags: approval-mozilla-beta?
We're shipping Fx59 tomorrow (and Fx60 to Beta). Crash rate on release channels is basically non-existent, so this should just ride the 60 train.
Attachment #8956428 - Flags: approval-mozilla-beta? → approval-mozilla-beta-
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: