**** BEGIN LOGGING AT Fri Jun 10 02:59:57 2011 Jun 10 11:49:25 :( qemacs segafaults immediatly at lauch Jun 10 15:02:45 oliwer, I hope that's not a bug report -- if you need to report a bug, the mailing list is a more reliable way to do so! :) Jun 10 15:04:03 mwester, it was a lazy bug report :) I don't really care about qemacs anyway Jun 10 15:04:22 maybe i'll send a serious report later Jun 10 15:04:57 * mwester uses joe in emacs mode -- actually fits on an NSLU2. Jun 10 15:05:27 huh never tried that one Jun 10 15:05:28 Check dmesg to see if perhaps the OOM Killer got qemacs. Jun 10 15:07:31 mwester, i can't see. I launched a transmission download after qemacs and now my dmesg is full of "Alignment trap" Jun 10 15:09:06 Now *that* should be reported... slows things down. Jun 10 15:10:05 ha? i'm not sure to understand what it is. linux need to re-align memory because of transmission? Jun 10 15:12:20 The code is reading (for example) a 16-bit (two-byte) data item, but the data item starts at an odd address -- thus requiring two memory cycles to read the data. Jun 10 15:13:21 btw, i reinstalled qemacs and no, it's not the oom killer Jun 10 15:13:22 On ARM processors, this is not handled in hardware -- instead it generates a trap, which is intercepted by the kernel, which "fakes" the read in software, then returns to where it left off. VERY expensive. Jun 10 15:14:54 mwester, you mean like if real memory and virtual memory are not synchronized anymore? Jun 10 15:16:53 No, this is all real memory (actually real and cache) Jun 10 15:17:30 weird Jun 10 15:17:59 mwester, so it's a kernel problem. I don't see how a user app can do this Jun 10 15:18:04 ? Jun 10 15:18:12 Actually, this is an issue on Intel processors as well - it is handled in hardware, so you never notice it, but if code is written so that the data items are properly aligned, your code will run faster -- every so slightly, but enough that modern compilers will usually warn if they can detect the situation. Jun 10 15:18:30 The issue is that the user app can be coded so that it properly pads data structures. Jun 10 15:19:16 For example, if I create a structure containing a character data item, followed by a 32-bit integer -- I have guaranteed an alignment problem. Do it the other way around, and the alignment problem is gone. Simple fix. Jun 10 15:21:15 isee... but the compiler should take care of this, no? Jun 10 15:22:59 Yes. And it does, where it is permtted, and where it can detect this. With C and pointers, it is possible at run-time to bypass anything the compiler can see at compile-time. And that's what's happening in transmission, almost certainly. Jun 10 15:24:18 mwester, interesting. So how would you do to find where is the problem? Jun 10 15:24:44 Run transmission under the gdb debugger is the easiest way. It'll tell you exactly where the problem is. Jun 10 15:25:39 http://www.nslu2-linux.org/wiki/Info/Alignment <--- info on how to alter the reporting/handling of this Jun 10 15:26:24 mwester, thanks! i'll do that, but later, 'cause now i'm downloading duke nukem forever :D Jun 10 15:26:40 if you do: echo "2" >/proc/cpu/alignment Jun 10 15:26:55 that will cause it to continue to fix the problem, but be quiet about it. Jun 10 15:27:30 ha thx **** ENDING LOGGING AT Sat Jun 11 02:59:57 2011