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).

Notice: Only Gecko based browsers prior to FF4 support the multipart/mixed "server push" method used by this log reader to auto-update. Since you do not appear to use such a browser, this page will simply show the current log, and not automatically update.

#rockbox log for 2020-10-26

00:00:05braewoodsit does it every time when i try to let iriver_flash do its thing with the bootloader
00:00:12braewoodsnothing happens to the flash
00:00:27braewoodsat least it didn't brick but i'm puzzled why it's not working
00:00:45_bilgus-T$(PLUGINLINK_LDS) -Wl,−−gc-sections -Wl,-Map,$*.map
00:01:00braewoodswhere would I put that?
00:01:36_bilgusin the makefile of whatever you are building
00:01:56_bilguseither add it to the flags or manually
00:02:26_bilgusdon't have it in front of me to tell you exactly where but whereever it invokes gcc with flags
00:04:02_bilgusin a makfile you can add to a set of flags liek this FLAGS+= $(FLAGS) -Wl,-Map,$*.map
00:05:38braewoodsis the file?
00:06:24braewoods0x0000000032f80000 _pluginbuf = .
00:06:29braewoodsthis is the region it is in...
00:06:38braewoodsnow what's at ee
00:07:03_bilgushazard a guess nothing
00:07:20_bilgusI'm sorry is this fw or bootloader?
00:07:35braewoods_bilgus: firmware since iriver_flash is a plugin
00:08:43_bilgusyou should have a map file in the build dir called
00:09:14_bilguswhereever you built it look in the same directory the zip is in
00:09:28braewoodsfound it
00:09:55_bilgusit clearly read an invalid address
00:10:09braewoodsi'll see what happens
00:10:27_bilgusstick in some bounding
00:11:03_bilguslike if addr x > 0xFFFFFF panic
00:11:48_bilgusmaybe not so concrete more like a splash and gracefully try something else
00:12:22braewoods_bilgus: could it be in the subroutine it calls?
00:12:30_bilgusI got mad about having to mess with OSD so much and you know what it was my own dumb fault
00:12:34braewoodscfi_get_flash_info is only ever called with a pointer to a stack allocation
00:12:56braewoodsso hm
00:13:17_bilgusIdk where you'd get info on what err 7 is
00:13:56_bilguspointer to whos stack alloc?
00:14:16_bilgusyour control?
00:14:34braewoodsi don't know honestly.
00:14:40_bilgusalso toochain updates??
00:14:42braewoodsjust going by what i'm seeing here
00:15:43braewoodslet me dig around some more
00:16:49_bilguscfi_read_id is surely possible
00:17:09_bilgushere is what I would do remember that thing about concat on the flags above
00:17:31_bilgusadd this to the makefile for iriver flash or even the main plugins make
00:17:56braewoodsi'm getting tired. i'll look at this later.
00:18:03_bilgusPLUGINFLAGS += -g -Wa,-adhln
00:18:24_bilgusthen you'll get an asm file and you can look and see what is exactly at that address
00:19:29_bilguswhen you do make on the command line do make > ./directory/irivflash.asm
00:19:32braewoodsweird part is
00:19:53braewoodsit makes it well past that function. if i add a return before the first cfi_erase_sector
00:20:15braewoodswhy am i being signaled by that function's address?
00:20:26*braewoods boggles.
00:20:34_bilgusit could always be a fluke but probably not
00:20:38 Quit [7] (Ping timeout: 260 seconds)
00:20:43braewoodsit's reproduceable
00:20:45braewoodssomething is up
00:21:02braewoodsi'll give another try later
00:21:03 Join TheSeven [0] (~quassel@rockbox/developer/TheSeven)
00:21:04braewoodsi got an idea or 2
00:21:22braewoodsmy idea is simple though
00:21:38braewoodsi'll see if it works with the junker H120 I ordered
00:21:40braewoodswhen it arrives
00:21:49 Quit Moarc (Quit: i znowu NADMUCHAŁ BALONA)
00:21:51braewoodsif it does there's something weird going on
00:21:57braewoodsbut if the toolchain works with H120...
00:23:15 Join Moarc [0] (
00:24:27braewoods_bilgus: could Trap7 be delayed in triggering?
00:24:34braewoodsis that why it gets as far as it does?
00:33:33braewoodsi found a manual on the coldfire cpu
00:33:52braewoods27 is the index of the interrupt
00:36:16braewoods0x28 or so?
00:36:25braewoods0x27 in base zero
00:37:16braewoodsreally generic error
00:37:22braewoodsappears to be
00:37:32braewoodsTrap #0–15 instructions
00:40:20braewoodsreal generic sounding
00:40:25braewoodsno clue what would trigger this
00:41:22 Quit prof_wolfff (Ping timeout: 260 seconds)
00:42:48_bilgusgenerally exceptions don't act like that in my experience
00:43:05_bilgusdo be aware it could be flash issues too
00:43:20braewoodsindeed. not sure.
00:43:32braewoodsit starts before a successful erase
00:43:39braewoodsor else i'd have bricked it
00:50:06braewoodsbut i'm suspecting some issue with the code
00:50:16braewoodsi'll review the flash interactions
00:59:18braewoodsi wonder
00:59:36braewoodsthe actual sample code from the vendor for these flash chips does a length routine to return to read mode
00:59:47braewoodsmaybe that's the problem
00:59:59braewoodsthe iriver_flash doesn't do it the same way
01:00:31braewoodsmaybe that worked by coincidence for the original H120
01:00:33braewoodsor so
01:00:35braewoodsbut not here
01:00:47braewoodswell it's at least worth looking into
01:01:00braewoodsi already found some issues with the implementation just by cursory inspection
01:03:58_bilgusno one has touched it for so long its probably been forgotten
01:04:50braewoods_bilgus: well i'll take a look when i'm feeling better
01:05:07braewoodsi think i need to experiment with iriver_flash on the H100 series
01:05:10braewoodsto get some ideas
01:05:53braewoodssomething isn't working right
01:06:06braewoodsi don't want to modify the code further without knowing
01:06:11braewoodsif the H100 code is still working
01:06:26 Join advcomp2019_ [0] (~advcomp20@unaffiliated/advcomp2019)
01:06:26braewoodsso far i'd just done fixes that were equivalent
01:06:32braewoodsto the original
01:09:06 Quit advcomp2019__ (Ping timeout: 256 seconds)
01:09:18***Saving seen data "./dancer.seen"
01:37:27braewoods_bilgus: i think i found something.
01:37:47braewoodsthe h300's flash chip has hardware bootblock protection... the same region the iriver_flash program tries to erase first.
01:38:06braewoodsit doesn't appear to make it past there so
01:38:19braewoodsmaybe i need to figure out how to disable this
02:07:15_bilgussounds like a pretty plausible cause
02:09:47braewoodsthe datasheet says the WP pin needs to be set high for the protection to be lifted
02:10:13braewoodsso the question then is
02:10:24braewoodshow do you set it? assuming it is even connected on the iriver.
02:10:45braewoodsit says if it is left floating it defaults to being unprotected
02:54:40_bilguswell you tie it high with a 1k resistor or you set it on chip with gpio?
03:09:22***No seen item changed, no save performed.
04:10:36 Join advcomp2019 [0] (
04:10:36 Quit advcomp2019 (Changing host)
04:10:36 Join advcomp2019 [0] (~advcomp20@unaffiliated/advcomp2019)
04:11:33 Quit advcomp2019_ (Ping timeout: 265 seconds)
04:39:17 Quit S|h|a|w|n (Read error: Connection reset by peer)
05:09:26***Saving seen data "./dancer.seen"
05:49:21 Join pamaury [0] (~pamaury@rockbox/developer/pamaury)
06:05:05pamauryspeachy: I don't know what you did exactly but someone reported to me that some of your recent commits fixed an audio stuttering issues on some old hosted sony players (the audio stutters when the display is off...). Good job :)
06:25:52 Join prof_wolfff [0] (
06:40:45 Join vvrng [0] (
06:42:03edhelashello :)
06:42:07vvrngquick question, what is a recent-ish pmp which runs rockbox good? seems like the sansa clips are the most recent ones which run stable ports, and they're not in production anymore...
06:42:15vvrngbut maybe I'm mistaken!
06:42:39vvrngmaybe I'm not aware of the recent developments
06:56:29speachypamaury: glad to hear it. :D Just.. peeling the onion.
06:58:35speachyvvrng: if you want someting new-ish then your only real options are the xduoo x3ii/x20, eros q/k (and clones), and the agptek rocker.
06:58:45wodzvvrng: agptek rocker/benjie T6, AIGO: Eros Q / K (aka HIFI WALKER H2, AGPTek H3, and Surfans F20)
06:58:54edhelaspamaury i'd like to take over your USB Audio work is there some specific things that I should focus on especially ? I was able to reapply the patch with the latest master (without working audio out… yet on my iPod Mini)
06:59:24speachy(putting aside bugs introduced due to active development, they do work quite well for daily use)
07:09:30***No seen item changed, no save performed.
07:11:52vvrngspeachy, wodz: thanks, I'm future proofing for when my iPod dies
07:16:37vvrngI've been using rockbox since 2012 or 2013 and I'd like to sincerely thank the community for the wonderful work
07:25:27 Quit pamaury (Quit: this->disconnect())
07:34:21fs-bluebot_Build Server message: New build round started. Revision c5d7cd5, 293 builds, 9 clients.
07:40:02 Join pamaury [0] (~pamaury@rockbox/developer/pamaury)
07:48:26fs-bluebot_Build Server message: Build round completed after 846 seconds.
07:48:30fs-bluebot_Build Server message: Revision c5d7cd5 result: 1 errors 0 warnings
07:48:31fs-bluebot_Build Server message: New build round started. Revision dd3ea52, 293 builds, 7 clients.
08:00:14 Quit pamaury (Ping timeout: 260 seconds)
08:01:50fs-bluebot_Build Server message: Build round completed after 800 seconds.
08:01:51fs-bluebot_Build Server message: Revision dd3ea52 result: 1 errors 0 warnings
08:27:02 Quit Stanley00 (Remote host closed the connection)
08:31:38 Quit pookie (Quit: All for nothing)
08:33:01 Join olspookishmagus [0] (
08:41:48 Join pamaury [0] (~pamaury@rockbox/developer/pamaury)
08:47:34speachyAirwave: I believe I've fixed the statusvar volume thingey.bbiteme
08:47:48speachyAirwave: ... sorry about that.
08:48:20speachyAirwave: if you could grab the test build again, same URL as before.
09:08:07 Join massiveH [0] (
09:09:33***Saving seen data "./dancer.seen"
09:27:21_bilgusWOOT!g#2811 is ready for testing!!
09:27:23fs-bluebot_Gerrit review #2811 at : LCD core move buf ptr and address look up function viewport struct by William Wilgus
09:29:23_bilgusspeachy I finally got my head out of my ass Turns out 2bit horiz screens are the weird one (ipods?..) so what was done was to translate between the lcd and rockbox native vertical format
09:30:13_bilgusso we've added LCD_NATIVE_STRIDE() to take care of that automagically
09:30:19fs-bluebot_Build Server message: New build round started. Revision 845e5a4, 293 builds, 9 clients.
09:32:00_bilgusI did some nice work on the dirty viewport front as well its now nicely integrated and doesn't cause the WPS to refresh needlessly ( the splash ! from last commit was testing)
09:32:41_bilgusand viewport_clear clears the dirty bit now too
09:33:44_bilgusand now to retest every target again
09:44:04 Quit mutax (Read error: Connection reset by peer)
09:44:20 Join mutax [0] (
09:46:17fs-bluebot_Build Server message: Build round completed after 956 seconds.
09:46:18fs-bluebot_Build Server message: Revision 845e5a4 result: All green
09:46:36pamauryedhelas: that's great :) Yes, so first for USB audio to work, the usb driver needs to be able to do isochronous transfers. The current usb api is very ill-suited for that purpose because those transfers are 1) very short and 2) very frequent (>1000/sec). So they can't be answered individually my IRQs and queuing/batching them is essentially. Furthermore, many cores need to handle them in a specific way and that is not implemented for most of
09:46:36pamaurythem anyway. I believe the gerrit task only does it for the ARC core.
09:48:33braewoodsspeachy: any advice for my problem? seems i trigger a cpu exception handler when i try to flash the chip. i'm going to try to narrow it down.
09:48:44pamauryThe second thing is that there the synchronization between the usb audio stream and the playback api is nontrivial as I recall, there needs to be some buffering going on to avoid underflow but not too much to avoid latency. There is also the problem of jitter: the audio clock and the host's clock diverge slowly and the audio will eventually under-/overflow. There are several mecanisms in the spec to handle this, with implicit or explicit
09:48:44pamauryfeedback, none of this is implemented in the current code but probably it should. The current code is not very robust with regards to this aspect.
09:53:00 Quit mendel_munkis (Remote host closed the connection)
09:53:12 Join mendel_munkis [0] (
10:05:54 Quit mendel_munkis (Remote host closed the connection)
10:06:12 Join mendel_munkis [0] (
10:07:42efqwDoes rb has "usb dac" support on hosted targets?
10:08:04efqwAs in the device acts as a USB audio gadget, not connecting to an external dac over OTG
10:09:26efqwI'm trying to fix usb mass storage on the m3k. Currently it doesn't actually work.
10:10:41efqwAnd I'd like an option (disabled by default) to load the serial gadget module as well so people can easily get a root shell if they want, since this device doesn't have ADB.
10:15:52speachyefqw: the short answer is no
10:16:28efqwI suppose it's not a high priority
10:16:51efqwMass storage is more important imo
10:17:29efqwCurrently rb has working charger/usb detection so I suspect it's simply loading the kmods in the wrong order or something like that
10:17:40speachyefqw: on the targets that already have audio gadget support, it probably wouldn't be _that_ bad to hook it up.
10:18:09efqwYeah this is assuming existing support, I just don't know how the i2s stuff would work
10:20:33speachyefqw: we'd presumably get the audio data into userspace and pump it back out via our pcm api.
10:21:18efqwYeah I'll dig into the fiio player to find out how they handled that first
10:21:20speachy(Assuming the audio gadget stuff presents itself as a normal audio device to userspace)
10:21:42speachyI would assume the fiio stuff is a massive hack not shared by anything else
10:21:52braewoodsguess i'll be doing some digging. if it really is this extra layer of write protection then i should be able to deduce it by some trial and error.
10:21:56*efqw seriously doubts fiio's ability to do anything "normal"
10:22:37speachybraewoods: the last time I had wonky exceptions like that I'd add some canary values at various points of hte code I was trying to run and dump that variable in the panic handler.
10:22:50braewoodsspeachy: i see.
10:23:25speachyflash write protection in of itself wouldn't trigger an exception.
10:23:27braewoodsspeachy: yea, ok. i did some tracing and it only happens after the bootloader is backed up prior to the first erase
10:23:34braewoodsi see.
10:23:55efqwThe binary rev engineered info will be on a separate wiki page, and I hope to put up a 3rd page about the stock fw layout as well.
10:24:49speachyor at least I assume the CPU isn't "Writing" it by doing stores to the mmapped region. (if it does, that's unusual −− in-system-writes tend to require going through the flash controller rather than the mmap interface)
10:25:46braewoodsit tries to write to the flash by issuing commands at specific addresses the ROM chip is connected to
10:26:08 Quit massiveH (Quit: Leaving)
10:28:47speachyand doesn't the H300 have 32MB RAM?
10:29:06speachythat address in the exception is at ~31.5MB.
10:29:14speachyso it's legit.
10:29:33braewoodsi figured that out and trace it to the address of a function in iriver_flash
10:29:58braewoodsstrange one
10:30:07speachydid youever trace that excepction number to an explanation?
10:30:20braewoodsspeachy: no. it's just the generic trap 7 interrupt.
10:30:27braewoodsthe manual doesn't specify really
10:30:36braewoodsjust listed as part of traps 0 to 15
10:31:00braewoodsanyway i have some ideas
10:31:17speachyis pInfo->name valid?
10:31:24braewoodsit should be.
10:31:39braewoodsit is called twice in the program flow
10:31:54braewoodsboth times by the same function
10:32:12braewoodswith an argument that is a pointer to a local variable
10:32:39braewoodsspeachy: would there be a delay in it getting triggered?
10:32:50braewoodsi noticed it only triggers after a certain point.
10:32:58speachyI mean, there's not a lot there in that function.
10:32:59braewoodsbut long after the function was called
10:33:12braewoodsit seems to trigger right before the first erase attempt
10:33:30braewoodsi'm considering omitting usage of that function since it is non-critical
10:33:34braewoodsjust to see what happens
10:33:38braewoodsbad idea?
10:34:12speachyor sanity-check the output immediately after it, and don't call erase.
10:34:45braewoodsoutput of what? the function?
10:35:12speachyyeah, make sure pInfo is sane.
10:35:56braewoodsspeachy: but the weird part is the function was called much earlier than the known failure point
10:38:26_bilgusbraewoods, make anything local that gets used static
10:38:42_bilgusmaybe there is a use after free situation
10:39:08braewoodsincluding the plugin functions?
10:39:30braewoodsor is that a problem with the linker?
10:39:40braewoodsi noticed local functions are rarely made static
10:41:54 Quit pamaury (Ping timeout: 272 seconds)
10:42:38speachyor you're passing a function pointer to something else, and it's called after it's gone out of scope.
10:42:42_bilgusstatic struct flash_info fi;
10:43:07_bilgussorry had to find it or even put it up into the header
10:43:52_bilgusjust making it static though will hide that using it after its gone out of scope
10:44:33_bilgusnot that the compiler shouldn't pick up on that but.....
10:44:56 Quit vvrng (Read error: Connection reset by peer)
10:45:17 Join vvrng [0] (
10:46:18_bilgussince you are passing this pointer all over the place I'd also check the functions leading up to your crash to see if they mutate it in any way
10:47:06braewoods_bilgus: well... here's the weird part... it doesn't trigger immediately. seems to trigger while attempting an erase.
10:47:19braewoodssince it exits normally if i just return prior to erase attempt in the bootloader flash code.
10:47:27braewoodsso is it even right?
10:47:35braewoodsthe reported function is called earlier
10:48:25_bilgusI saw that erasure is making copies of data it intends to overwrite those look to be stack allocs are you sure you aren't overflowing the stack?
10:48:43braewoods_bilgus: where?
10:49:22_bilgusnm its using the audio buffer
10:50:37_bilgusthis function the one you refer to? cfi_erase_sector
10:51:13braewoodsit makes it to line 506 and that's the last known place before the interrupt.
10:52:38braewoodsmaybe i should add rb splash calls to see how far it reaches
10:54:43_bilgusyes and check your sector size i < SEC_SIZE/2
10:55:08_bilgushazard a guess you are falling off the map
10:55:16braewoodsthat's expected
10:55:32braewoodsthe flash chips deal in 16 bit chunks
10:55:45braewoodsso the sector size is split in half
10:55:55_bilgusi'm not saying the /2 I'm saying check the addresses
10:56:09braewoodsi checked the math and it should check out
10:56:14braewoodsbut ok
10:56:57_bilgusok so disable the part that does the actual erase and put in a static int to count up addresses then check it once it completes w/o crashing
10:57:38_bilgusthen check your math vs its math
10:57:57braewoodsok. i'll stop the actual writes
10:59:29braewoodsi'll gut these functions and see what happens
11:00:15_bilgusif you feel froggy add a define DEBUG_MODE or something and leave it for the future you
11:04:12braewoodsjust disabled the actual writes
11:04:17braewoodsi'll see what happens
11:07:57braewoodsnothing happened. ok.
11:08:19braewoodschecking next thing
11:08:38_bilgusnothing as in no crash?
11:09:15 Join pamaury [0] (~pamaury@rockbox/developer/pamaury)
11:09:36***Saving seen data "./dancer.seen"
11:09:43braewoods_bilgus: yea. exitted normally.
11:09:54braewoodsi disabled the guts of the
11:10:07braewoodserase / program routines
11:10:13_bilgusso now set a file to record the addresses and write it to disk
11:12:30braewoods_bilgus: how does rockbox do IO?
11:12:36braewoodsstandard stdio?
11:12:51_bilgussemi standard?
11:12:58_bilgusin plugins its east
11:13:10 Join TheLemonMan [0] (~lemonboy@irssi/staff/TheLemonMan)
11:15:36_bilgusthere is the one I left in chessbox should be pretty easy to see whats going on
11:18:22speachywhat controls the size of teh statusbar on non-WPS stuff? is it purely theme-controlled?
11:18:56_bilgusyou mean the one you see from the main menu?
11:19:19_bilgusprobably static
11:19:38speachyit's sized for the fixed 8pt sysfont, when using a larger font the volume number display is all screwed
11:20:07_bilgusyeah i'll double check maybe it uses get string size somewhere
11:22:47speachyugh, I think it's sized for UIFONT, but when SYSFONT is larger, badness.
11:26:43_bilgusstatusbar.h ln 33
11:28:28_bilgusbetter bet is probaby to force its font size in the set-up for the vp
11:30:29speachythat can be done? I thought the FONT_ID was a fixed size.
11:30:57_bilguswe could actually resize dynamically too, You'd just lock in the font of a proper size
11:31:15_bilgussay sys_font_8
11:31:53speachythe offsets of the elements are all fixed relative to each other
11:32:04speachylooks like a new rabbit hole. :D
11:32:14_bilgusmight require adding it but I think the small standard ones are already in (fonts)
11:33:11_bilgusI guess the 3rd option is to make it aware of the font size at buildtime
11:33:35_bilgushow though not so sure
11:34:35_bilgusif we select in our font at ln 172 we can use that to determine the max height at runtime
11:34:57_bilgusit has font_0 at invocation
11:41:03_bilgusonly reason any of this is now feasible is because the removal of charcell and hwcoded
11:41:16_bilgusysay for progress!
11:41:49_bilgusCLIP V1 will be the next
11:42:05 Quit mutax (Quit: Back to RL)
11:42:15speachyto go, you mean?
11:42:34_bilgusno ram and no sd slot
11:43:12_bilgusthere aren't many left in my estimation
11:43:21_bilgusseeing as the flash goes
11:43:42speachyI think we have a few other <2MB targets too
11:45:10_bilgusI doubt I pushed up binaries to where it matters yet but its something i'll have to pay close attention to
11:45:15 Join mutax [0] (
11:46:48_bilgusI may have a go at that statusbar code next if you aren't too hurried about it
11:47:05_bilgusI want to get the bt menu worked out and send this rocker back
11:47:14speachywe are stuck with SYSFONT or UIFONT though, because they're the only ones guaranteed to be there
11:53:27speachy(ie everything else requires the user to install teh fontpack. so this means we need to make the statusbar dependent on the height of sysfont_fixed or uifont.
11:55:57_bilgussounds easy enough to just change the define based on whichever is hardcoded then
11:56:38speachyyeah, trying to figure out if there's a way to glean that at build time.
11:57:06fs-bluebot_Build Server message: New build round started. Revision 5d5f816, 293 builds, 9 clients.
11:57:43speachythe volume number displayed will now respect numdecimals so we won't get "-300" when it's really -30.0
11:58:04speachythis is one of those things I'm surprised went this long
11:58:08speachycd ..
12:00:52_bilgus#ifdef SYSFONT_HEIGHT #ifdef UIFONT_HEIGHT?
12:02:42_bilgusidk I don't appear to have anything with UIfont
12:03:00speachyUIFont can change at runtime, only SYSFONT_FIXED is guaranteed static.
12:03:07speachy(and thus can be used in a #define)
12:03:58speachywell, I guess we need 16x16 icons now too. :D
12:03:59_bilgusoh then kinda locked there atm it doesn't currently have the wiring for dynamic resize
12:04:47_bilgusnot it!
12:05:32speachywell, the main reason SYSFONT_FIXED is 16px on tehse things is to make the bootloader text readable
12:10:41fs-bluebot_Build Server message: Build round completed after 815 seconds.
12:10:45fs-bluebot_Build Server message: Revision 5d5f816 result: All green
12:14:08 Join fs-bluebot [0] (
12:14:21 Join bluebrother [0] (~dom@rockbox/developer/bluebrother)
12:14:58 Quit bluebrother^ (Ping timeout: 258 seconds)
12:15:21 Quit fs-bluebot_ (Ping timeout: 258 seconds)
12:15:37braewoods_bilgus: ok. i did a dump log and there's nothing odd about the addresses that i can tell.
12:16:00braewoodsit does seem to call the flash functions with sane arguments
12:16:11_bilgusthey don't go higher than the available space?
12:16:36braewoodsthat i can tell
12:18:00braewoodswow. they can't handle 750KB file
12:18:05braewoodspastes are so limited">
12:19:38braewoodsthe first part is erasing then programming the early boot sector
12:19:55braewoods0x10000000 is the start of IRAM
12:20:03braewoodsand doesn't exceed iram size of 0xc00
12:20:05braewoodsand doesn't exceed iram size of 0xc000*
12:20:16braewoodsrest is in the ROM address region
12:20:37braewoodsand the flash accesses are all aligned, not surprising but still worth looking at.
12:22:07braewoodsthen it loops the erase sector function 16 times to erase the boot sectors
12:22:19braewoodsthen it starts to program it
12:22:48braewoodsall i can say is it seems to be something related to the actual attempts to write or erase the flash
12:23:05braewoodsonly way to know is to enable it with my new logging and see where it goes
12:30:58edhelasThe Rockbox JPG decoder doesn't support progressive JPEG?
12:31:48edhelasIs there a reason why?
12:35:19*gevaerts tries to do some research
12:38:45gevaertsSo yes, apparently :)
12:38:52speachy_bilgus:g#2908 is my hacky workaround. Make everything use 8px sysfont, except for the bootloaders.
12:38:54fs-bluebotGerrit review #2908 at : statusbar: Make statusbar set to SYSFONT_HEIGHT by Solomon Peachy
12:39:47speachybut the statusbar elements will be sized horizontally correctly based on font width, and vertically.
12:40:12_bilgusplease wait to drop that ill I get 2811 done I just did a ws patch on top
12:40:44speachywith 16x16 icons it has a good chance of JustWork-ing.
12:42:52_bilgusi'm gonna puysh this after I verify only WS changes
12:46:23braewoods_bilgus: ok... same error, same function at the given address.
12:46:36braewoodsonly when flash stuff is actually enabled in the mutative operations
12:46:41braewoodsnothing in the log.
12:46:49braewoodsdid it crash before the buffer flushed?
12:48:26_bilgusAnyone got anything they wanna push before I tie this up with 3 commits?
12:51:38braewoodsi wonder if the WP# is mapped to one of the GPIOs.
12:51:57braewoodsthat's the only thing RB can directly manipulate to put something high or low
12:52:03braewoodsand it is a very simple pin
12:52:22braewoodsgpio is the most likely place it would be
12:55:40fs-bluebotBuild Server message: New build round started. Revision 40e98a2, 293 builds, 9 clients.
12:56:27_bilgusif any errors are found my guess is checkkwps , bootloaders, clipV1
12:58:36_bilgushmm I hope it picked that up right I expected Moshe's commit to show but maybe it was able to figure it out on the backend
12:59:24speachy_bilgus: when you submit several together it only "reports" the last one in the series.
13:03:47_bilgusah ok that makes sense
13:05:05speachyok, 2908 is working, displays a sysfont-sized statusbar with no icon regressions. though without properly sized icons it's not going to look right. :)
13:05:45speachythe commit also disables all 16px-sized sysfonts, leaving them only for the bootloaders.
13:08:03_bilgusoh is this a hosted thing?
13:09:27speachythe higher-res ones got the higher-res sysfont so the bootloader would be readable
13:09:39***Saving seen data "./dancer.seen"
13:09:47_bilguswhat if instead of that we altered the puts function to double size everything
13:10:30speachyno reason to not use higher-res fonts in the BL
13:11:04speachyonly reason to not use it on the main fw is the statusbar being fixed. 2908 makes it display properly with the clock etc
13:11:06_bilgusok nbd I was just saying based on bootloader size issues
13:11:37speachyno (practical) limitations on these targets
13:13:52speachythe statusbar is skinnable but it's still fixed in height at compile-time
13:14:21speachyit's a decent intermediate step towards making the statusbar properly dynamic.
13:15:41_bilgusI opend sb.c in 2908 and I said YESSS
13:15:54*_bilgus hates magic numbers
13:16:45speachythe other widths are dependent on the actual icon used, so I left 'em alone. once we get a 16x16 icon set the macros will need revisiting
13:16:55fs-bluebotBuild Server message: Build round completed after 1274 seconds.
13:16:57fs-bluebotBuild Server message: Revision 40e98a2 result: 346 errors 42 warnings
13:17:47speachythey're all the same basic error
13:18:35_bilgusugh next question is how it crept back in
13:18:46_bilgusgive me a second I know what it is
13:19:33braewoodsspeachy: i'm considering the practicality of disassembling the stock firmware. any pointers?
13:20:15braewoodsthe idea i had was to trace the ASM to see if i can find out what it is doing to erase the flash when it does an upgrade.
13:22:37mendel_munkishow much free space on tmp does rockboxdev assume?
13:22:56speachymendel_munkis: "as much as is needed"
13:23:03speachyrealistically it's a couple of GB.
13:23:51speachyyou can override the default download and build dirs
13:24:04 Quit pamaury (Ping timeout: 256 seconds)
13:24:11 Join MrZeus_ [0] (~MrZeus@2a02:c7f:70d0:6a00:d169:f3a5:aa12:572b)
13:24:13_bilgusand a damn unnamed initializer in reversi
13:24:47speachygiven the sheer scope of your changes this is a surprisingly small number of issues.
13:24:47_bilgusnow i need to figure out what all it is using lol
13:25:14*_bilgus tests on as many targets as he can doesn't always work so well though
13:25:40speachymost of the failures on my toolchain bump turned out to be the long tail of bootloaders
13:26:48mendel_munkisI was just surprised when running it always runs out of space.
13:28:21mendel_munkishow does resume work again?
13:28:35_bilgusstores a position in cfg
13:29:03_bilgusdependent on the playlist possibly
13:29:04mendel_munkisI meantfor the toolchain buildscripts.
13:29:10mendel_munkis sorry I wasn't clear
13:29:24_bilguslol yeah I was grasping for context
13:30:20 Join pamaury [0] (~pamaury@rockbox/developer/pamaury)
13:30:28speachymy approach was to blow it away and re-start
13:31:11speachy(the build-dir, I mean. the eventual destination dir is fine to re-build on top of)
13:33:28_bilgussamn I never did get resume working properly
13:33:50_bilgusI also learned build one toolchain at a time
13:34:18_bilgusnone of that xyrsz stuff unless you want 14 hr redo's
13:38:42mendel_munkishey I successfully rebuilt all toolchains simultaneously on uzziyah.
13:43:18_bilgusso not only did reversi have unnamed initializers for the vp it had a zero prior to font so i'm not sure if it was broken and now fixed or is now broken
13:44:03 Join S|h|a|w|n [0] (~shawn156@unaffiliated/shawn156)
13:52:31speachyI know it worked previously onthe X3.
13:53:19 Quit t0mato (Quit: Ping timeout (120 seconds))
13:56:26_bilgusstill works, weird
13:58:11_bilgusred tellow
13:58:16fs-bluebotGerrit review #2911 at : FIX RED/TELLOW framebuffer viewport rewrite by William Wilgus
13:58:37_bilgussee the vp init there that 0 prior to font, no vp have an extra elem there
13:59:30_bilgusohh yes they do flags
14:04:06fs-bluebotBuild Server message: New build round started. Revision 9b295ce, 293 builds, 9 clients.
14:06:19_bilgusstill gonna be red for the iaudio x5
14:10:14 Join t0mato [0] (~t0mato@
14:17:40speachye00v2 is probably in the same red boat
14:24:10Airwavespeachy: Sorry, I was away from the computer. Want me to try the test build?
14:24:32speachyAirwave: latest dev build should be good
14:24:38fs-bluebotBuild Server message: Build round completed after 1232 seconds.
14:24:40fs-bluebotBuild Server message: Revision 9b295ce result: 554 errors 0 warnings
14:24:47Airwavespeachy: The one on ?
14:24:49 Join lebellium [0] (
14:25:33speachy_bilgus: um...
14:29:21_bilgusbecause its now current_viewport
14:29:25Airwavespeachy: My theme looks broken when I try this build
14:29:41_bilgussorry don't have any of the bootloaders made to test
14:29:57speachyAirwave: in what way?
14:30:05AirwaveThere are lines between top bar elements. Most of the main screen has a black outline around it
14:30:24_bilguswhat target and is this the one that is up now?
14:31:08speachyAirwave: try this:
14:31:17speachy_bilgus: It's the Rocker, and yes.
14:32:18Airwavespeachy: Okay, installing. I'm not using the default theme by the way.
14:33:20Airwavespeachy: Yeah it looks good with that one
14:34:45AirwaveWas the top bar showing 10x volume supposed to be fixed in this one?
14:38:01fs-bluebotBuild Server message: New build round started. Revision ada919f, 293 builds, 9 clients.
14:39:40_bilgusI assume this is a me thing what theme?
14:41:50Airwave_bilgus: Are you asking me?
14:42:06AirwaveOh, sorry. I use this theme:
14:42:44_bilgusO_o DB Error: attempt to write a readonly database (8)
14:42:44_bilgusSQL: UPDATE themes SET downloadcnt=downloadcnt+1 WHERE themeid=:id Array ( [:id] => 2054 )
14:42:55speachy_bilgus: reload
14:43:12speachyworst case I'll manually unwedge things.
14:43:25_bilgusi t worked
14:43:26speachyAirwave: I do notice that the theme claims "doesn't work with current build"
14:43:45lebelliumAirwave: good choice of theme :)
14:43:46_bilgusbut he was using it
14:43:48Airwavespeachy: Yeah I noticed that too just now. I haven't experienced any issues with it though
14:43:55speachythat means checkwps fails
14:43:59Airwavelebellium: :-D
14:44:07Airwavelebellium: I honestly love it
14:44:31braewoodsi wonder...
14:44:39braewoodsi'm going to compare the datasheets again
14:44:40lebelliumAll my themes used to work with current build. Hopefully I don't need to update them all because some devs are playing with the theme engine :P
14:44:46braewoodssee if there's some behavior the old code is incompatible with
14:45:05AirwaveLooks fantastic. The only thing I disliked was the background image, but that was simple enough to change.
14:45:37Airwavelebellium: How come it doesn't appear on the Rocker theme page? It works perfectly on Rocker.
14:45:37speachyheh, it dumps core
14:45:54_bilgushuh when I applied it I got a segfault
14:46:03speachyit segfaults in viewport_set_defaults()
14:46:04_bilguson reboot it works though
14:46:12speachyin checkwps
14:46:30speachya null pointer dereference
14:47:08_bilgusOH nice info
14:47:23_bilgusAirwave what is the issue you are having?
14:48:14Airwave_bilgus: You mean the theme issue with this build?
14:48:27lebelliumAirwave: strange... I uploaded for Gogear because I actually have the Gogear and the Rocker didn't exist back to 2014 but as far as I know the themes filter is based on resolution so I would assume that it would appear on the Rocker page too. hum
14:48:57Airwave_bilgus: Let me get a screenshot of how it's supposed to look vs. how it looks on the new build, gimme a minute
14:49:36speachylebellium: it fiters out ones that don't work
14:50:07lebelliumpfff you broke almost all my themes :(
14:50:10speachythere was never a "stable" rocker release
14:51:01lebelliumoh I didn't think about that, makes sense
14:51:02AirwaveHmm according to there's supposed to be a screendump function in debug, but I can't find it
14:52:34AirwaveBut I can describe the issue. There are lines between top bar elements, and most of the main screen has a black outline around it.
14:53:03_bilgusI think thats gone now
14:53:14speachythe fact that it segfaults checkwps is a big red flag.
14:53:22Airwave_bilgus: Okay, do you have a build I should try?
14:53:44_bilgusis there more info on the null access in set_defaults?
14:54:04_bilgusthe one that finishes here in a bit
14:54:41speachyit's actually in viewport_set_fullscreen
14:55:29speachyL287: screens[screen].init_viewport(vp);
14:56:33speachyand 'screens' is nil
14:57:07_bilgusscreens is nil O_o
14:57:31_bilgusoh it needs an ifdef
14:57:52speachyscreens _should_ be defined, in checkwps.c
14:59:51_bilgusit is
15:00:06_bilgusbut it doesn't know about init_vp
15:09:42***Saving seen data "./dancer.seen"
15:11:11braewoodswell this is helpful. i got a usb power meter for measuring current over usb
15:11:19braewoodsnow i can see if stuff is charging, etc
15:12:15braewoods... wow
15:12:27braewoodsthis h120 has an ancient rockbox bootloader
15:12:45braewoodsnever thought i'd find a unit that had been modded previously
15:13:12lebelliumjust bought a iHP-120 for €20 :)
15:13:17braewoodsthey said it was red light when charging
15:13:32braewoodsi think the issue is they were using a 6V ac adapter!
15:13:42braewoodsthis is rated for 5V
15:13:47braewoodsi'm guessing it was refusing to charge
15:14:27braewoodsi'll let it charge awhile and see if it can run off battery
15:16:19fs-bluebotBuild Server message: Build round completed after 2295 seconds.
15:16:35fs-bluebotBuild Server message: Revision ada919f result: 62 errors 0 warnings
15:17:53speachythe errors are the reversi fix
15:18:20speachyexcept e200v2 (lcd_framebuffer)
15:18:53_bilgusgetting close FFS gotta be almost there
15:19:33_bilgusI think I just need a dummy init_viewports
15:20:42_bilgusalso I'm not sure why I can't get these particualr errors in the builds here but maybe I'm just not doing the right ones
15:21:29speachythe reversi bug is 'bg_pattern' instead of 'bgpattern'
15:22:16speachya typo
15:22:29speachyand only on touch screens
15:22:54_bilgusyeah I don't have any TS targets
15:23:06speachythat should leave only the e200v2 failure.
15:28:03fs-bluebotBuild Server message: New build round started. Revision 04e7bac, 293 builds, 9 clients.
15:29:28speachycheckwps no longer crashes, yay
15:29:41speachybut valgrind does show a leak
15:34:12speachycheckwps.c never free()s the skin_buffer it malloc()s
15:34:30speachypretty minor all in all.
15:35:44speachybut back to the theme issue, I wonder if the theme (and others) was relying om some formerly-implicit behavior
15:39:52_bilgus2914 now frees the buffer
15:40:17_bilgusit's quite possible there was a lot of that implicit fallback to the default fb going on
15:41:09speachywell, I guess we neet to break a lot of eggs.
15:41:10_bilgusI have it well tamed in core but its always possibe I missed something or 348 somethings
15:42:15_bilguswow I wondewr if those are the final size tallys
15:42:24_bilgusonly 1k
15:42:39speachygive or take, yeah
15:43:06_bilgusxduoox20 3k but still I was expecting way more
15:43:31speachybut the x3ii was only 172, and it's nearly identical
15:44:07_bilgusNo I'm perfectly fine with fixing anything new that pops up it goes towards a more stable system this way IMO
15:44:17speachythere's still a little nondeterminism between our builders
15:44:21braewoodsi'll test the iriver_flash from development builds
15:44:28braewoodson this new h120
15:44:38braewoodsif it works on the original target
15:44:40speachyabsolutely, we need to fix this stuff properly
15:44:52braewoodstalking to me?
15:44:54braewoodsoh no
15:45:12_bilguslol no but thats a good idea to check the original brea
15:45:20braewoodsif i can't figure out the H300 erase procedure
15:45:29braewoodsthere's not much point to iriver_flash on it
15:46:00speachyheh. just watched a bot try to break into the buildserver
15:46:15braewoodsspeachy: password logins disabled?
15:46:32braewoodsusually the best option for SSH
15:46:36speachybraewoods: the C&C port for the builders
15:47:00speachypretty hard to do a buffer overflow on native perl. :)
15:47:15braewoodsspeachy: still it seems pretty clear the H300 is failing to erase the flash
15:47:22braewoodsor else i'd have bricked it
15:47:43braewoodsi think i need to investigate those routines.
15:47:56braewoodswhat region is unused by the OF?
15:48:13braewoodsthis flash is pretty massive and the OF is only 2.7 MBs or so
15:48:56braewoodsi mean iriver_flash is pretty critical to what i want to do
15:49:05braewoodsif you can't flash from RB you can't replace the OF
15:49:19fs-bluebotBuild Server message: Build round completed after 1277 seconds.
15:49:23fs-bluebotBuild Server message: Revision 04e7bac result: 11 errors 0 warnings
15:49:25speachybraewoods: the actual server blocks about 150-200 unique IP addresses a day from breakins on the ssh ports alone. If I were to include bots hitting the www side, it would be much larger.
15:50:00braewoodsit's possible something else is going on but the H300 flash chip does have a feature the H100 flash chip does not.
15:50:04braewoodsthe WP pin
15:50:45braewoodsbut it appears to only guard the bootblock
15:51:20*braewoods ponders.
15:51:27speachythat's not likely
15:51:41speachyI've never seen a WP/WE pin that doesn't cover everything
15:51:55braewoodsI see. There's a separate WE pin.
15:51:59speachybut bootblocks might require a sort of doorbell/knock sequence to the command port
15:52:04fs-bluebotBuild Server message: New build round started. Revision 299c237, 293 builds, 9 clients.
15:53:50braewoodsthis is the...
15:53:57braewoodsdatasheet's description of WP#
15:54:00braewoods"To protect the top/bottom boot block from Erase/Program operation when
15:54:10braewoodsso just specifically for that
15:54:28speachyhuh, ok.
15:54:33braewoodswhich is the first 64K of the ROM
15:54:40braewoodsfor the one on the H300
15:54:50speachyso it's presumably tied to a GPIO, but.. maybe not.
15:55:03braewoodsthere has to be a way around it or else the OF couldn't rewrite it
15:55:17braewoodsassuming it is even connected
15:55:26braewoodsthe WP# defaults to high if unconnected
15:55:34braewoodswhich means, unprotected
15:56:11braewoodsbut i need to do some tests
15:56:20braewoodsi'll test some of the high ROM that goes unused currently
15:56:30braewoodsif that can be written then writes do work but...
15:56:32_bilgusso could you takeit apart put a probe on the wp pin the have the OF do an upgrade?
15:56:53braewoods_bilgus: how? the ROM chop is mounted BGA style.
15:57:08braewoodsmeaning there's no easily accessible pins you can poke
15:57:23_bilgusoh well that would make it pretty difficult without a schematic
15:57:38braewoodsbut if it is in use
15:57:51braewoodsit is probably set by default to low
15:57:59braewoodswhich is 0, yes?
15:58:01braewoodsin GPIO
15:58:14braewoodsi'm not used to manipulating GPIO so i'm not sure
15:58:25braewoodsthere's always plan B
15:58:45braewoodstry manipulating the undocumented GPIO pins to see if any of them do anything
15:58:54braewoodsit's possible they were though unused due to no one pursuing this
15:59:42speachybraewoods: it's also possible the boot block is truly protected and not overwritten by the OF.
16:00:31speachy(then again, if our bootloader is written into that block... nevermind)
16:05:03speachyit could also be controlled indirectly, eg via a pin attached to the PMIC or something else
16:08:05braewoodsspeachy: yea, i just know GPIO is the best bet at the moment.
16:08:06_bilgusthat theme still segfaults on first selection
16:08:16_bilgustime to track that down
16:08:19braewoodsright now my new H120 is charging
16:08:24braewoodsit's the junker unit i bought
16:08:51braewoodspulling .7 amps according to my meter
16:10:03fs-bluebotBuild Server message: Build round completed after 1080 seconds.
16:10:11fs-bluebotBuild Server message: Revision 299c237 result: 2 errors 0 warnings
16:10:12fs-bluebotBuild Server message: New build round started. Revision 804a498, 293 builds, 8 clients.
16:11:56speachyI don't know WTF is oging on with the android builds.
16:16:04braewoods_bilgus: i mean the only way i can think is to remove the BGA chip, basically sacrificing an h300 permanently
16:16:16braewoodsthen seeing what the pads have continuity with
16:16:35_bilgusyep thats the unfortunate side of no info
16:16:51braewoodsyea, there's no leaked schematics either
16:17:02braewoodsso i think i'm better off trying some stuff.
16:17:14braewoodsGPIO has 64 pins in the H300
16:17:24braewoodsi can try bruteforcing i guess
16:17:37braewoodsi'd start with the pins no one has assigned to anything
16:17:59braewoodsbut first i plan to do some tests to see what behavior i observe
16:18:07braewoodsi found there's a lot of unused ROM Space in the OF
16:18:13braewoodslike a megabyte ish
16:18:23braewoodsi should be able to erase part of that and do a test write
16:18:33braewoodswith no harm to the OF
16:18:46braewoodsit's all 0xFFFF patterns
16:18:56braewoodswhich is what the bits in this ROM default to when not programmed
16:19:24braewoodsprobably best to experiment with that part of the ROM
16:19:55braewoodsi may have to use a different approach to support flashing here
16:20:04braewoodsone option i've considered...
16:20:31braewoodsconsidering the bootloader block RO and just be sure it has something we can leverage to boot from ROM that we can erase
16:21:02braewoodsbasically an idea is to have a bootloader for the bootloader so to speak
16:21:11braewoodschain that never gets erased
16:21:32braewoodsnot ideal but it is an option if i can erase part of high rom
16:23:21_bilgusspeachy panic.c has a font dependent setting too
16:25:29speachy_bilgus: yeah.. but at least it scales based on the font/screen width
16:26:21_bilgusI think its the wrong one though missing half the info
16:28:45_bilgusnope its not there
16:29:04_bilgusweird does something else do panics for Segmentation fault?
16:29:47_bilgusah sig handler
16:33:16fs-bluebotBuild Server message: Build round completed after 1384 seconds.
16:33:17fs-bluebotBuild Server message: Revision 804a498 result: 4 errors 0 warnings
16:33:56_bilgushmm now two more failed to complete?
16:34:59speachythey also use the android toolchain
16:45:08 Quit pixelma (*.net *.split)
16:45:08 Quit amiconn (*.net *.split)
16:45:08 Quit ender| (*.net *.split)
16:45:10 Quit atsampson (*.net *.split)
16:45:10 Quit akaWolf (*.net *.split)
16:45:10 Quit igitoor (*.net *.split)
16:45:10 Quit Galois (*.net *.split)
16:45:15 Join akaWolf [0] (
16:45:19 Join pixelma [0] (marianne@rockbox/staff/pixelma)
16:45:19 Join amiconn [0] (jens@rockbox/developer/amiconn)
16:45:24 Join atsampson [0] (
16:45:29 Join igitoor [0] (igitur@2a00:d880:3:1::c1ca:a648)
16:45:41 Join ender| [0] (~ender1@2a01:260:4094:1:6045:6fff:fedd:cbf3)
16:45:49 Quit igitoor (Changing host)
16:45:50 Join igitoor [0] (igitur@unaffiliated/contempt)
16:47:21 Join Galois [0] (
16:58:23 Join Oksana [0] (~Wikiwide@Maemo/community/ex-council/Wikiwide)
17:07:09lebellium"works with current build"
17:07:11lebelliumthanks :)
17:09:43***Saving seen data "./dancer.seen"
17:12:50speachyOK, I tink I've fixed a longstanding bug in the build client. ought to make us a bit more efficient.
17:15:48braewoodsspeachy: something interesting happened.
17:15:49speachytime to repeat the last build..
17:15:53fs-bluebotBuild Server message: New build round started. Revision 804a498, 293 builds, 9 clients.
17:15:57braewoodsi produced a trap7 while doing something else.
17:16:27braewoodswhen i booted the h300 with usb attached, it entered usb bootloader. then i unplugged and replugged it quickly.
17:16:34braewoodsduring boot RB got a trap7
17:16:54braewoodscould it be the toolchain producing semi-flawed code?
17:17:09braewoodsit would help if i knew what trap7 *was*
17:17:36lebellium_bilgus: the latest build doesn't fix FS #13249, it actually makes it worse. When I stop playback in my SBS mini-player, it freezes id3tags
17:17:38fs-bluebot SBS Info viewport not refreshing when used as a conditional (bugs, unconfirmed)
17:18:24_bilgusthjats is actually a good thing
17:18:50_bilguswell not overall
17:19:30_bilgusright now I'm tracking down this crash on switch to that theme I'll start looking at that one next
17:22:30speachyno errors so far, good.
17:23:42braewoodsthe error pops up no matter what part of flash i try to erase
17:23:47braewoodsi just tried on a safe region
17:33:08 Quit TheLemonMan (Quit: "It's now safe to turn off your computer.")
17:36:18fs-bluebotBuild Server message: Build round completed after 1225 seconds.
17:36:19fs-bluebotBuild Server message: Revision 804a498 result: All green
17:37:10fs-bluebotBuild Server message: New build round started. Revision 804a498, 293 builds, 9 clients.
17:37:25 Quit pamaury (Ping timeout: 264 seconds)
17:44:10_bilguswell I'll have to continue this later sd card in the rocker just went R/O
17:56:29fs-bluebotBuild Server message: Build round completed after 1159 seconds.
17:56:30fs-bluebotBuild Server message: Revision 804a498 result: All green
17:57:51braewoodsspeachy: apparently TRAP7 is one of the CF programmable trap interrupts... it's not predefined to anything.
17:57:57braewoodsbut then what is triggering it?
17:58:03braewoodswould a debug build help?
18:12:36speachymaybe it's an unhandled exception, ending up in the default handler
18:13:02braewoodsspeachy: how would I find out if it is?
18:13:45braewoodsi'm going to try something.
18:14:43braewoodsspeachy: i haven't done much with ASM so i feel like i'm running into a brick wall lol
18:25:25 Quit JanC (Remote host closed the connection)
18:25:48 Join JanC [0] (~janc@lugwv/member/JanC)
18:47:59 Join amiconn_ [0] (jens@rockbox/developer/amiconn)
18:48:00 Nick amiconn is now known as Guest90961 (jens@rockbox/developer/amiconn)
18:48:00 Nick amiconn_ is now known as amiconn (jens@rockbox/developer/amiconn)
18:48:04 Quit lebellium (Quit: Leaving)
18:48:27 Join pixelma_ [0] (marianne@rockbox/staff/pixelma)
18:48:28 Nick pixelma is now known as Guest69839 (marianne@rockbox/staff/pixelma)
18:48:28 Nick pixelma_ is now known as pixelma (marianne@rockbox/staff/pixelma)
18:48:57 Quit Guest69839 (Ping timeout: 260 seconds)
18:48:57 Quit Guest90961 (Ping timeout: 260 seconds)
19:03:01speachybraewoods: this stuff is the lowest-level one can get, alas.
19:03:14speachyI'm not familiar with the vagracies of m68k/dragonball processors
19:09:46***Saving seen data "./dancer.seen"
20:12:09 Join Huntereb [0] (~Huntereb@
20:13:50 Quit bluebrother (Disconnected by services)
20:13:54 Join bluebrother^ [0] (~dom@rockbox/developer/bluebrother)
20:14:10 Join fs-bluebot_ [0] (
20:16:16 Quit fs-bluebot (Ping timeout: 246 seconds)
20:35:07braewoodshm. the junker unit mostly works after some preliminary repairs.
20:35:20braewoodsbut i need to resolder the navigation button to actually do anything with it
20:50:04 Quit JanC (Remote host closed the connection)
20:50:38braewoodsspeachy: i found pay dirt.
20:51:17braewoodsi dunno why but GCC is generating traps in the source code.
20:51:37braewoodsit's the result of TRAP instructions being inserted.
20:51:55braewoodsi just wanted to see what the generated ASM was
20:52:05braewoodsgee, it's trap #7
20:52:11braewoodsthe same turd that's been giving me grief!
20:52:23braewoodsbut why is GCC generating this?
20:52:40braewoodsmaybe we need to update how we build coldfire
20:53:08 Join JanC [0] (~janc@lugwv/member/JanC)
20:53:35speachyI ran into something sorta like this when debugging the PP stuff, GCC was inserting an UND or something like that because it knew things were goign to go into the weeds.
20:54:24speachywait, what's the first address of the flash sector? 0x0?
20:54:34braewoodsaka null
20:54:46braewoodswhat does GCC use trap 7 for?
20:54:49speachyit thinks you're deliberately doing a null pointer dereference.
20:55:49speachyadd '-fno-delete-null-pointer-checks' and rebuild.
20:56:02braewoodsspeachy: i mentioned that we might need that before
20:56:19braewoodsi only know about that because i remember it. it bit the linux kernel.
20:56:24braewoodswhen gcc 4.9 hit
20:56:33braewoodsok. i'll try it.
20:56:52speachy(the thing is, we generally _don't_ want to turn that on, but tehre are a few places where it does indeed matter.
20:57:31braewoodstraps are gone
20:57:55speachypersonally I would wrap the function with a #pragma that disables that option just for that function
21:03:23braewoodsspeachy: agreed
21:03:31braewoodsi'll see what i can do.
21:03:39braewoodsi'll need to patch this
21:03:44braewoodsso traps are no longer generated
21:06:39speachylet's see if I got htis right
21:08:35braewoodsspeachy: i'll patch it
21:08:39braewoodsyou don't need to
21:08:50fs-bluebot_Gerrit review #2915 at : iriver_flash: we need -fno-delete-null-pointer-checks by Solomon Peachy
21:09:15speachythis version of gcc won't let us use pragmas the way we need, so.. the next best thing.
21:09:27braewoodsok, works for me.
21:09:50***Saving seen data "./dancer.seen"
21:09:53braewoodsspeachy: i take it function attributes also don't work?
21:13:14speachycan't seem to make the attribute stick.
21:13:56braewoodsi'll give it a try
21:17:51braewoodspragma appears to work if set globally for the file...
21:17:55braewoodslet's see if i can narrow it down
21:19:29speachydoing it for the whole file is probably best,
21:19:47speachyI was trying to wrap the function but it's inlined so god only knows what's going on
21:21:12speachyso doing it at the top of the file is fine
21:21:17speachy#pragma GCC optimize "no-delete-null-pointer-checks"
21:22:28braewoodsi'll be reviewing the logic used to update the flash chip
21:22:37braewoodsnow that this is finally cleared
21:22:50braewoodscommit whatever solution you think best
21:23:36braewoodsat least now we know it's an issue with GCC
21:23:53braewoodswe can turn it off when it proves meddlesome
21:28:09fs-bluebot_Build Server message: New build round started. Revision f62eee5, 293 builds, 9 clients.
21:28:17speachyok, it's pushed.
21:30:55speachybraewoods: really good catch btw
21:31:13braewoodswell, i decided to look at the generated ASM.
21:31:17braewoodssince nothing else made sense.
21:31:29braewoodsrockbox doesn't use the traps at all
21:31:34braewoodsso why is it being triggered?
21:31:40braewoodsit turns out they have to be explicitly triggered in code
21:31:49braewoodsthey're commonly used to implement system calls
21:31:54braewoodsbut rockbox has no system calls that i can tell
21:33:22braewoodsspeachy: as it turns out the crap i read about nearly 8 years ago when gcc 4.9 first landed in Frugalware...
21:33:30braewoodsactually turned out to be relevant again
21:45:12speachyand the warning that kicks in to tell us about the places where it "helped" is not there in 4.9
21:46:36fs-bluebot_Build Server message: Build round completed after 1106 seconds.
21:46:37fs-bluebot_Build Server message: Revision f62eee5 result: All green
21:52:00braewoodsi can see why you're not too eager to change toolchains
21:52:22braewoodsi'm going to update cfi_read_id
21:52:51speachyand more to the point, do them all in lock-step so we don't have different quirks to deal with on different targets.
21:58:30 Join Stanley00 [0] (~stanley00@unaffiliated/stanley00)
22:02:19 Join MrZeus__ [0] (~MrZeus@2a02:c7f:70d0:6a00:e418:9938:b2ef:1e26)
22:05:10braewoodsspeachy: ^
22:06:25 Quit MrZeus_ (Ping timeout: 272 seconds)
22:08:22speachyI suspect the reason for the argument is that this funcion was lifted from a more generic source
22:08:37braewoodsyea it was
22:08:40speachythe argument is probably optimized away anyway.
22:12:28braewoodsspeachy: not necessarily. i could only see that if it was inlined.
22:13:52speachycan you clean up the whitespace in a future patch?
22:27:10braewoodsi think i need to look for trap 7s in the bootloader code too
22:27:24braewoodsyou know
22:27:30braewoodsthat should be an option.
22:27:37braewoodsfor us to leave the generated ASM files
22:27:49braewoodsso we can review them for problematic code
22:28:19braewoodsit's especially important for rockbox since so many of its targets are freestanding
22:39:51braewoodsspeachy: i integrated that and redid the commit
22:47:00_bilgusspeachy is there an easy way to translate the PC address from the rocker into my code
22:47:14_bilgusie how do I get the base address of the app?
22:49:03braewoods_bilgus: it uses ASLR?
22:49:44_bilgusI don't think I just don't know the offset
22:50:00braewoodsi believe there's an ELF symbol for that problem
22:52:55braewoodsi can't recall it though
22:54:16_bilgusI guess I could dereference a pointer in the map and subtract
22:54:43braewoodssome people define an extern char
22:54:57braewoodsto reference a symbol's address
22:55:16braewoodsthere's some special ones in ELF or how linux handles dynamic loading at least
22:56:15braewoodsi spent a lot of time researching how LD works before
22:56:19braewoodspretty complex crap
22:56:41braewoodsessentially all dynamic executables are run through a platform specific dynamic loader (DL)
22:56:58braewoods /lib/ for 32 bit x86
22:57:58_bilgusYeah I've used it for checking stack ovfl on tiny uc too
22:58:37 Quit atsampson (Ping timeout: 260 seconds)
22:59:03braewoodsmy reason was different
22:59:21braewoodsi needed to research it to create an optimized system for detecting broken dynamic linkage
22:59:41braewoodsthough that was 100% desktop linux
22:59:49braewoodsor what i call GNU linux since it uses glibc
22:59:54braewoodsarchitecture is kinda irrelevant
23:02:02braewoodsi'll be reviewing the flash routines of iriver_flash later
23:02:02_bilgusuhoh when I ask the address from within RB it gives me the same one in the map
23:02:05 Quit MrZeus__ (Read error: Connection reset by peer)
23:02:06braewoodstomorrow probably
23:03:06braewoods_bilgus: i got another H100 remote in fair condition
23:03:33 Join MrZeus__ [0] (~MrZeus@
23:03:49_bilguswell they should work
23:04:07braewoodsi got a long list of stuff i want to do with the H300
23:04:16braewoodsbut iriver_flash was the first one
23:04:35braewoodswhy implement experimental ROM/RAM image support if the flash program can't even update the bootloader?
23:09:54***Saving seen data "./dancer.seen"
23:28:48braewoodsthat's a good sign
23:28:51speachybraewoods: objdump -D file.elf | grep -i trap
23:29:35speachyto find any other lurking traps
23:30:05speachywell, m68k-elf-objdump
23:30:29speachydoes a full disasm
23:31:17braewoodsi see
23:31:19speachy_bilgus: hmm, it's going to be relocated each time it's invoked; in theory anywhere. but /proc/<pid>/maps should help
23:31:51_bilgusah indeed I was typing pmaps
23:32:02braewoodsspeachy: found something but it's in the rodata section
23:32:20_bilgusI've already moved on to making panic log f scroll the buffer
23:32:20 Quit Huntereb (Read error: Connection reset by peer)
23:32:36speachyrodata? presumably not executable..
23:33:03speachy(we _shouldn't_ be playing games like that. doesn't mean we aren't..)
23:33:22speachyoh, use -d not -D
23:33:32speachythe latter will disassemble all sections, the former only executable
23:33:52braewoodsno traps
23:33:54speachyI rely on -D a lot for dumping raw binaries
23:34:12speachy(and trying to find executable code in random fw images)
23:34:28braewoodsh120 is done
23:34:31braewoodsno traps
23:34:37speachyall elfs?
23:34:55braewoodsi only checking bootloader
23:35:11braewoodsthe bootloader.elf
23:35:17braewoodsfor h120, h100, h300 i built
23:35:23braewoodsno trap asm
23:35:43speachyfor x in `find . -name '*.elf'` ; do m68k-elf-objdump -d $x |grep trap ; done
23:35:55braewoodsthere's only one .elf file when you build the bootloader
23:35:58speachygotta lobe shell
23:36:09braewoodsso be it
23:36:16speachyanyway. time to hit the sack, before pumpkin hour for a change
23:36:19speachyg'nite, y'all
23:37:03braewoodsspeachy: it's trapoolsa
23:37:10braewoodstons of 'em in the main firmware
23:37:34braewoodsafaik these should be disabled since RB has no trap handlers
23:37:44braewoodsor at least investigated why they are getting built
23:39:44braewoodsi'd start by cleaning up the main firmware ones
23:39:51braewoodssince those are always loaded
23:40:39 Quit MrZeus__ (Ping timeout: 260 seconds)
23:41:06braewoodsmost of the traps are in skin code
23:41:09*braewoods boggles.
23:55:23S|h|a|w|nwhatcha guys working on?
23:55:29 Join atsampson [0] (
23:57:45 Quit S|h|a|w|n (Remote host closed the connection)

Previous day | Next day