jonwil | Its gotten as far as linking libxul which is a major achievement. But its asserting somewhere in LD so now I have to find the LD source code and find out why its asserting there. | 02:05 |
---|---|---|
jonwil | Lets see if giving my dev VM 3.5GB of RAM (the most vmware will take) and a full 6GB of swap will help. | 02:20 |
Juesto | definitely will | 02:22 |
jonwil | I will say this though, if you ever want a good way to stress test your hardware, a full compile of Firefox is a good way to do it :) | 02:26 |
Juesto | lol | 02:31 |
jonwil | Its not using a single byte of swap but its definitely using the full 3.5GB of RAM | 02:34 |
Juesto | eeh | 02:43 |
Juesto | jonwil: did you swapon? | 02:43 |
jonwil | yes I did | 02:43 |
jonwil | free shows swap | 02:43 |
Juesto | oh ok | 02:43 |
jonwil | It didn't build and spat out lots of asserts but it also spat out some linker errors related to NeckoChild.o and NeckoParent.o. | 02:44 |
jonwil | asserts in gnu LD I cant really do anything with, linker errors I can look into :) | 02:44 |
Juesto | Oh huh | 02:47 |
Juesto | well maybe it's just too complex to link | 02:48 |
jonwil | The errors suggest there might be a code issue | 02:48 |
Juesto | definitely | 02:50 |
jonwil | I think I fixed it now, the missing functions were in mozilla::net::WebSocketChannelChild, mozilla::net::WyciwygChannelChild, mozilla::net::WyciwygChannelParent and mozilla::net::WebSocketChannelParent. After some analysis I managed to figure out that the neko protocol list wasn't enabling websocket or wyciwyg. That's fixed now so hopefully it will link and produce a usable libxul :) | 04:39 |
brolin_empey | Apparently the Motorola Droid RAZR I is an x86 smartphone with an (AMO)LED display. It is the only x86 smartphone with an LED display I have found so far. | 04:47 |
brolin_empey | sixwheeledbeast: sicelo: I used a warez copy of Sygic Mobile Maps for Maemo 5, do not remember which version of Sygic but I think I still have it in my Downloads directory. I can find some way of getting it to you if you want it. It was frustrating because it would not let me switch away from it while it was running even though Maemo has true multitasking. I actually had to exit it if I needed to use a different program while it was running. It was from | 04:57 |
brolin_empey | some time between 2010 and 2014 because that was while I used an N900. Sygic removed references to Maemo from their Web site when Sygic discontinued the Maemo version of their product, which is a general practice I dislike. Companies such as Adobe still provide Acrobat Reader 1 for DOS from 1994 instead of trying to brick or hide their legacy products. | 04:57 |
brolin_empey | Yes, I still have it. It is “Sygic Mobile Maps 10.16 Maemo With world Collection Of Maps-galedo” that I downloaded in 2011. | 05:09 |
KotCzarny | jonwil: if you want to stress the hw, you can also try building android | 07:15 |
KotCzarny | at one point single gcc process is using 5.6G of ram | 07:15 |
KotCzarny | ;) | 07:15 |
KotCzarny | that's not accounting for other processes and cache | 07:15 |
KotCzarny | darn, he is not there | 07:15 |
KotCzarny | it might've been ld though | 07:19 |
sixwheeledbeast | brolin_empey: that sounds about right chronologically. also you could switch away with the keyboard shortcuts. | 08:41 |
brolin_empey | sixwheeledbeast: ACK. | 08:46 |
sixwheeledbeast | took them a while to admit they where dropping support for maemo and they would never update the maps | 08:48 |
Maxdamantus | For future reference: new polarcell battery is charged to 3.86 V out of the packaging. | 09:30 |
* Maxdamantus wonders if that's a typical voltage used for all new Li-ion batteries. | 09:31 | |
bencoh | Maxdamantus: 3.7V is just a "nominal" average voltage | 09:36 |
bencoh | I doubt anyone really strive to charge batteries to 3.7V specifically before shipping | 09:37 |
bencoh | +s | 09:37 |
Maxdamantus | I know, just wondering if there's some typical/standard practice for voltage of shipped batteries. | 09:37 |
bencoh | (same for 3.86V here) | 09:37 |
bencoh | ah ... dunno, I'd say "relaxed" | 09:37 |
bencoh | (neither empty nor full) | 09:37 |
bencoh | (not fully relaxed actually) | 09:38 |
Maxdamantus | The new ones seem to have an increased charge rating too (1600 mAh rather than 1500 mAh from last time) | 09:39 |
bencoh | hmm | 09:39 |
Maxdamantus | though according to my N900, the last one was closer to 1600 mAh than 1500 mAh anyway. | 09:39 |
bencoh | mine didn't stay at 1480 max for long anyway | 09:39 |
bencoh | really? | 09:39 |
Maxdamantus | Yeah, it consistently reported an LMD of around 1580 or so. | 09:40 |
bencoh | fuel gauge shows last measured discharge: 1363 | 09:40 |
bencoh | for a 4~5yo battery | 09:40 |
Maxdamantus | though I imagine the exact amount there has more to do with the particular charge/discharge cycle than the composition of the chemicals as at the factory. | 09:40 |
Maxdamantus | Should probably have looked into also getting a battery for the N97 I have while I was at it. Meh. | 09:43 |
* Maxdamantus will just break the tab off. | 09:49 | |
Maxdamantus | N97 probably also has the charge protection in the phone, right? | 09:51 |
KotCzarny | l/j #linux-sunxi | 09:55 |
KotCzarny | 3.4.113 is armbian kernel | 09:55 |
KotCzarny | eh | 09:55 |
Wizzup | :p | 09:55 |
sixwheeledbeast | i would also expect "relaxed" like 60% ish? | 10:09 |
sixwheeledbeast | Is it the Li-ion or the Li-Po version? | 10:09 |
Maxdamantus | Li-ion | 10:10 |
bencoh | polarcell sells LiPo BL-5J? | 10:11 |
sixwheeledbeast | IIRC could be wrong tho. | 10:12 |
Maxdamantus | My old one is Li-ion too. | 10:12 |
sixwheeledbeast | Yep Li-Po 1400mAh BL-5J | 10:20 |
sixwheeledbeast | Red Label is Li-Po Blue is Li-ion | 10:20 |
sixwheeledbeast | reduced at the moment to 9,90E | 10:21 |
KotCzarny | jonwil: if you want to stress the hw, you can also try building android. at one point ld process eats ~5.6G of ram, and that's not accounting rest of the gcc and os | 10:33 |
jonwil | Ouch. | 10:33 |
jonwil | It wouldn't surprise me if building chromium is also a great stress-tester given all the crap Google has in there these days | 10:37 |
jonwil | Although I have never had any desire to build or even use Chromium so I can't comment | 10:37 |
KotCzarny | yup, that was about chromium part | 10:38 |
KotCzarny | but might be some system framework collection | 10:38 |
Maxdamantus | I think ld when building Chromium on my i5-4570 already takes a few minutes. | 10:38 |
KotCzarny | maxd: having 16GB of ram helps | 10:40 |
Maxdamantus | Yeah, I've got 32 GiB. | 10:40 |
KotCzarny | with 8GB it thrashes caches so has to reload things many times | 10:40 |
KotCzarny | have fun on 4GB | 10:40 |
jonwil | I would love to be able to upgrade to 16GB on my system (currently got 8GB) | 10:40 |
KotCzarny | one time i've tried it, it took ~50 minutes | 10:40 |
KotCzarny | because of all the swapping | 10:40 |
Maxdamantus | I don't think it would've been causing my system to put things in swap. | 10:41 |
Maxdamantus | though I suspect the filesystem accesses would've been a slow point. | 10:41 |
jonwil | Having an SSD is a great way to boost the speed of file I/O on big compiles | 10:41 |
* Maxdamantus only started using an SSD on his main computer a couple of months ago. | 10:41 | |
* Maxdamantus hasn't used Chromium since longer ago than that. | 10:41 | |
jonwil | Although I dont have room on my SSD for my vmware image file so it has to sit on my hard disk instead. | 10:42 |
jonwil | Sadly RAM prices are far too high right now for a 16GB upgrade to happen (mostly thanks to illegal cartel conduct by the RAM producers and governments unwilling or unable to actually force the RAM producers to stop ripping everyone off) | 10:42 |
Maxdamantus | Size Used Avail Use% Mounted on; 19T 11T 7.3T 60% /btrfs-hd; 900G 292G 606G 33% /btrfs | 10:43 |
* Maxdamantus probably has enough space to try things. | 10:43 | |
KotCzarny | jonwil: with 32GB you can just put whole compile tree in tmpfs | 10:43 |
KotCzarny | and just snapshot back to hdd when done | 10:43 |
jonwil | I feel sorry for anyone trying to build a new PC right now with the high prices of various components. | 10:44 |
KotCzarny | buy a board that accepts 8 or more ram modules? | 10:44 |
KotCzarny | :) | 10:45 |
KotCzarny | older sticks are cheap | 10:45 |
jonwil | There aren't that many motherboards out there that can take a Skylake Core i5 chip AND use old cheap RAM. My current board (only a fairly recent upgrade) uses DDR4. | 10:46 |
jonwil | Anyhow, time to run this build and see if libxul can link or not (now that I have hopefully fixed the problem causing the it to spit out errors about missing websocket and wyciwyg functions it should now link I hope) | 10:48 |
jonwil | I just hope the assertions I am seeing from LD dont mean the build is failing (although if they were the kind of thing that would result in a failed build or broken output, it wouldn't make sense for the build to continue after encountering such an assertion I would have thought) | 10:50 |
KotCzarny | jonwil, from my past experiences with ff build, it's very picky about what you enable or not | 10:52 |
KotCzarny | so just might need magic build config to succeed | 10:52 |
jonwil | Yeah I discovered that turning off websockets and wyciwyg in the necko protocols list causes the link of libxul to fail. | 10:52 |
jonwil | So I fixed that and hopefully this time it will link. | 10:53 |
KotCzarny | websockets is important in current internet2.0 | 10:57 |
KotCzarny | half of those interactive sites require it to work | 10:58 |
jonwil | In other news I may need to port TLS 1.2 support to the Fremantle version of QT (which means I need a newer OpenSSL as well) since the backend I am using for the local transit agency in Fahrplan seems to have upgraded to be TLS 1.2 only. | 11:00 |
jonwil | I will know for sure once my phone finishes charging and I can get Fahrplan into the debugger | 11:00 |
jonwil | One useful thing I found is a portable Windows build of Firefox 24ESR which I can test sites with | 11:02 |
jonwil | Meaning I can figure out if a site will or wont work in the FF24-based microb-engine hopefully (it wont be a perfect test but its still fairly close) | 11:03 |
jonwil | And most of the sites I can't get working on current microb do seem to work. | 11:03 |
Maxdamantus | Does that Firefox build actually use some bundled OpenSSL rather than something provided by Windows? | 11:05 |
jonwil | What do you mean? | 11:05 |
Wizzup | firefox does not use openssl | 11:06 |
Wizzup | it uses nss | 11:06 |
jonwil | Yeah it does | 11:06 |
jonwil | QT uses OpenSSL though | 11:06 |
Maxdamantus | I'm not really familiar with NSS, but my understanding was that it's meant to be some portability layer. | 11:07 |
Maxdamantus | not a complete implementation of SSL/TLS | 11:08 |
Maxdamantus | looking an /proc/*/maps on my main system, I can see that Firefox has references to libcrypt. | 11:08 |
Maxdamantus | libcrypto* | 11:08 |
Maxdamantus | Hm, guess I'm mistaken. | 11:13 |
Wizzup | libcrypto is part of openssl | 11:14 |
Maxdamantus | Yes, but Firefox is using it for something. | 11:14 |
Wizzup | could be nss using it? anyway, I don't know 100% either ;) | 11:14 |
Maxdamantus | but looking through the source of NSS, it seems to at least implement a bunch of some sort of logic in SSL that would probably also be implemented in OpenSSL. | 11:15 |
Maxdamantus | maybe it just uses libcrypto for implementations of the underlying cryptographic algorithms. | 11:15 |
jonwil | Nope, NSS is a full implementation of all the crypto | 11:17 |
jonwil | and has no dependencies on OpenSSL in any way | 11:17 |
jonwil | nss does contain a libssl3.so file (at least the one in microb-engine does) but that's unrelated to the libssl.so file of OpenSSL | 11:19 |
Maxdamantus | My instance has libcrypto itself (from openssl) mapped, though I imagine it could just be from another library it depends on. | 11:22 |
Maxdamantus | Yeah, comes from libevent. | 11:24 |
Maxdamantus | $ cat /proc/3594/maps | sed 's/^.* //' | sort | uniq | while read -r x; do [ -f "$x" ] && echo "$x"; done | fgrep .so | while read x; do out="$(ldd "$x")"; grep -q libcrypto <<< "$out" && echo "$(wc -l <<< "$out") $x"; done | 11:24 |
* Maxdamantus though `ldd` had some tree view, but can't seem to find it. | 11:24 | |
jonwil | Looks like I need TLS 1.2 support in Maemo QT (and a newer OpenSSL) if I want to keep my transit app working since they changed the backend and it now mandates TLS 1.2. | 12:09 |
jonwil | In the mean time my build of Gecko is still going without any problems. | 12:16 |
jonwil | Now linking libxul, fingers crossed that it works with no errors... | 12:31 |
jonwil | IT WORKED | 12:32 |
jonwil | I now have a libxul.so file :) | 12:32 |
jonwil | Now I just need to figure out what needs changing in the packaging and this thing will hopefully give me a set of deb files. | 12:57 |
KotCzarny | try running it first on device | 13:05 |
jonwil | I can't try it because I probably need to install the new -dev packages then rebuild some other packages and see if the API has changed (which it probably has) | 13:10 |
KotCzarny | for now just copy libs to the same dir as binary and use export LD_LIBRARY_PATH=. trick | 13:11 |
KotCzarny | that way you will know if it runs and how fast ;) | 13:11 |
jonwil | Lets start with the xulrunner binary it gave me | 13:14 |
jonwil | see if that even runs | 13:15 |
jonwil | which will tell me if I have a working binary or not | 13:15 |
KotCzarny | as for packaging, you can probably steal fennec's one | 13:17 |
jonwil | With libxul.so at almost 1gb in size, I am not liking the chances of this thing actually working | 13:19 |
jonwil | That's probably unstripped though | 13:20 |
jonwil | which makes sense | 13:20 |
jonwil | Lets strip them before I copy them to the device | 13:23 |
KotCzarny | strip -g | 13:25 |
KotCzarny | on the libs | 13:25 |
KotCzarny | and normal strip on binary | 13:25 |
jonwil | yeah I know. | 13:25 |
KotCzarny | :) | 13:25 |
KotCzarny | and next time change -O2 -g into -O2 -s when building | 13:26 |
KotCzarny | also, did you enable thumb? | 13:26 |
jonwil | nope, I am not using thumb at all | 13:26 |
jonwil | since I dont have the thumb kernel and I dont want it | 13:26 |
KotCzarny | with firefox and contrained by limited memory, you should, once you have working one | 13:27 |
jonwil | libxul.so goes down to 53mb after the strip | 13:29 |
jonwil | much better | 13:29 |
jonwil | Now I need to install the newer libstdc++ | 13:33 |
KotCzarny | just bundle it for the test run | 13:41 |
jonwil | I got the xulrunner binary that was built as part of the FF build to work | 13:57 |
jonwil | And I can actually see websites with it(!) | 13:58 |
jonwil | So I would say that we have a working browser | 13:58 |
jonwil | It does not work if I try to run anything on the system that uses libxul though (in fact doing so crashed the phone and now I have to use rescueos to move the files I backed up back in place and get my phone to boot again) | 14:04 |
Wizzup | yes, now comes the fun part | 14:05 |
KotCzarny | told you to use local libs dir instead of destroying the system | 14:05 |
jonwil | Its not possible to use local libs for gecko because of how gecko finds its libs | 14:06 |
jonwil | its an easy fix though thanks to rescueos | 14:08 |
Maxdamantus | Surely LD_PRELOAD should at least work, right? | 14:09 |
jonwil | Its not that simple | 14:13 |
jonwil | In any case I know libgtkmozembed and the other bits just aren't going to work yet | 14:14 |
jonwil | So the plan is to fix the packaging and go from there | 14:14 |
jonwil | The most important thing is that I have a working web browser on the N900 that uses the Firefox 24.8.1 engine. | 14:15 |
jonwil | Lets see what happens when I try to load a TLS 1.2 web site on the device. | 14:17 |
KotCzarny | did you measure memory usage compared to other browser? | 14:17 |
Wizzup | jonwil: but this is not microb, right, so it's just fennec with different ui? | 14:20 |
jonwil | This is xulrunner (as built with the Firefox tree) with the sample browser from https://github.com/matthewkastor/XULRunner-Examples | 14:21 |
jonwil | The aim once I get things to actually work is to replace microb-engine | 14:21 |
jonwil | Right now I just want to see how well the Gecko I built actually works | 14:22 |
Maxdamantus | Personally, I would use conkeror over microb, but opera still seems a lot more responsive than those. | 14:24 |
Maxdamantus | but recently I've found I can't access github through that anymore. | 14:24 |
* Maxdamantus has just looked through things on github using edbrowse a couple of times. | 14:25 | |
Maxdamantus | btw, conkeror is also very easy to test; just clone/check out the repository, then `xulrunner application.ini` | 14:27 |
Maxdamantus | 1264c0dbbefb6d671504a072d4ddb48d62ccead2 | 14:28 |
jonwil | Sites that don't work at all (due to TLS 1.1/1.2 only) on microb do work in this browser | 14:28 |
Maxdamantus | ^ that commit pretty much works with microb-xulrunner | 14:28 |
jonwil | oh crap, my dev VM is running low on disk space. Not good, especially since the drive its on is also running low on disk space | 14:36 |
KotCzarny | jonwil: told you, change build flags | 14:38 |
KotCzarny | from -O2 -g to -O2 -s | 14:38 |
KotCzarny | will save you few gigs | 14:38 |
jonwil | I have a total of ~1tb of disk across 3 drives yet I only have a total of ~66gb free across those 3 drives. | 14:42 |
jonwil | I think I need to give my disks a good cleanout | 14:42 |
bencoh | jonwil: i kinda forgot, but why 24.x? | 14:42 |
jonwil | 24 is the first version with TLS `1.2 (a necessary feature) and it pre-dates the complete removal of Maemo support | 14:43 |
jonwil | and its an ESR release (the last one before the Maemo support disappeared) | 14:43 |
jonwil | That's why its the best candidate | 14:43 |
bencoh | maemo support from mozilla you mean? | 14:43 |
bencoh | or from nokia? | 14:43 |
jonwil | Yes | 14:44 |
bencoh | yes to? | 14:44 |
jonwil | The maemo bits in the Gecko tree | 14:44 |
bencoh | ah | 14:44 |
bencoh | I see | 14:44 |
jonwil | There is a removal bug matching FF26 | 14:44 |
* Maxdamantus has a total of 21 TB of disk across 4 drives with ~8 TB free | 14:44 | |
bencoh | Well, I guess ff24 would be goodenough(tm) anyway | 14:44 |
jonwil | I wish I could afford computer bits but I can't :( | 14:45 |
jonwil | I would love to replace the 256GB SSD I use as my main drive with something bigger (or add a second SSD) but I cant afford it. | 14:45 |
jonwil | Nor can I afford the RAM or GPU upgrades I want either | 14:45 |
jonwil | It doesn't help that so much output for RAM and Flash chips and things is going into mobile devices so that all the sheeple can have the latest crApple iFail which is one thing pushing up the price of the bits I want | 14:47 |
jonwil | conkeror runs btw | 14:50 |
jonwil | Seems to be working too | 14:50 |
Maxdamantus | and in case you want touch panning for it, here's my ~/.conkerorrc I hacked together a few years ago: https://gist.github.com/Maxdamantus/0aefa2c713afda4af04abdbb3a97ca89 | 14:53 |
jonwil | Slow as molasses though with top telling me its using 86.9% CPU | 14:53 |
jonwil | And it looks to be built with -O2 so its definitely not an unoptimised build | 14:57 |
jonwil | Anyhow, at least I know FF24 DOES run on the N900 | 14:59 |
Wizzup | firefox 52 also does :) | 15:00 |
jonwil | But I suspect FF52 would be even bigger and slower than FF24 and wouldn't have any of the Maemo support bits needed to e.g. be able to click on a phone number and have it open the phone dialer | 15:04 |
Maxdamantus | I'm sure that can be reimplemented easily enough. | 15:16 |
Maxdamantus | the rtcom-messaging-ui stuff involves some HTML/JS which can be directly modified. | 15:17 |
bencoh | mmmh | 15:18 |
bencoh | Maxdamantus: you probably don't want to play around the browser EAL too much | 15:19 |
Maxdamantus | I modified them a while ago because I hated the default layout of messages. | 15:19 |
bencoh | yeah but that's the easy part | 15:19 |
Maxdamantus | Well, it should pretty much be the same part. | 15:20 |
Maxdamantus | because iirc the modifications I made involved handling the text messages in JS. | 15:20 |
Maxdamantus | so if I wanted to I could manipulate those messages in arbitrary ways to figure out what to insert into the DOM. | 15:21 |
jonwil | My ultimate goal is still ideally to replace microb-engine | 15:21 |
Maxdamantus | http://maxdamantus.eu.org/rmu.png | 15:23 |
Maxdamantus | iirc the default view had bad handling of timestamps, and put things in big bubbles where you had to use the padding on the left to identify incoming/outgoing. | 15:24 |
bencoh | Maxdamantus: wow, it basically looks just like what I wanted to do back then | 15:25 |
bencoh | (but eventually settled for something hackish and ugly) | 15:25 |
Maxdamantus | anyway, sleep | 15:25 |
bencoh | 'night | 15:26 |
bencoh | I guess I'll have to bother you about timestamps handling :) | 15:26 |
* Maxdamantus needs to figure out sometime how to make the top menu not so pointlessly huge. | 15:26 | |
Maxdamantus | hildon status bar thing | 15:26 |
jonwil | It wouldn't surprise me if there are options I can turn off or on that would have benefits on memory usage and performance | 15:26 |
bencoh | you might be able to "configure" jemalloc | 15:38 |
bencoh | (assuming it's still the mem allocator used by mozilla) | 15:39 |
jonwil | Somehow I dont think running FF24 and its rendering engine on a device with only 256mb of RAM is something that the Mozilla guys would call "sane" | 15:46 |
bencoh | huhu | 15:48 |
bencoh | :) | 15:48 |
jonwil | I managed to get microb-refui TestGtkEmbed from the current CSSU microb-engine to actually run and load my rebuilt libxul.so without replacing any system files. It fails with a "Couldn't start XPCOM" error but its a start. | 17:22 |
KotCzarny | i suspect microb has patched xul versin | 17:22 |
KotCzarny | check microb package for patches? | 17:23 |
jonwil | I already know microb has a lot of local patches | 17:23 |
KotCzarny | but xul related | 17:23 |
jonwil | I bet its simply the case that the xpcom bits linked into TestGtkEmbed dont match the xpcom bits linked into libxul.so because much has changed between 1.9.2 and 24.8.1 | 17:24 |
KotCzarny | rebuild microb with proper headers? | 17:24 |
jonwil | I think we need to bring back the gtkmozembed stuff removed in mozilla bug 648156 | 17:26 |
jonwil | That's gotta be one of the next steps I suspect | 17:26 |
jonwil | With that we can probably get a TestGtkEmbed built with FF24 code | 17:26 |
jonwil | The key thing so far is that libxul works and can browse the web when used with xulrunner and conkeror | 17:27 |
bencoh | on-device as well? | 17:29 |
bencoh | (or sdk only?) | 17:29 |
jonwil | Yep | 17:29 |
jonwil | on-device | 17:29 |
bencoh | neat | 17:29 |
jonwil | conkeror works on device | 17:29 |
bencoh | I wonder how much ram it eats | 17:30 |
bencoh | hmm, I wonder if we could benefit from a better JS JIT | 17:30 |
KotCzarny | as long it doesnt trade mem usage for performance | 17:31 |
KotCzarny | which might be the case | 17:31 |
jonwil | According to https://blog.mozilla.org/javascript/2012/09/12/ionmonkey-in-firefox-18/ we do get a much better JIT than the one in microb-engine | 17:50 |
jonwil | Anyhow, its definitely "AM" here (to quote Apollo 13 "AM, very, very AM") which means its time to stop for now and resume later :) | 17:51 |
jonwil | cya :) | 17:51 |
Generated by irclog2html.py 2.17.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!