Previous day | Jump to hour: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Next day

Seconds: Show Hide | Joins: Show Hide | View raw
Font: Serif Sans-Serif Monospace | Size: Small Medium Large

Click in the nick column to highlight everything a person has said.
The Logo icon identifies that the person is a core developer (has commit access).

#rockbox log for 2020-04-22

00:04:58***Saving seen data "./dancer.seen"
00:31:23speachyI think I've found the source of the screwup with the mini2g (and other PP targets)
00:31:36speachyhonestly surprised the compiler didn't warn about this. the code construct is is correct for all single core targets.
00:31:43speachybluebrother, ulmutil, I'll have a couple of images to try out if/when you're able
00:33:34speachyof course I find this three hours after I win a lowball ebay bid on a possibly-broken mini2g.
00:59:30 Quit sakax (Quit: Leaving)
00:59:58speachyhuh.. might have spoken prematurely
01:00:13speachydefinitely need this tested so I can confirm the starting baseline.
01:32:21 Quit pamaury (Ping timeout: 258 seconds)
01:51:09Bilgusspeachy, 32K should be enough for anyone
02:00:28 Quit MrZeus (Ping timeout: 256 seconds)
02:04:59***Saving seen data "./dancer.seen"
02:30:16speachyBilgus, updated the settings patch to reflect your comments.
02:30:32speachystill doesn't actually do anything. :)
02:32:15BilgusI wonder if that case compare is worse than the csum function
02:34:51Bilgussorry the strcmp(file, CONFIGFILE)
02:35:23speachyI only put that in there because we don't want to csum the user override file.
02:35:59Bilgusno I'm saying it should be done before the csum check
02:36:23speachyI don't see it mattering
02:36:54BilgusI've no idea what the execution time difference is
02:36:56speachygranted I could put it under the strcasecmp("cfgversion")
02:37:19speachyso it only executes if there's a cfgversion in the file, but after teh first invocation, there always will.
02:37:58speachythe csum check is a straight numerical comparison..? strcmp is going to be more expensive than that.
02:38:18Bilgusok then nbd
02:38:56BilgusI think with a csum then we don't need to check range
02:39:17speachyyes and no; the csum doesn't protect the user override file from badness
02:39:47speachyand if we allow the user to "continue with old settings" it could still end up with a bad value
02:39:57BilgusI still contend if you override then you know exactly what you are doing
02:40:12speachythat's a reasonable assertion
02:40:49BilgusI'd say continue with old settings and open the reset settings menu
02:40:50speachyso all we need is that UI prompt
02:41:29Bilguscontinue w/ settings Y/ N ?
02:42:08speachyif Y, continue, if N, call reset_settings() then continue.
02:42:58speachyI don't know how to do that sort of modal prompt. But I guess there are examples
02:44:19BilgusI'd say if there is no csum value in the file we reset it
02:44:37Bilgusthat'll get rid of all old config files 1
02:46:14Bilgusor we use that as a way to prompt always as in Y this time only Y always
02:46:47BilgusNo csum nag everytime
02:46:48speachywe can't rely on a setting to tell us what to do when we don't trust the settings. :)
02:47:07Bilgusthe lack of a setting
02:47:24speachythe csum is automatically added when the file is written, ie upon shutdown or explicit saving.
02:48:04speachyhere's the other scenario −− what if the user explicitly loads a cfg file? prompt the same way?
02:49:03Bilgusit needs to
02:49:39speachyNo.. I don't think bypassing the prompt is the right behavior when loading a csum-less file, because we don't know how old that config file is.
02:50:10speachyif it's 3.15, no problem, but anything older than that, potential badness
02:50:15Bilgusno i'm saying never bypass prompt when no csum exists
02:50:24speachynever bypass, always reset?
02:51:00speachyI don't like the idea of doing that silently though, we should at least put a spash message saying we did it.
02:51:18Bilgusmaybe give them a chance to back up
02:51:40speachyand if we do a splash, we might as well block for a prompt.. :D
02:51:46BilgusI still think they need the choice
02:52:14speachyI know I usually don't watch tthe startup of my players, even post-upgrade..
02:53:09Bilguswell simple yes no prompt Bad Config Reset Settings - YES NO
02:53:53Bilgusafter one Yes answer the bad config is now verified
02:54:53Bilgusso a manual entry too about bad config needing to be reset
02:55:22Bilgusas long as you don't superpeachy I'll get that figured out :)
02:56:35 Join MrZeus [0] (
02:56:59speachyI make no promises but I don't know enough about the UI flow to find the right starting point
02:58:15speachyI seem to vaguely recall some sort of "splash prompt"
02:58:32BilgusI need to look into it too I know we will be blocking on that call so I need to see what might not like being stopped before we pull the trigger
02:59:21BilgusI'd think the yes/no/cancel prompt is probably the ticket but it uses some of those cfg settings
02:59:21speachyit happens in the middle of the init sequence
02:59:51Bilgusso it might just have to only be amessage
03:00:23speachywe could set some sort of global flag so the startup doesn't block, and the main menu app picks up and triggers the prompt...
03:00:23Bilguswe could put it across the main menu
03:00:42speachynot unlike how the post-usb-unplug ROLO prompt works
03:01:08Bilgusyeah or just check for it later too lol
03:01:49Bilgusit can go into the debug menu as a WARNING
03:02:10speachythe thing is that warning will only ever show up once. if it's hidden back there nobody will ever notice.
03:02:36Bilgusill bb
03:07:45 Nick SovietShaman is now known as CommunistWitchDr (
03:10:49speachyokay, pushed another version with the comments reflecting what I think is the outcome of this conversation..
03:25:37 Quit olspookishmagus (Quit: All for nothing)
03:40:07 Join fs-bluebot [0] (
03:40:10 Join bluebrother [0] (~dom@rockbox/developer/bluebrother)
03:41:05speachyhmm. need to ping the haxx folks about a migration date. my last proposal was for this weekend.
03:41:47 Quit fs-bluebot_ (Ping timeout: 250 seconds)
03:42:32 Quit bluebrother^ (Ping timeout: 240 seconds)
03:43:49 Join olspookishmagus [0] (
04:05:02***Saving seen data "./dancer.seen"
04:30:28 Join ac_laptop [0] (~ac_laptop@
04:33:43 Quit ac_laptop (Client Quit)
04:34:02 Join ac_laptop [0] (~ac_laptop@
04:46:23 Quit ac_laptop (Quit: WeeChat 2.8)
04:47:14 Join ac_laptop [0] (~ac_laptop@
04:51:44Bilguslooks good to me
05:05:29 Quit krabador (Remote host closed the connection)
05:54:12 Quit [7] (Ping timeout: 252 seconds)
05:54:40 Join TheSeven [0] (~quassel@rockbox/developer/TheSeven)
06:01:58 Join S|h|a|w|n [0] (~shawn156@unaffiliated/shawn156)
06:04:15 Join ZincAlloy [0] (
06:05:06***Saving seen data "./dancer.seen"
06:05:56 Quit ac_laptop (Read error: Connection reset by peer)
06:09:06 Quit ZincAlloy (Ping timeout: 256 seconds)
06:18:20Bilgusheh speachy I'm pretty sure this won't work now that i'm knee deep in the code
06:19:26Bilguswe are grabbing the settings struct and that is just a bunch of function pointers we should be csumming the user_settings struct instead
06:20:25Bilguswhat I have determined so far is that we can save the cfg version in the global_settings and add them to nvram
06:21:11Bilgusonly problem is taht nvram is saved within the config file so it'll need cleared to 0 while calculating the csum
06:22:29Bilgusthe other change was a define to xor() with the crc seed and that will allow us to exclude older config files
06:23:13Bilgusie. CFGVER 0x01 −−> 0xFFFFFFFF ^ CFGVER
06:24:07Bilgusor we could do minimum viable releases 0x315
06:24:08 Join hi77 [0] (
06:25:22hi77Hello My battery is having trouble charging but Im not sure what could be the problem?
06:26:01Bilgusbad battery, bad charger, bad connector on unit?
06:26:58hi77It was charging fine a few days ago
06:27:17hi77It says it charges but the battery capacity doesnt go up
06:27:39Bilguswhat player?
06:28:07hi77Ipod 6th gen
06:28:14BilgusI'd say the battery most likely
06:28:43Bilgusits like when it rains and you walk across the street and its not raining
06:29:01BilgusI assum the ipod works while plugged in
06:29:05hi77i placed a new battery
06:29:22hi77The Ipod works just fine it powers on and boots up fine
06:29:40hi77everything works but the battery seems to not charge even though it says its charging
06:29:41Bilgusthen down to bat or charging circuit
06:30:05BilgusI'd check the voltage while its powered off
06:30:23Bilgusshould be what like 2.5v or above
06:30:27hi77its 3000mah battery
06:30:40Bilgusmight be so low the protection circuit kicked in
06:31:04Bilgus3000 mah is the same as 30000 mah in aftermarket
06:31:29BilgusIIRC there might be a way to make the ipod charge even with a low battery
06:31:33hi77What do you mean protection circuit?
06:31:35BilgusI'd peruse the forums
06:32:13Bilguslike liion like to explode and catch fire so they put protection circuits on them that disconnet when too low or too high
06:32:56hi77It says the battery will last 26 Hrs
06:33:07hi77it should still be good to use?
06:33:25Bilgusfor instance I used my player till dead one day and the battery went too low and I had to charge it on an external charger to get it to charge in the player
06:33:44Bilgusafter that I bought a new battery
06:33:47hi77External charger
06:33:59Bilgushow new is this battery you have in this ipod?
06:34:18Bilgusyeah an external charger for liion
06:34:33hi77Its pretty new like a few months
06:35:20BilgusI'd suspect the battery personally aftermarket has quality issues no matter the product
06:35:46hi77Maybe cause its dented?
06:35:56hi77I dented it by accident
06:36:07assalol yea
06:36:12assabatteries don't like that
06:36:33hi77But it was a small bump not major
06:36:36assadepending on what type of battery it is, you're lucky it didn't blow up in your face
06:36:54Bilgusits probably just gone bad
06:37:21hi77Ill just get a new ome
06:37:29hi77one and try not to demt it
06:39:09hi77Where can I buy a better battery? Are all mah batteries this way?
06:40:21assawhat do you mean with mah?
06:40:45assamAh is the unit of how much electricity it holds (milli Amps-hours)
06:41:15hi77The type of battery that says mah? Im not sure what its called it is a rechargable battety
06:44:40hi77 Ill just get a new battery
06:46:13hi77Will switching out the battery cause data loss?
06:50:55 Quit hi77 (Remote host closed the connection)
06:51:22 Join hi77 [0] (
06:52:13 Quit hi77 (Remote host closed the connection)
06:52:32 Join hi77 [0] (
06:53:12 Quit hi77 (Remote host closed the connection)
06:54:30BilgusmAh is milli Amp hours
06:55:05Bilgusits a measure of energy density not a specific battery type (chemistry)
06:55:31Bilgusoh assa answered that already
06:55:53Bilgusits a lithium ion battery
06:56:19BilgusI'd personally get as close to spec of the original ipod
06:56:53Bilguslikely unless the battery doesn't fit its not actually any higher mAh anyways
06:57:16Bilgusso go with a vendor with actual ratings
06:57:37Bilgusnot the BS ones
08:00:12 Quit MrZeus (Ping timeout: 264 seconds)
08:05:07***Saving seen data "./dancer.seen"
08:49:04 Join prof_wolfff [0] (~prof_wolf@
09:23:42 Quit GeekShadow (Ping timeout: 250 seconds)
09:23:42 Quit prof_wolfff (Read error: Connection reset by peer)
10:05:09***Saving seen data "./dancer.seen"
10:07:04 Nick edhelas_ is now known as edhelas (
10:11:50 Join prof_wolfff [0] (~prof_wolf@
10:16:25 Join PimpiN8 [0] (~PimpiN8@
10:29:35 Quit S|h|a|w|n (Read error: Connection reset by peer)
10:44:53 Quit prof_wolfff (Ping timeout: 265 seconds)
11:33:21 Quit PimpiN8 (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:41:29 Join pamaury [0] (~pamaury@rockbox/developer/pamaury)
11:48:22 Quit JanC (Remote host closed the connection)
11:48:42 Join JanC [0] (~janc@lugwv/member/JanC)
12:00:48 Join sakax [0] (~r0b0t@unaffiliated/r0b0t)
12:05:13***Saving seen data "./dancer.seen"
12:15:14 Quit sakax (Quit: Leaving)
12:30:45 Join Aayush [0] (~Aayush@unaffiliated/aayush)
12:48:21 Join PimpiN8 [0] (~PimpiN8@
12:48:27 Quit PimpiN8 (Client Quit)
12:52:16 Join Horrorcat [0] (~Horrorcat@unaffiliated/horrorcat)
13:42:32speachyBilgus, I don't think there's any point in checksumming global_settings (ie the user_settings struct that everyting gets saved into)
13:46:32speachyall that will tell us in the end is if the default settings have changed.
13:47:13speachygranted, the current approach of checksumming the entire settings_list struct is completey screwed, as those function pointers can change on a routine recompile.
14:00:12speachywonder if a better approach is to selectively exclude the function/struct pointers in settings[]. But that's a lot more complicated to implement.
14:01:43speachyI think it makes more sense to just validate the specific settings (eg enums or ranges) instead.
14:02:36speachyas this whole checksumming thing was intended to be a "good enough" canary so we don't have to do the latter.
14:05:17***Saving seen data "./dancer.seen"
14:12:36speachy"good enough" and "very simple to implement", neither of which seems to be true any more..
14:33:30 Join cockroach [0] (~blattodea@pdpc/supporter/active/cockroach)
14:48:30 Join ZincAlloy [0] (
14:48:30 Quit ZincAlloy (Client Quit)
14:48:34 Join ZincAlloy1 [0] (~Adium@2a02:8108:943f:d824:253e:cda2:7a0d:dbc0)
14:57:31 Quit brasello (Quit: Lost terminal)
14:58:12 Join brasello [0] (
14:59:28 Join prof_wolfff [0] (~prof_wolf@
15:02:05 Join PimpiN8 [0] (~PimpiN8@
15:03:48 Join massiveH [0] (
15:25:01 Quit koniu (Remote host closed the connection)
15:26:23 Quit blackyus17 (Ping timeout: 250 seconds)
15:28:38 Join blackyus17 [0] (
15:31:06 Quit pamaury (Ping timeout: 258 seconds)
15:36:46 Join pamaury [0] (~pamaury@rockbox/developer/pamaury)
15:40:56 Join koniu [0] (~koniu@gateway/tor-sasl/koniu)
15:46:24 Quit Acou_Bass (Ping timeout: 264 seconds)
15:49:28 Join Acou_Bass [0] (
15:57:32 Quit prof_wolfff (Ping timeout: 240 seconds)
15:58:15 Quit Moarc (Quit: i znowu NADMUCHAŁ BALONA)
15:59:27 Join TheLemonMan [0] (~lemonboy@irssi/staff/TheLemonMan)
15:59:29 Join Moarc [0] (
16:00:09 Join sakax [0] (~r0b0t@unaffiliated/r0b0t)
16:00:16 Join ac_laptop [0] (~ac_laptop@
16:01:27 Quit ac_laptop (Client Quit)
16:01:55 Join ac_laptop [0] (~ac_laptop@
16:05:21***Saving seen data "./dancer.seen"
16:06:11Bilguscrc over settings[] is possible just not in the current easy method
16:06:31 Quit ac_laptop (Client Quit)
16:06:40Bilgusinstead it needs to be done piecemeal
16:07:10speachyyeah, loop over the setting name, flags, and default value at minimum?
16:07:58 Join ac_laptop [0] (~ac_laptop@
16:08:11BilgusI think you'd get the current value as well
16:08:34speachythat's why my patch only did it after a settings_reset()
16:08:58Bilgusbecause you are right theres too much that changes in user_settings
16:11:12BilgusOH you aren't checking for changes to values you are checking for changes to the backend
16:11:13speachyflags, default_val, cfg_name, cfg_vals, and maybe parts the individual *_setting sub-fields of the union if we wanted to get fancy.
16:11:21speachyyeah, exactly!
16:11:50speachythe cfgfile stuff only actually writes a value to the config file if it differs from the default
16:12:12 Part edhelas
16:12:44Bilgushmm if thats the case then we should just reset if they don't match INCOMPATIBLE SETTINGS RESET
16:13:09speachywe don't know if it's incompatible, just that something changed in the backend.
16:14:26speachyto check for incompatibiltiy we'd have to validate the saved value against the possible legal values.
16:15:31Bilgusthat was my first idea as that mechinism already happens when you use the settings menu
16:15:52Bilgusmechanism *
16:17:18speachyso I can rewrite my patch to scrap the checksums and instead validate the loaded settings versus the legal values.
16:17:57speachyI think though, if we find an illegal value there's no point in doing anything other than resetting it to its nominal default (and perhaps displaying a splash message)
16:18:18Bilguswe already have the valid ranges for most within the settings struct
16:18:28speachyyeah, I just saw that
16:18:40Bilgusonly issue is there are values that are allowed to be arbritrary
16:19:17speachycan you give me an example?
16:19:45 Join prof_wolfff [0] (~prof_wolf@
16:21:26Bilgusso lets say I have a setting called foo_count and default its 0 but I pass a flag F_ALLOW_ARBITRARY_VALS
16:21:34speachyah, okay.
16:21:43speachynothign we can do about stuff like that. :)
16:24:02speachyI think CHOICE_SETTING / STRINGCHOICE_SETTING just stores an index into the list; we can't detect if the enumeration changes
16:24:19speachy(unless the saved value is out of range)
16:28:05Bilgusinstead of doing it on load I'd probably do it on save
16:29:01BilgusIDK i see both sides on that
16:29:23speachyI think load is more pertinent, as a bad value there can cause badness at runtime.
16:30:01speachyI assume there is no legit code path to storing a bad config value.
16:30:12Bilgusyeah and you have more time to futz around there isn't a looming shutdown
16:30:34Bilgusno i think it just gets resaved
16:30:55Bilgusunless you hit it in the settings menu its not validated
16:32:10speachythe main settings loader validates _some_ of the settings, but not all. notably min/max for int values.
16:32:22speachysurprised by that, actually
16:32:51 Part Aayush ("Leaving")
16:34:12Bilguswhere do you see rrange validation?
16:34:17 Quit massiveH (Quit: Leaving)
16:34:17 Quit prof_wolfff (Ping timeout: 260 seconds)
16:35:51 Join GeekShadow [0] (
16:35:51 Quit GeekShadow (Changing host)
16:35:51 Join GeekShadow [0] (~antoine@reactos/tester/GeekShadow)
16:35:54speachyno, I meant it doesn't implement range validation, but it does validate choice/enums
16:36:01speachyrange validation is easy to add in
16:36:41Bilgusah ok
16:39:34Bilgusjust need to watch for that F_Arbitrary
16:41:42Bilgusit could be insitu but probably best to have a settings_validate(&setting) {}
16:46:02 Quit koniu (Ping timeout: 240 seconds)
16:49:03speachythat's going to be a substantial bump in runtime table size
16:51:02 Quit PimpiN8 (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:57:31speachyoh nevermind. thought you meant adding a validate fnptr to the settings structure
17:00:23 Join koniu [0] (~koniu@gateway/tor-sasl/koniu)
17:09:35Bilgustheres the initial idea I still need to check the cfg_val case
17:10:03BilgusIt looks to me like the hex->RGB case is already bounded pretty well
17:10:15speachyheh, I just cheaped out and hacked in the range test, updated the gerrit stuff.
17:12:30Bilgusthat knocks out a bunch
17:13:11Bilgusthe cfg_val case not so much
17:20:06Bilgusill run with this a bit and get boned back up on the settings
17:20:36BilgusI should be able to validate the choice settings / tables
18:05:23***Saving seen data "./dancer.seen"
18:09:15 Quit Acou_Bass (Ping timeout: 256 seconds)
18:13:12 Join Acou_Bass [0] (
18:40:46 Quit Acou_Bass (Quit: ZNC 1.7.4 -
18:42:35 Join lebellium [0] (
18:45:02 Join Acou_Bass [0] (
18:53:00 Quit ubervison (Remote host closed the connection)
18:54:22 Join ubervison [0] (~ubervison@2a02:aa12:b106:1b80:4978:337a:24bd:4bbc)
18:54:25 Join ubervison_ [0] (~ubervison@2a02:aa12:b106:1b80:4978:337a:24bd:4bbc)
19:01:36 Join mendelmunkis [0] (
19:02:57 Quit ubervison (Quit: Leaving)
19:03:27 Quit ubervison_ (Quit: Leaving)
19:03:52 Quit mendel_munkis (Ping timeout: 256 seconds)
19:17:53 Quit Natch (Ping timeout: 256 seconds)
19:37:59 Join Natch [0] (
19:55:55 Join MrZeus [0] (
20:05:25***Saving seen data "./dancer.seen"
20:20:34 Join prof_wolfff [0] (prof_wolff@gateway/vpn/nordvpn/profwolfff/x-22956931)
20:21:30 Quit ac_laptop (Ping timeout: 265 seconds)
20:22:49 Join ac_laptop [0] (~ac_laptop@
20:26:24 Join krabador [0] (~krabador@unaffiliated/krabador)
20:41:26 Join S|h|a|w|n [0] (~shawn156@unaffiliated/shawn156)
20:48:21 Quit prof_wolfff (Ping timeout: 250 seconds)
20:53:33 Quit ac_laptop (Ping timeout: 250 seconds)
21:00:09 Quit krabador (Quit: Leaving)
21:11:38 Quit mendelmunkis (Remote host closed the connection)
21:12:46 Join mendelmunkis [0] (
21:31:46 Join ac_laptop [0] (~ac_laptop@
21:54:45 Quit GeekShadow (Remote host closed the connection)
22:05:29***Saving seen data "./dancer.seen"
22:09:14 Quit TheLemonMan (Quit: "It's now safe to turn off your computer.")
22:10:43 Join GeekShadow [0] (
22:10:43 Quit GeekShadow (Changing host)
22:10:43 Join GeekShadow [0] (~antoine@reactos/tester/GeekShadow)
22:34:01 Join amiconn_ [0] (jens@rockbox/developer/amiconn)
22:34:01 Nick amiconn is now known as Guest99112 (jens@rockbox/developer/amiconn)
22:34:01 Quit Guest99112 (Killed ( (Nickname regained by services)))
22:34:01 Nick amiconn_ is now known as amiconn (jens@rockbox/developer/amiconn)
22:34:18 Join pixelma_ [0] (marianne@rockbox/staff/pixelma)
22:34:18 Quit pixelma (Killed ( (Nickname regained by services)))
22:34:18 Nick pixelma_ is now known as pixelma (marianne@rockbox/staff/pixelma)
22:41:53 Quit ZincAlloy1 (Quit: Leaving.)
22:58:05 Quit amiconn (Quit: - Chat comfortably. Anywhere.)
22:58:05 Quit pixelma (Quit: .)
23:00:55 Join amiconn [0] (jens@rockbox/developer/amiconn)
23:00:55 Join pixelma [0] (marianne@rockbox/staff/pixelma)
23:27:05 Quit lebellium (Quit: Leaving)
23:45:14 Quit flab (Remote host closed the connection)
23:46:26 Quit ParkerR (Ping timeout: 265 seconds)
23:47:01 Join flabrus [0] (
23:47:01 Quit flabrus (Changing host)
23:47:01 Join flabrus [0] (~beard@unaffiliated/flabrus)
23:47:24 Quit brasello (Ping timeout: 265 seconds)
23:47:53 Quit ps-auxw (Ping timeout: 265 seconds)
23:48:05 Join brasello [0] (
23:48:36 Join ps-auxw [0] (
23:50:00 Join ParkerR [0] (
23:50:01 Quit ParkerR (Changing host)
23:50:01 Join ParkerR [0] (~ParkerR@unaffiliated/parkerr)

Previous day | Next day