google / battery-historian

Battery Historian is a tool to analyze battery consumers using Android "bugreport" files.
Other
5.32k stars 959 forks source link

Error parsing bugreport, no data showed at all #33

Open pulimento opened 9 years ago

pulimento commented 9 years ago

Hey,

At a quick look, seems that Battery Historian didn't like my bugreport. I've deployed the app correctly, take the bugreport with adb bugreport > output.txt, and the error I'm showing is the following:

Parsing Errors: 
error parsing kwl: strconv.ParseFloat: parsing "qcrypto1": invalid syntax

Warnings:
The underlying format for kwl has 1 additional field(s) that are not captured.

My computer is a Mac Mini with Yosemite, and Go freshly installed, with path variables correctly setted. My Android device is LG G2 (D802) with Lollipop 5.0 stock and rooted.

Here are few lines of my bugreport, think that error comes for the kwl lines.

9,0,l,wsgc,4,5,46,115,71
9,0,l,bst,0,0,0,0
9,0,l,bsc,0,0,0,0
9,0,l,dc,38,41,17,24
9,0,l,kwl,ipc00000078_sensors.qcom,0,22
9,0,l,kwl,ipc000000d1_sensors.qcom,0,22
9,0,l,kwl,ipc0000006a_sensors.qcom,0,22
9,0,l,kwl,ipc00000087_sensors.qcom,0,0
9,0,l,kwl,ipc0000001b_sensors.qcom,0,0
9,0,l,kwl,ipc00000006_thermal-engine,0,0
9,0,l,kwl,ipc00000001_rfs_access,0,0
9,0,l,kwl,ipc00000025_sensors.qcom,0,0
9,0,l,kwl,ipc0000009b_thermal-engine,0,0
9,0,l,kwl,ipc00000076_sensors.qcom,0,22
9,0,l,kwl,ipc00000030_sensors.qcom,0,22
9,0,l,kwl,smdcntl4    ,0,0
9,0,l,kwl,sns_async_ev_wakelock,-9326,72
9,0,l,kwl,ipc0000009c_thermal-engine,0,22

FYI, I have a warning installing the battery historian project. As I have no Go background, I have no idea at all. Seems that it isn't compiling, I've tried twice with no luck.

Mac-mini:battery-historian user$ go get -u github.com/google/battery-historian
package github.com/google/battery-historian: no buildable Go source files in /Users/<--->/gocode/src/github.com/google/battery-historian

Thanks in advance

kwadkore commented 8 years ago

I don't see the problematic line in the log you included. However, a bug was fixed with the kwl line parsing. Please update/download by running "go get -u -d github.com/google/battery-historian/..." and try again.

dveeden commented 8 years ago

Same issue here:

Example data:

9,0,l,kwl,smdcntl4    ,0,0   
9,0,l,kwl,ipc00000129_sensors.qcom,0,0
9,0,l,kwl,ipc0000012f_sensors.qcom,0,0
9,0,l,kwl,ipc00000092_sensors.qcom,0,0
9,0,l,kwl,fd440000.qcom,qcrypto1,0,0

Looks like parseLine() from checkinparse/checkin_parse.go can't handle the different number of fields. I'm using full disk encryption on my phone. (Fairphone 2)

dveeden commented 8 years ago

The work-around is to to remove the extra fiels with sed/vi: s/,qcrypto1,/,/g and s/,qcrypto,/,/g

kwadkore commented 8 years ago

The line is misformatted. Some Android devices aren't printing out the lines correctly. In this case, fd440000.qcom,qcrypto1 should be surrounded by quotes. For example:

9,0,l,kwl,"fd440000.qcom,qcrypto1",0,0