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 2015-10-12

00:01:19[Saint]I'm still having a difficult time with the 'why' of it.
00:01:24[Saint]I'm not seeing it offhand.
00:05:30pamaurythis register controls the 'MSC' clock, there are two MSC (MMC/SD controller) blocks: MSC0 and MSC1. So logically CPM_MSCCPR(i) controls MSCi clock right ?
00:05:47pamauryexcept not, MSC0 and MSC1 share the same clock
00:06:14pamaurythe define makes it look like the two block have independent clock but that is not true
00:06:43 Quit FSanches (Quit: Leaving.)
00:19:28 Quit ender` (Quit: True terror is to wake up one morning and discover that your high school class is running the country. -- Kurt Vonnegut)
00:40:18***Saving seen data "./dancer.seen"
00:47:00 Part ZincAlloy1
00:48:02 Quit shamus (Read error: Connection reset by peer)
00:48:30 Join shamus [0] (
01:02:30 Quit pamaury (Ping timeout: 265 seconds)
01:41:12 Quit Guest57670 (Read error: Connection reset by peer)
01:42:00 Join ivologger [0] (
02:03:40 Join rela [0] (~x@pdpc/supporter/active/rela)
02:10:04 Quit greatwolf (Ping timeout: 246 seconds)
02:34:50 Join greatwolf [0] (greatwolf@gateway/shell/panicbnc/x-xpmolhswhjragilj)
02:35:49 Join cmhobbs [0] (~cmhobbs@fsf/member/cmhobbs)
02:40:21***Saving seen data "./dancer.seen"
02:52:16 Quit cmhobbs (Ping timeout: 255 seconds)
03:07:06 Quit ParkerR (Remote host closed the connection)
03:13:42 Quit [Franklin] (Quit: Lost terminal)
03:41:39 Join ParkerR [0] (~ParkerR@unaffiliated/parkerr)
03:48:43 Quit ParkerR (Read error: Connection reset by peer)
03:49:04 Join cmhobbs [0] (~cmhobbs@fsf/member/cmhobbs)
03:56:10 Quit cmhobbs (Ping timeout: 255 seconds)
03:57:41 Join ParkerR [0] (~ParkerR@unaffiliated/parkerr)
04:11:26 Quit Aldem (Quit: Later)
04:34:19 Quit ParkerR (Remote host closed the connection)
04:37:47 Join ParkerR [0] (~ParkerR@unaffiliated/parkerr)
04:40:24***Saving seen data "./dancer.seen"
05:11:47 Quit Jinx (Quit: reboot)
05:31:54 Quit TheSeven (Disconnected by services)
05:32:08 Join [7] [0] (~quassel@rockbox/developer/TheSeven)
06:36:23 Quit shamus (Ping timeout: 255 seconds)
06:37:03 Join shamus [0] (
06:40:28***Saving seen data "./dancer.seen"
06:53:40 Join FSanches [0] (~felipe@
07:03:17 Quit chxr (Ping timeout: 244 seconds)
07:08:56 Join chxr [0] (
07:17:17 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
07:18:30 Quit JdGordon_ (Ping timeout: 240 seconds)
07:33:56 Quit Bray90820 ()
07:34:35 Quit Strife89 (Ping timeout: 264 seconds)
07:51:22 Quit derf (Ping timeout: 260 seconds)
07:51:51 Join derf [0] (
07:56:45 Quit pixelma (Remote host closed the connection)
07:56:45 Quit amiconn (Read error: Connection reset by peer)
07:56:56 Join pixelma [0] (~pixelma@rockbox/staff/pixelma)
07:56:59 Join amiconn [0] (~amiconn@rockbox/developer/amiconn)
08:08:22 Join wodz [0] (
08:24:12 Join ender` [0] (
08:40:32***Saving seen data "./dancer.seen"
08:45:33 Join petur [0] (~petur@rockbox/developer/petur)
08:45:38 Quit FSanches (Remote host closed the connection)
08:52:24 Join xorly [0] (
09:12:33megal0maniacWhoop! Back in the build farm :)
09:31:25 Join FSanches [0] (~felipe@
09:56:44 Join maruk [0] (
09:58:55 Quit maruk (Client Quit)
10:40:35***Saving seen data "./dancer.seen"
11:00:54 Quit dfkt (Read error: Connection reset by peer)
11:42:18 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
11:42:42pamaurywodz: did you see my comments on gerrit ?
11:42:53wodzpamaury: yes
11:43:19pamauryI see you uploaded a new version, what are the differences ?
11:43:46wodzpamaury: Don't look at it yet. It is WIP snapshot so I could easily continue at work
11:44:26pamauryI made progress with the JZ headers but they are annoyingly weird, I found a few errors and oddities
11:46:05wodzpamaury: I think hwserver doesn't handle socket closing and cleaning up threads internal reflist. I am not sure how this should be handled
11:47:13pamauryYou have to check, I think there is a way to tell if the socket has been disconnected (probably recv/send return EPIPE or something)
11:47:31pamaurythen you should stop the loop in the thread and simulate a close on each opened handle
12:00:57 Quit pamaury (Ping timeout: 252 seconds)
12:34:12 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
12:35:38 Join einhirn [0] (
12:40:36***Saving seen data "./dancer.seen"
12:58:54 Quit [7] (Ping timeout: 250 seconds)
12:59:20 Join TheSeven [0] (~quassel@rockbox/developer/TheSeven)
13:06:30wodzpamaury: Can you look at g#1222? I get double free error on when calling close() from client.
13:06:42fs-bluebotGerrit review #1222 at : Extend hwstub_server so it can be used as generic backend by Marcin Bukat
13:07:12pamaurywodz: ok, I'll have a look. Did you try to use valgrind to debug this ?
13:07:50wodzpamaury: it fails on libusb_close() in hwstub_release() (well backend specific version of course).
13:07:57wodzpamaury: no, will check
13:09:02pamauryvalgrind can tell you when it was first freed
13:09:38pamaurymy guess is a problem with reference counting
13:09:47wodzwell, in valgrind it doesn't crash :-)
13:10:20pamauryand doesn't print an error about double free ??
13:10:33wodzI tried second time and now it crashed
13:14:33wodzbut this doesn't make any sense
13:15:18pamaurywodz: you forgot to set buf to NULL after the free() I think
13:15:32pamaurythat *another* bug
13:15:36 Quit shamus (Read error: Connection reset by peer)
13:16:07 Join shamus [0] (
13:17:06 Quit Rower (Ping timeout: 250 seconds)
13:17:12 Join Rower [0] (
13:21:49wodzpamaury: this seems to reflect the point where double free is hit
13:23:41pamaurywodz: a log of the requests sent by the client would be useful I guess, it seems GET_DESC was called after CLOSE, or the server incorrectly closed a device in use
13:24:00pamauryI don't have much time, I'll need to go for lunch in 5min
13:24:57wodzyou are right but I have no idea why it is so
13:26:13pamauryI need to go, I'll be back in 30min. If you can't solve it, upload the latest code to gerrit and I'll try to debug it right after my lunch break
13:50:16wodzpamaury: looks like I figured it out. New version uploaded
14:12:04 Quit alucryd (Remote host closed the connection)
14:13:05 Join alucryd [0] (~quassel@archlinux/developer/alucryd)
14:27:25pamaurywodz: it would be useful to document things a little it more. I can put comments on gerrit if you want
14:27:40wodzyes please
14:33:16pamaurywodz: in my comments, I will suggest to rename ref to id because that's confusing
14:33:28pamaury(the ref that are not ref count I mean)
14:33:41wodzpamaury: if you could also update hwstub_shell so it updates when hwserver_dev_open() is called
14:34:02wodzpamaury: ok
14:34:46pamaurywodz: yeah I'll have a look at hwstub_shell
14:35:58wodzpamaury: it is now hacked to the point that it starts up, connect to server (hardcoded to localhost:8888 now) and is able to issue hwserver_get_dev_list() hwserver_dev_open() and hwserver_dev_close()
14:40:38***Saving seen data "./dancer.seen"
14:43:51pamaurywodz: the point of my hwstub rework with hwstub_open_uri was to *not* use hwserver and hwstub_open_tcp directly
14:44:10pamauryor is it just some temporary hack to test it ?
14:45:24wodz1) It is quick hack to test it BUT 2) As I stated earlier I would like to see hwstub_server as general backend for the clients so clients do not speak directly to the devices
14:46:20wodzpamaury: ^
14:51:50pamauryHum, I need to think about it, maybe we need a different API for users of hwstub (like hwstub_shell) and the the low-level part used by hwstub_server
14:52:54pamauryyou could have other transport mechanism than TCP and for debugging purposes, I think that being able to talk the devices directly may be useful (although it would clearly not be the default)
14:55:27wodzI am thinking not about removing direct access from lib. I just would like to have default backend with multiclients capability. It all started from upgrade to the protocol so two clients can't connect to the same device at once. That means no no for qeditor and hwstub_shell at once which was useful configuration.
14:56:25pamauryyeah yeah I understand, we need to have the library launch a server if none is reachable but still keep the capability of doing otherwise if explicitely wanted
14:56:32pamaurythat's why I think we need a different API
14:57:15pamaurylet's make hwstub_server work before :)
14:57:56pamaurywodz: why do you hwstub_release() in dev_node::close() if ref_count is 1 ?
14:58:50 Join amayer [0] (
14:58:54pamauryI think ref count handling is still not right, I'll put some comments
14:59:11wodzref_cnt=1 means that device is connected but no client opened it yet
14:59:30wodzso if ref_cnt drops to 1 that means we can hwstub_release() it
15:00:32pamauryand what does ref_cnt=0 means ?!
15:00:55pamauryI think this is not consistent with is_referenced() implementation
15:01:19wodzthat it is defunc (aka disconnected) and there is no client referencing it
15:01:57pamauryI don't understand, is it not the point of connected ?
15:02:30pamauryit seems to me that reference count and connection status are two different things
15:03:15pamauryor I am missing something ?
15:04:04wodzyou are right
15:04:20pamauryI will add some comment on how to fix that (I hope)
15:04:26wodzI thought I updated ref_cnt code but apparently didn't
15:08:29 Join JdGordon_ [0] (~jonno@rockbox/developer/JdGordon)
15:10:38 Quit JdGordon (Ping timeout: 240 seconds)
15:15:44 Join ZincAlloy [0] (
15:16:38 Join stickyb1t [0] (
15:17:32pamaurywodz: see my comments
15:18:02pamauryI suggest a rewrite of device cleanup (I proposed an implementation in the comments)
15:24:48wodzpamaury: the adjustment of i−− in hwstub_cleanup_devices() looks super weird
15:25:10pamaurythat because you remove the ith entry, so the next time you loop, don't want to skip the next ith entry
15:26:03pamauryI think this fairly typical code when you remove elements from a vector while processing it
15:26:28pamauryI don't really see how to implement it differently, except with a while loop if you prefer
15:27:02pamaurysize_t i = 0;
15:27:02pamaurywhile(i < list.size()){ if(/* */) list.erase(list.begin() +i); else i++; }
15:27:12pamauryyeah maybe better
15:30:44 Join st1ckyb1t [0] (
15:31:06 Quit stickyb1t (Quit: Konversation terminated!)
15:31:08 Quit st1ckyb1t (Read error: Connection reset by peer)
15:35:05 Quit orly_owl (Read error: Connection reset by peer)
15:35:14 Join orly_owl [0] (~david@unaffiliated/orly-owl/x-3167833)
15:43:34pamaury[Franklin] (logs): see g#1223, note this is untested
15:43:46fs-bluebotGerrit review #1223 at : usb: implementation fast transfer completion on ARC (UNTESTED) by Amaury Pouly
15:43:58pamaury(I mostly took parts of the USB audio code)
15:46:19 Join JdGordon [0] (
15:46:19 Quit JdGordon (Changing host)
15:46:19 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
15:48:59 Quit JdGordon_ (Ping timeout: 255 seconds)
15:56:06 Quit einhirn (Read error: Connection reset by peer)
15:56:17wodzpamaury: In hwstub_tcp_handler_cleanup() you need to hold the lock as close() modifies shared resource
15:56:34 Join einhirn [0] (
15:57:44pamaurywodz: you are right, actually this is also a problem for open()
15:57:58pamaurybut it must be fixed by a per dev_node mutex I would say
15:58:33pamauryor open()/close() should take the devlist_mutex lock()
15:59:03pamaurythe fact that open()/close() have to lock is not related to devlist
15:59:26pamauryit's related to the fact that two threads should not hwstub_open()/hwstub_close() concurrently
16:00:23wodzwell it is related to the fact that actual device object is shared
16:01:27wodzthe call to open() and close() are protected in HWSERVER_DEV_OPEN and HWSERVER_DEV_CLOSE cases
16:01:49pamauryhum, ok but they put a comment in dev_node to explain that they need to be called with a lock
16:02:21pamauryand put a lock in hwstub_tcp_handler_cleanup()
16:03:30pamauryconcurreny is really tricky :) this server is super simple and we are still not clean on locks ^^
16:09:36 Join ZincAlloy1 [0] (
16:10:44 Quit ZincAlloy (Ping timeout: 256 seconds)
16:11:27wodzpamaury: updated version uploaded
16:14:20pamaurywodz: does that compile ??
16:14:29pamauryyou change ref to id in some places but not all
16:15:25wodzit compiles here
16:16:24pamaurytry clean and rebuild ?
16:17:09wodzah, lib doesn't build
16:17:21CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
16:17:21*wodz grumbles
16:17:30pamaurythe makefile doesn't check hwstub_protocol.h
16:19:42pamauryI'm thinking, the dev_node dtor shouldn't have to release the device, if it does, it means someone still has references to it, which is very bad, don't you think ?
16:20:30wodzI added it as 'the last line of defence'
16:23:35wodznow it should compile
16:25:59pamaurywodz: I commented patchset 11
16:26:46pamaurymostly typos, there are couple serious issues:
16:26:46pamaury- bogus unref in ctor
16:26:46pamaury- the server should differentiate between INVALID_ID and DISCONNECTED
16:29:20wodzI will fix later today or tomorrow. Thanks for review and brainstorming.
16:29:25 Quit wodz (Quit: Leaving)
16:40:06 Join Strife89 [0] (
16:40:41***Saving seen data "./dancer.seen"
16:48:29 Quit Strife89 (Ping timeout: 260 seconds)
17:01:13 Nick suYin`OFF is now known as suYin (
17:44:35 Quit einhirn (Quit: Miranda IM! Smaller, Faster, Easier.
17:48:16 Join girafe [0] (
17:50:58 Quit FSanches (Quit: Leaving.)
18:40:45***Saving seen data "./dancer.seen"
19:23:13 Join lebellium [0] (
19:39:10 Quit pamaury (Ping timeout: 244 seconds)
19:42:43 Join bertrik [0] (~quassel@rockbox/developer/bertrik)
19:52:35 Quit shamus (Quit: chaos reigns within reflect repent and reboot order shall return)
20:00:11 Join shamus [0] (
20:00:19 Join TheLemonMan [0] (~lemonboy@unaffiliated/thelemonman)
20:17:36 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
20:40:47***Saving seen data "./dancer.seen"
21:08:46 Quit bluebrother (Disconnected by services)
21:08:49 Join fs-bluebot_ [0] (
21:08:52 Join bluebrother [0] (~dom@rockbox/developer/bluebrother)
21:10:58 Quit fs-bluebot (Ping timeout: 264 seconds)
22:14:00 Quit xorly (Ping timeout: 252 seconds)
22:40:48***Saving seen data "./dancer.seen"
23:02:37 Quit lebellium (Quit: ChatZilla 0.9.92 [Firefox 42.0/20151008162217])
23:13:18 Quit ruhans (Quit: Connection closed for inactivity)
23:25:17 Quit TheLemonMan (Quit: "It's now safe to turn off your computer.")
23:27:07 Quit girafe (Quit: Leaving)
23:32:47 Quit rela (Read error: Connection reset by peer)
23:34:09 Quit uber (Ping timeout: 250 seconds)
23:51:02 Nick suYin is now known as suYin`OFF (

Previous day | Next day