*** NIN101 has quit IRC | 00:02 | |
*** thedead1440_ has quit IRC | 00:07 | |
*** thedead1440_ has joined #maemo-ssu | 00:07 | |
*** thedead1440_ has quit IRC | 00:11 | |
*** thedead1440_ has joined #maemo-ssu | 00:11 | |
*** thedead1440_ has quit IRC | 00:14 | |
*** thedead1440_ has joined #maemo-ssu | 00:15 | |
*** thedead1440_ has quit IRC | 00:18 | |
*** thedead1440_ has joined #maemo-ssu | 00:18 | |
*** xes has joined #maemo-ssu | 00:23 | |
*** Pali has quit IRC | 00:24 | |
*** android_808 has quit IRC | 00:25 | |
*** M4rtinK has quit IRC | 01:21 | |
*** FlameReaper has quit IRC | 02:01 | |
*** zumbi_ has quit IRC | 02:20 | |
*** zumbi has joined #maemo-ssu | 02:21 | |
*** LauRoman has quit IRC | 03:29 | |
*** dos1 has quit IRC | 03:40 | |
*** xes has quit IRC | 04:10 | |
*** M13 has joined #maemo-ssu | 04:53 | |
*** M13 has quit IRC | 04:55 | |
*** M13 has joined #maemo-ssu | 04:56 | |
*** nox- has quit IRC | 04:57 | |
*** amiconn_ has joined #maemo-ssu | 05:29 | |
*** amiconn has quit IRC | 05:29 | |
*** amiconn_ is now known as amiconn | 05:29 | |
*** okias has joined #maemo-ssu | 07:40 | |
okias | Hey guys, did anyone using Charger Manager in linux kernel? (except samsung) | 07:40 |
---|---|---|
*** LaoLang_cool has joined #maemo-ssu | 07:41 | |
*** freemangordon_ has joined #maemo-ssu | 07:54 | |
*** freemangordon has quit IRC | 07:54 | |
*** okias has quit IRC | 08:02 | |
DocScrutinizer05 | huh? charger manager? | 08:28 |
*** RST38h has quit IRC | 08:30 | |
*** Pali has joined #maemo-ssu | 08:32 | |
*** Pali has quit IRC | 09:17 | |
*** LauRoman has joined #maemo-ssu | 09:49 | |
*** scoobertron has quit IRC | 10:17 | |
*** raccoon_ has quit IRC | 10:53 | |
*** freemangordon has joined #maemo-ssu | 11:01 | |
*** freemangordon_ has quit IRC | 11:01 | |
*** raccoon_ has joined #maemo-ssu | 11:02 | |
*** sunny_s has joined #maemo-ssu | 11:27 | |
*** Pali_ has joined #maemo-ssu | 11:47 | |
*** kolp has joined #maemo-ssu | 11:48 | |
*** LauRoman has quit IRC | 11:58 | |
*** Pali_ is now known as Pali | 12:48 | |
*** Pali has quit IRC | 12:59 | |
*** Wikiwide has joined #maemo-ssu | 13:00 | |
*** Wikiwide has quit IRC | 13:15 | |
*** Pali has joined #maemo-ssu | 13:23 | |
*** Pali has quit IRC | 13:58 | |
*** lizardo has joined #maemo-ssu | 14:16 | |
*** Pali has joined #maemo-ssu | 14:32 | |
*** Mark__T has joined #maemo-ssu | 14:41 | |
*** okias has joined #maemo-ssu | 15:16 | |
*** dos1 has joined #maemo-ssu | 15:27 | |
*** mkaindl has joined #maemo-ssu | 15:29 | |
*** sunny_s has quit IRC | 15:32 | |
*** M13 has quit IRC | 15:48 | |
*** dhbiker has quit IRC | 16:27 | |
*** dhbiker has joined #maemo-ssu | 16:29 | |
*** Mark__T has quit IRC | 16:49 | |
Pali | freemangordon: wl1251 crash in monitor mode with 3.12-rc5 is reproducable | 17:06 |
Pali | now looking at crash dump and trying to fix it | 17:07 |
Pali | freemangordon: here is crash dump: http://pastebin.com/5DQdgdKi | 17:18 |
Pali | freemangordon: I think that in function wl1251_event_process variable wl->vif is NULL and then there is NULL dereference in function ieee80211_beacon_loss | 17:20 |
Pali | so if this is truth then this is problem in wl1251 driver and not in monitor/packet injection patches | 17:21 |
Pali | and patch could be simple, just do not call that function if vif is NULL | 17:21 |
Pali | freemangordon: rigth, it fixing that kernel crash | 17:31 |
Pali | patch is here: http://pastebin.com/YJWZUtY7 | 17:32 |
Pali | will write later to felipec | 17:32 |
*** NishanthMenon has joined #maemo-ssu | 17:34 | |
*** Pali has quit IRC | 17:39 | |
kerio | freemangordon: omg omg omg updatez omg | 18:29 |
freemangordon | kerio: hmm? | 18:29 |
freemangordon | toldya, no more thumb for you :P | 18:29 |
kerio | i upgraded stuff | 18:29 |
freemangordon | kerio: what stuff? | 18:30 |
freemangordon | from -devel? | 18:30 |
kerio | no, thumby stuff i think | 18:30 |
kerio | maybe old stuff tho | 18:30 |
freemangordon | maybe there were 2 updates for the last month | 18:30 |
freemangordon | *maybe, | 18:30 |
kerio | mh, it appears that i can't install the -pr | 18:32 |
kerio | why can't those dependencies be met? | 18:32 |
kerio | oh | 18:32 |
kerio | OH | 18:32 |
freemangordon | kerio: hmm? | 18:32 |
kerio | freemangordon: apparently you're hosting libmaemosec0 0.2.2 | 18:32 |
kerio | there's now a 0.2.3 | 18:32 |
kerio | but i've given priority to your repository | 18:33 |
kerio | cuz of -thumb | 18:33 |
freemangordon | kerio: make sure to refresh | 18:33 |
kerio | ...yes | 18:33 |
freemangordon | the latest is 0.2.3 | 18:33 |
kerio | i'm using HAM | 18:33 |
kerio | honest | 18:33 |
freemangordon | and -thumb depends on it | 18:33 |
freemangordon | also, make sure you have enabled cssu-testing catalog | 18:34 |
kerio | to be fair, pinning isn't really supported | 18:34 |
kerio | no, i've got all the repos | 18:34 |
kerio | but i've pinned community-thumb to 600 priority | 18:34 |
kerio | instead of 500 | 18:34 |
kerio | could you remove non-thumby packages? :3 | 18:35 |
freemangordon | kerio: hmm, I don;t thik there is libmaemosec0 in the thumb repo. could be wrong as well | 18:35 |
kerio | definetely wrong | 18:35 |
freemangordon | kerio: no, I can't | 18:36 |
kerio | ._. | 18:36 |
freemangordon | just apt-get install whatever is broken on your side | 18:36 |
kerio | you're also hosting osso-systemui-alarm 0.3.3+0cssu0 | 18:36 |
kerio | i have to install manual versions | 18:36 |
freemangordon | me? no, it is merlin1991 :P | 18:36 |
kerio | and i'm also not sure if it's complete | 18:36 |
kerio | removing the priority will also make me upgrade from the thumby packages to the stuff in -devel | 18:37 |
kerio | and i don't know if i want to | 18:37 |
freemangordon | don't keep -devel ebnabled | 18:37 |
kerio | #yolo | 18:37 |
kerio | ...the fuck, my n900 just... rebooted? | 18:38 |
kerio | i wasn't expecting that | 18:38 |
freemangordon | what? | 18:38 |
freemangordon | what did you do? | 18:38 |
kerio | mh, upgraded hildon-desktop | 18:38 |
kerio | i think it's cuz of that | 18:38 |
*** NIN101 has joined #maemo-ssu | 18:39 | |
freemangordon | hmm, shouldn't happen | 18:39 |
kerio | i don't have syslog enabled sadly | 18:39 |
freemangordon | pray for the device to boot fine | 18:39 |
kerio | mh | 18:39 |
kerio | /proc/bootreason says sw_rst | 18:39 |
kerio | not sure what happened, really | 18:39 |
freemangordon | weird | 18:40 |
kerio | it's seriously weird | 18:40 |
kerio | to be fair i was also using g_ether | 18:40 |
kerio | but still | 18:40 |
freemangordon | hmm, sometimes it happens when you have executable pages re-read from the storage, and in the meantime the storage contents have changed | 18:40 |
kerio | why would they change tho? | 18:41 |
freemangordon | kerio: because you've overwritten it with apt-get ;) | 18:41 |
kerio | what? | 18:42 |
freemangordon | new executable overwrote the old one | 18:42 |
kerio | shouldn't it count as an open file though? | 18:42 |
freemangordon | yes | 18:43 |
freemangordon | but I guess there might be some bug in the kernel | 18:43 |
freemangordon | the same happens if you copy some .so by hand | 18:43 |
freemangordon | you got a segfault | 18:44 |
freemangordon | in the process using that library | 18:44 |
kerio | that's awful! D: | 18:44 |
kerio | i am shocked and appalled! D: | 18:44 |
kerio | also i think my face got stuck D: | 18:45 |
freemangordon | yes, that is why you should upgrade by using HAM ;) | 18:45 |
freemangordon | kerio: slap it, that will fix the things :D | 18:45 |
kerio | there *is* quite a lot of stuff in -devel | 18:51 |
kerio | ooh i didn't know you thumbified dosfstools | 18:51 |
freemangordon | e2fsprogs should be too | 18:51 |
freemangordon | iirc | 18:51 |
freemangordon | or maybe only on my device | 18:52 |
freemangordon | yep, only on my device, will include them in the next update | 18:53 |
*** arcean has joined #maemo-ssu | 19:07 | |
DocScrutinizer05 | bug in kernel ??? :-O | 19:20 |
DocScrutinizer05 | WTF?! | 19:20 |
DocScrutinizer05 | that must be a pretty nasty bug | 19:21 |
DocScrutinizer05 | that would affect about EVERYTHING | 19:21 |
DocScrutinizer05 | fs MUST NOT unlink a file that has a handle open to it | 19:22 |
DocScrutinizer05 | ~2119 | 19:22 |
infobot | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. | 19:22 |
*** BCMM has joined #maemo-ssu | 19:49 | |
*** okias has quit IRC | 19:50 | |
*** okias has joined #maemo-ssu | 19:51 | |
*** miha_ has joined #maemo-ssu | 20:25 | |
*** miha_ is now known as M13 | 20:26 | |
*** M13 has quit IRC | 20:32 | |
*** Pali has joined #maemo-ssu | 20:43 | |
Pali | DocScrutinizer05: this is another problem: application X has mmaped file Y. And by default replacing file means: truncate(0); write(new_file_data); | 21:00 |
Pali | so if Y is library in that X, then application crash immeditately if exeucting that code | 21:01 |
Pali | correct way is to rm (unlink) file Y and then create new with that name of Y | 21:01 |
Pali | and dpkg doing this | 21:01 |
Pali | cp (from busybox) not | 21:01 |
Pali | not bug in kernel, but feature in userspace | 21:02 |
*** mkaindl has left #maemo-ssu | 21:02 | |
Pali | you cannot unlink from FS itself if is opened (you can just unlink it from directory structure), but you can erase it or rewrite it | 21:03 |
Pali | and truncate to zero size too... | 21:03 |
DocScrutinizer05 | Pali: by default "replacing" a file means to create a new file under same name and unlink the old file's inode entry | 21:06 |
Pali | not by scp/ssh or busybox cp | 21:06 |
Pali | (and maybe also not by gnu cp) | 21:06 |
DocScrutinizer05 | what you mean is overwriting an existing file content, not replacing the file | 21:07 |
Pali | yes, but this cp doing | 21:07 |
Pali | so this is reason for segfaults | 21:07 |
DocScrutinizer05 | no way | 21:07 |
DocScrutinizer05 | a cat $originafile >$newfile would do that | 21:09 |
Pali | scp doing it too! | 21:09 |
Pali | I tested it | 21:09 |
DocScrutinizer05 | a cp $originalfile $newfile should always unlink old file for all I know | 21:09 |
Pali | it is busybox!!! | 21:09 |
DocScrutinizer05 | meh, fuck busybox | 21:10 |
DocScrutinizer05 | busybox is evidently buggy like hell | 21:12 |
DocScrutinizer05 | if we would want to sanitize CSSU, we shoukd kick busybox for everything but initscripts | 21:12 |
DocScrutinizer05 | while for initscripts we should keep original messybox with all the original flaws and bugs, since something might (and evidently did) need them | 21:13 |
DocScrutinizer05 | strace cp x y | 21:19 |
DocScrutinizer05 | stat("y", 0x7fffca3aba00) = -1 ENOENT (No such file or directory) | 21:19 |
DocScrutinizer05 | stat("x", {st_mode=S_IFREG|0644, st_size=29, ...}) = 0 | 21:19 |
DocScrutinizer05 | stat("y", 0x7fffca3ab780) = -1 ENOENT (No such file or directory) | 21:19 |
DocScrutinizer05 | open("x", O_RDONLY) = 3 | 21:19 |
DocScrutinizer05 | fstat(3, {st_mode=S_IFREG|0644, st_size=29, ...}) = 0 | 21:19 |
DocScrutinizer05 | open("y", O_WRONLY|O_CREAT|O_EXCL, 0644) = 4 | 21:19 |
DocScrutinizer05 | fstat(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 | 21:19 |
DocScrutinizer05 | read(3, "Mo 25. Nov 20:17:28 CET 2013\n", 32768) = 29 | 21:19 |
DocScrutinizer05 | write(4, "Mo 25. Nov 20:17:28 CET 2013\n", 29) = 29 | 21:19 |
DocScrutinizer05 | . | 21:20 |
DocScrutinizer05 | strace cp x y | 21:20 |
DocScrutinizer05 | stat("y", {st_mode=S_IFREG|0644, st_size=29, ...}) = 0 | 21:20 |
DocScrutinizer05 | stat("x", {st_mode=S_IFREG|0644, st_size=29, ...}) = 0 | 21:20 |
DocScrutinizer05 | stat("y", {st_mode=S_IFREG|0644, st_size=29, ...}) = 0 | 21:20 |
DocScrutinizer05 | open("x", O_RDONLY) = 3 | 21:20 |
DocScrutinizer05 | fstat(3, {st_mode=S_IFREG|0644, st_size=29, ...}) = 0 | 21:20 |
DocScrutinizer05 | open("y", O_WRONLY|O_TRUNC) = 4 | 21:20 |
DocScrutinizer05 | fstat(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 | 21:20 |
DocScrutinizer05 | read(3, "Mo 25. Nov 20:17:28 CET 2013\n", 32768) = 29 | 21:20 |
DocScrutinizer05 | write(4, "Mo 25. Nov 20:17:28 CET 2013\n", 29) = 29 | 21:20 |
DocScrutinizer05 | jr@saturn:~> cp --version | 21:21 |
DocScrutinizer05 | cp (GNU coreutils) 8.16 | 21:21 |
DocScrutinizer05 | Copyright © 2012 Free Software Foundation, Inc. | 21:21 |
DocScrutinizer05 | so yes, you're right regarding O_TRUNC | 21:24 |
DocScrutinizer05 | I stand corrected | 21:24 |
*** BCMM has quit IRC | 21:31 | |
DocScrutinizer05 | while a mv x y does | 21:36 |
DocScrutinizer05 | access("y", W_OK) = 0 | 21:36 |
DocScrutinizer05 | rename("x", "y") = 0 | 21:36 |
DocScrutinizer05 | I'd expect proper install tools like apt or dpkg to do an unlink() befoer the open() | 21:39 |
DocScrutinizer05 | and scripts to do a rm $newfilename before any cp $original $newfilename | 21:41 |
freemangordon | DocScrutinizer05: keep in mind those files (libs and bins) are mmaped | 21:41 |
DocScrutinizer05 | err yes, exactly because of that | 21:42 |
freemangordon | you can't move anonymous pages | 21:42 |
freemangordon | well, the kernel can't | 21:42 |
DocScrutinizer05 | hmm? | 21:42 |
freemangordon | from the kernel POV, those are anonymous mapped pages, iirc | 21:43 |
freemangordon | and those are unmovable | 21:43 |
DocScrutinizer05 | well, then everything absolutely fine, no cp $original $new will have any effect on them | 21:43 |
DocScrutinizer05 | but you got it wrng | 21:44 |
DocScrutinizer05 | when a process has a .so opened and I want to update that .so, then I need to first rm old.so, so it actually becomes an anonymous file | 21:45 |
DocScrutinizer05 | only THEN I may cp $new old.so | 21:45 |
freemangordon | sure, but cp is not supposed to rm | 21:45 |
freemangordon | iiuc | 21:45 |
DocScrutinizer05 | since that way the process keeps a handle to an unaltered mmaped file with old .so content | 21:45 |
DocScrutinizer05 | see what I wrote above | 21:46 |
freemangordon | otherwise I agree that the correct way to replace an opened .so is to rm it first | 21:46 |
DocScrutinizer05 | since cp is not doing rm, I said [2013-11-25 20:41:08] <DocScrutinizer05> and scripts to do a rm $newfilename before any cp $original $newfilename | 21:47 |
DocScrutinizer05 | or, even better: you do a cp $new tmp; mv tmp $original | 21:48 |
DocScrutinizer05 | since mv does a rename() which implies a unlink() | 21:49 |
DocScrutinizer05 | (unless you mv across volume boundaries) | 21:49 |
DocScrutinizer05 | (in which case IIRC mv actually does a cp + rm SOURCE) | 21:50 |
DocScrutinizer05 | anyway would be interesting what apt and dpkg do | 21:51 |
Pali | dpkg calling unlink for sure | 22:06 |
Pali | otherwise we would see couple of crashed apps on all debian systems | 22:06 |
Pali | (when you are upgrading glibc) | 22:06 |
Pali | dpkg/apt also using libc.so | 22:07 |
Pali | every non static elf using libc.so | 22:07 |
*** M4rtinK has joined #maemo-ssu | 22:08 | |
DocScrutinizer05 | :nod: | 22:09 |
DocScrutinizer05 | Pali: thanks | 22:10 |
*** kolp has quit IRC | 22:20 | |
*** kolp_ has joined #maemo-ssu | 22:20 | |
*** lizardo has quit IRC | 22:57 | |
*** trx has quit IRC | 23:38 | |
*** LauRoman has joined #maemo-ssu | 23:39 | |
*** NIN101 has quit IRC | 23:43 | |
*** trx has joined #maemo-ssu | 23:43 | |
*** trx has joined #maemo-ssu | 23:43 | |
*** arcean has quit IRC | 23:48 | |
kerio | Pali: to be fair, programs that map a file should handle truncation of that file | 23:49 |
kerio | it's an unspoken agreement that files can change from behind your nose | 23:50 |
Pali | kerio: tell this to developers of dynamic linker (ld-linux.so) | 23:50 |
Pali | ld-linux.so does not doing any that stuff because of speed | 23:51 |
*** amizraa has quit IRC | 23:52 | |
*** amizraa has joined #maemo-ssu | 23:53 | |
Pali | having all those fds for inotify only for handling truncate is 1) vaste of file descriptors 2) vaste of kernel operations and handling events | 23:53 |
*** NishanthMenon has quit IRC | 23:54 | |
kerio | *waste | 23:54 |
*** nox- has joined #maemo-ssu | 23:55 | |
*** tom___ has joined #maemo-ssu | 23:57 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!