ecrn | https://github.com/Halium/hybris-patches/tree/halium-12.0 | 00:01 |
---|---|---|
ecrn | is this applied on top of the sources that then build into the system image? | 00:01 |
ecrn | or is it just in the "host" copies somehow? | 00:04 |
mal | probably used for building the image | 00:19 |
mal | but can't be sure since I haven't used halium base | 00:19 |
ecrn | https://pastebin.k4be.pl/view/raw/f3325ccb | 01:18 |
ecrn | it must be either one of the libraries that malfunctions or the linking process | 01:19 |
ecrn | I checked the patches and can't see anything suspicious (and the TLS stuff I don't quite understand so I don't know) | 01:20 |
ecrn | https://pastebin.k4be.pl/view/raw/fbfc4d6b the tombstone | 01:23 |
ecrn | 0000007d'1422b000-0000007d'1422bfff rw- 15000 1000 /vendor/lib64/libExynosHWCService.so (BuildId: af611bd4b9efcae64e3fe642d5b739fe) | 01:37 |
ecrn | 0000007d'1422c000-0000007d'1422cfff rw- 0 1000 [anon:.bss] | 01:37 |
ecrn | the only rw segment next to rw of libExynosHWCService | 01:38 |
ecrn | if (sm->checkService(String16("Exynos.HWCService")) != NULL) { | 03:58 |
ecrn | this is where the overwrite happens | 03:58 |
ecrn | libbinder.so and libbinder_ndk.so are not the problem | 06:07 |
rinigus | @b100dian: thanks! I will check if aosp also is missing that property (I am sure they do) and file an issue. At least we will know why they disabled BOARD_VNDK_VERSION definition in the builds | 07:02 |
rinigus | re odm.mount: we should track down all these _a and without variants in mounts and then change fixup mounts accordingly. | 07:04 |
rinigus | I'll look inti it | 07:04 |
rinigus | into it | 07:04 |
rinigus | @b100dian: opened https://github.com/sonyxperiadev/bug_tracker/issues/856 . let's see what they say regarding it | 08:18 |
rinigus | btw, stock has ro.vndk.version defined (had getprop from stock around) | 08:18 |
rinigus | will look into mounts now | 08:19 |
rinigus | @b100dian: should we merge nolvm branches into main and later deal with adding lvm parts when we get there? would be nicer to have the working branch as the default one :) | 08:24 |
T42 | <b100dian> rinigus: merge? Pushing should do it, no divergences yet I hope | 09:17 |
rinigus | @b100dian: yes, pushing will be probably fine. if some divergences are there we can fix them | 09:18 |
rinigus | hunted down odm issue. in fixup we had oem, but in out/target/product/pdx223/vendor/etc/fstab.pdx223 we have oem_a. so, mount was created for sda76_a | 09:19 |
rinigus | also, after merge/push we can drop nolvm branches. would be cleaner repo :) | 09:20 |
rinigus | except oem, haven't seen anything strange in mounts. | 09:23 |
rinigus | will make new hal builds and push them to obs | 09:24 |
rinigus | @b100dian: added reference mounts and /dev from aosp to https://github.com/sailfishos-sony-nagara/main/wiki/Reference-AOSP-mounts-and-devices | 09:33 |
rinigus | will merge/push nolvm to main and drop nolvm | 09:34 |
T42 | <b100dian> Yes, oem might be a red herring, I was just wondering why us there and odm_root and where from as previously that was the real odm mount and used to redirect odm/etc to it while also making odm a place you can customize with say links or mounts to libs missing libs | 09:38 |
rinigus | @b100dian: branches merged to main (config and hal). obs should have all up to date packages too. | 09:41 |
rinigus | will build a new image with mic and then can test as well | 09:41 |
rinigus | @b100dian: as for why we have odm_root - no clue. maybe it was earlier mounted wrongly? | 09:43 |
T42 | <b100dian> hmm cannot locate symbol "_ZN7android12MetaDataBase13writeToParcelERNS_6ParcelE" referenced by "/system/lib64/libmedia.so" | 11:07 |
T42 | <b100dian> lipstick strace https://paste.mozilla.org/J0Rk5MTj/raw | 11:08 |
ecrn | mal: fixed it at last | 11:10 |
ecrn | it was caused by binder transaction failing due to kernel security not allowing | 11:11 |
ecrn | which somehow caused either libbinder or something between libbinder and the ExynosHWCService to overwrite nearby heap memory and crash some time later | 11:12 |
ecrn | https://github.com/Halium/hybris-patches/blob/halium-12.0/frameworks/native/0006-halium-never-set-FLAT_BINDER_FLAG_TXN_SECURITY_CTX-f.patch#L15 | 11:14 |
ecrn | that patch was supposed to get rid of the problem in halium, but for some reason it didn't work as expected (maybe patching failed in the CI build?) | 11:15 |
ecrn | I reset the flag in the kernel | 11:16 |
T42 | <b100dian> rinigus: VNDK related again? https://android.googlesource.com/platform/frameworks/av/+/refs/tags/android-14.0.0_r67/media/module/foundation/MetaDataBase.cpp#465 | 11:23 |
ecrn | I have a gui shell now :) | 11:48 |
ecrn | lots of weird tearing, though | 11:48 |
rinigus | @b100dian and mal : see https://github.com/sonyxperiadev/bug_tracker/issues/856#issuecomment-2480524233 regarding vdnk version property | 11:52 |
rinigus | @b100dian: interesting. maybe we will hit the wall before lipstick then. I wonder how could I test that lib on aosp | 11:54 |
rinigus | @b100dian: I am getting in logcat CANNOT LINK EXECUTABLE "/usr/libexec/droid-hybris/system/bin/minisfservice": library "libandroidicu.so" not found: needed by /system/lib64/libmedia.so in namespace (default) | 12:31 |
rinigus | some hits in the channel log | 12:37 |
mal | rinigus: you need the usual symlinks | 12:57 |
rinigus | mal: I thought that those were already there in our config. checking | 12:58 |
mal | https://github.com/mer-hybris/droid-config-sony-murray/tree/master/sparse/system in official builds | 12:58 |
mal | but your build might need them in /odm since /system is probably read-only if you didn't package system etc | 12:59 |
mal | ecrn: good that it works now | 13:00 |
rinigus | mal: indeed. /system is mounted via /dev/mapper/dynpart-system_a . so, all there is gone. | 13:03 |
T42 | <b100dian> mal: /odm is also read only. But bind-mounting should still work | 13:03 |
rinigus | but same would be with /odm. its mounted from device too | 13:03 |
mal | wasn't there that /odm_root thingy? | 13:04 |
mal | I remember seeing that in some instructions | 13:04 |
rinigus | mal: there is odm_root thingy too. should we disable odm mounting then? | 13:04 |
T42 | <b100dian> We have odm_root too, but I am AFK, don't know if it is rootfs or another mount | 13:04 |
mal | rinigus: what is mounted to /odm? | 13:05 |
rinigus | its oem_a | 13:05 |
mal | I thought the point is that you mount odm_a to /odm_root and then symlink needed things from there to /odm or did misunderstand something | 13:05 |
mal | can you show your mount services | 13:05 |
rinigus | mal: I missed such instructions | 13:06 |
rinigus | mal: here is the list - config.mount data_mirror-misc_de-null.mount dev-binderfs.mount metadata.mount odm.mount vendor-dsp.mount | 13:07 |
rinigus | data_mirror-misc_ce-null.mount data_mirror-ref_profiles.mount linkerconfig.mount mnt-vendor-persist.mount vendor-bt_firmware.mount vendor-firmware_mnt.mount | 13:07 |
rinigus | those are generated by hal | 13:09 |
rinigus | I mean build_packages.sh --droid-hal | 13:10 |
rinigus | and odm_root thingy comes from sparse mount | 13:12 |
T42 | <elros34> do you have aything important in odm partition? | 13:12 |
T42 | <b100dian> Yes, sony blobs:D | 13:13 |
T42 | <b100dian> But odm_root from sparse is useful in any way? | 13:13 |
T42 | <elros34> then mount it to odm_root, bind mount directory with these blobs to /odm/ directory and create needed symlinks | 13:14 |
rinigus | then we are supposed to block creation of odm mount . it was somewhere in spec, will find it out | 13:15 |
rinigus | rpm/droid-hal-common.inc . but why its not blocked on official port? | 13:16 |
T42 | <elros34> maybe beacue they don't need any symlinks in /odm | 13:16 |
T42 | <elros34> it's dirty hack after all | 13:17 |
rinigus | but then how do they get to the blobs? | 13:17 |
rinigus | actually, they have odm mounted properly. | 13:18 |
T42 | <elros34> and symlinks in system/ | 13:18 |
rinigus | hmm, any other way to add those links than using /odm and /system? would /usr/libexec/droid... do? | 13:19 |
T42 | <elros34> strace particular service and see where it search for libs. IIRC odm was the only way unless you want bind mount to system | 13:20 |
T42 | <elros34> or maybe overlay it instead bind mount | 13:21 |
T42 | <elros34> other way would be probably changes in linker | 13:22 |
rinigus | thanks for the tips. overlay or bind mounts sound easier | 13:22 |
T42 | <elros34> odm_root sunds much easier then overlayfs form, I don't understand why you want to avoid it | 13:23 |
mal | https://github.com/mlehtima/droid-config-fp4/tree/devel/sparse/odm | 13:26 |
mal | fp4 of course had much less stuff in odm than sonys | 13:26 |
rinigus | @elros34: maybe. we would just need to get all the links then. shouldn't be too hard. but may break on odm updates | 13:33 |
mal | rinigus: I need to check again about patching linker config to prevent the need for that | 13:55 |
mal | the issue has been so easy to solve in most devices with those couple of symlinks, only sonys without packaged /system and friends are causing issues | 14:01 |
rinigus | mal: I think right now I will try to inject them directly to /system and see if it helps. looking at aosp state, I am convinced that we would have to redo it all against sony stock android. not sure how (no lineage for our models), but it should be possible | 14:19 |
T42 | <b100dian> rinigus: back at the keyboard. So we're back at shipping system :( ? I would like to try bind or overlay mounting first | 16:02 |
rinigus | @b100dian: not yet. trying an overlay, but its bit trickier - seems to be bit late. right now will try to remount /system for rw and just add those links there | 16:03 |
rinigus | sorry, with overlay I can actually add links even before the corresponding system is mounted. testing ... | 16:07 |
T42 | <b100dian> nice | 16:08 |
T42 | <b100dian> curious, I am seeing /odm_root is /dev/mapper/dynpart-odm_a and /odm is /dev/sda76 so it doesn't come from sparse, they are both a 'thing'? | 16:08 |
rinigus | @b100dian: no gui yet, but overlay can work | 16:11 |
rinigus | just /odm comes from hybris-hal while processing mounts | 16:12 |
T42 | <b100dian> I would've tried minimer but zypper in *qmlscene fails because: nothing provides the requested 'ssu-vendor-data' | 16:13 |
rinigus | the other one odm_root comes from our sparse. in principle, we don't need it if we go with overlays | 16:13 |
rinigus | I will make config branch, so you could see what it involves | 16:14 |
T42 | <b100dian> you can push it to main (master?) and we'll clean up later | 16:15 |
rinigus | OK, will do | 16:15 |
T42 | <b100dian> so you don't have `What=/dev/mapper/dynpart-odm_a` and `Where=/odm_root` in /usr/lib/systemd/system/odm_root.mount ? | 16:16 |
rinigus | @b100dian: not anymore, that was fixed in https://github.com/sailfishos-sony-nagara/hybris-boot/commit/04cb5c1f2fc7b618dca58e1b4372b644f62b7a2f | 16:18 |
rinigus | new hal images at obs already | 16:18 |
T42 | <b100dian> haha ;) | 16:18 |
T42 | <b100dian> it's interesting that there _is_ something on that partition | 16:19 |
rinigus | @b100dian: just a bit of time. adjusting script a bit | 16:32 |
rinigus | few minutes I hope. want to test on device before pushing | 16:32 |
T42 | <b100dian> No rush, im cooking (really, not ROMs) | 16:34 |
rinigus | @b100dian: the first hack pushed to config | 16:44 |
rinigus | started builds at obs | 16:44 |
rinigus | I may try to cook together a bit better script for it then | 16:45 |
T42 | <b100dian> rinigus: may I add a requires:qt5-qtdeclarative-qmlscene to the patterns temporarily? I am not able to zypper in it, so I'm thinking to build it in the image so I can test minimer | 17:00 |
rinigus | sure, go ahead | 17:01 |
T42 | <b100dian> because of the `ssu-vendor-data` error above - do you have that if you enable route add on the device and MASQUERADE on the computer to have internet access? | 17:01 |
rinigus | @b100dian: made a typo while sending prev commit - now its adding overlays into sparse | 17:03 |
rinigus | re route add/MASQUERADE and ssu-vendor-data error - I don't follow. missed something | 17:03 |
rinigus | now see the error | 17:04 |
T42 | <elros34> looks like ssu-vendor-data is required by ssu so strange that you don't have it | 17:20 |
ecrn | btw, isn't hwcomposer an overkill to run a wayland compositor ontop? they usually would do with just one framebuffer... | 17:35 |
ecrn | or a couple but for swapping, not composition | 17:35 |
rinigus | @b100dian: made a separate overlay mount script - that should allow us to just drop links and files to sparse/overlay . pushed changes to config repo | 18:59 |
rinigus | will also disable audit on cmd line. impossible to see anything in logs | 18:59 |
rinigus | @b100dian: don't think its important, but just mentioning. we don't have keymaster running. same is on aosp where it fails to start. but wait_for_keymaster is there in sfos logs - waiting that magically show up | 19:26 |
T42 | <b100dian> rinigus: about audit, if it spares you some time, only update pdx223 for now, I am still flash my locally built kernel. I appreciate you building both platforms though ;) | 19:55 |
T42 | <b100dian> I will be testing the minimer next then look what service is waiting on keymaster on systemd side | 19:55 |
rinigus | @b100dian: this build is very fast as I don't clean in between them. | 19:56 |
rinigus | seems to work just fine | 19:56 |
rinigus | re wait: I am sure sfos has some keymaster waiting script. but probably it does not have major impact in our current state - no gui | 19:57 |
rinigus | I'll be finishing for today. will just push hal for your device too without audit in logs | 19:58 |
T42 | <edp_17> @b100dian , Hi Vlad. Approx in an hour, will you be available for helping with fingerprint? (if not, no worries, I'll do something else. :) ) | 20:26 |
T42 | <b100dian> Hi @edp_17 if I remember correctly you had some problems with the android side of the services. I think anyone can give some hand if so | 20:53 |
T42 | <b100dian> But I am around | 20:54 |
mal | in case anyone has issues with csd microphone tests in android 14 base I think I know why those don't work | 20:56 |
mal | I will be fixing hybris-patches for that later today or tomorrow | 20:57 |
T42 | <b100dian> ringus: minimer suffers from the same camera metadata missing symbol hmm https://paste.mozilla.org/odxpgRW1/raw (and what may be a spurious namespace warning) | 21:21 |
mal | @b100dian that is where I got stuck also | 21:37 |
mal | didn't have time yet to investigate more | 21:37 |
T42 | <b100dian> looking at the corresponding header, there are many metadatabase,h headers, and the frameworks/av/media one just skips writeToParcel because it should come from another library altogether, that's why the `!defined(__ANDROID_VNDK__)` | 21:41 |
T42 | <edp_17> @b100dian , I am not sure how to fix that android side for fingerprint but in logcat, I have got : "fpc_tac : sensor_command, Failed to send command: 0 to TA, status code: -9" | 21:48 |
T42 | <edp_17> logcat: https://paste.ubuntu.com/p/q5dwGCBwxX/ | 21:48 |
T42 | <edp_17> And in dmesg I've got: "Could not find 'android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint/default' for ctl.interface_start" | 21:48 |
T42 | <edp_17> dmesg: https://paste.ubuntu.com/p/W79ScCDT7q/ | 21:49 |
T42 | <b100dian> You also have 6500 E fpc_hidl: Can't initialize the fingerprint HAL module !!! - can you check which process is 6500 (or the next number that comes in the next log)? | 21:49 |
T42 | <b100dian> droid-hal-init: Service 'fps_hal' (pid 6500) exited with status 0 | 21:50 |
T42 | <b100dian> ok, what does this service run as, can you also run it by hand and strace it? ideally with the user it is intended to be ran as | 21:51 |
T42 | <b100dian> If I rememer correctly, Elros suggested adding path to full strace binary by edinting a service .rc file if you find it | 21:52 |
T42 | <edp_17> I did strace log. | 21:53 |
T42 | <edp_17> strace -f -s 256 /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-fpcservice : https://paste.ubuntu.com/p/jt7hRk5Rfz/ | 21:53 |
T42 | <edp_17> Also, I've extracted fresh logact for grepping that 'Can't initialize the fingerprint HAL module !!!" error. The process pid is always changing: https://paste.ubuntu.com/p/cYK3WsfkYr/ | 21:54 |
T42 | <b100dian> yes, it seems to restart | 21:55 |
T42 | <edp_17> Yep. | 21:56 |
T42 | <edp_17> In the strace: "Error::Failed to open /dev/qseecom device" | 21:56 |
T42 | <b100dian> but is it the fpc_hal process the one you traced? | 21:56 |
T42 | <b100dian> yes, but that strace was ran as defaultuser | 21:57 |
T42 | <b100dian> (thanks for including the command prompt at the beginning of the paste;) | 21:58 |
T42 | <edp_17> strace as root: https://paste.ubuntu.com/p/Z3fw6yyvfw/ | 21:58 |
T42 | <b100dian> mal: I would like to gdb our symbol missing problem if possible, but I am running into`nothing provides the requested 'ssu-vendor-data'` on zypper in, do you have a suggestion what did we do wrong? | 21:59 |
T42 | <edp_17> No problem, I am always trying to provide clear logs showing how the command was executed. I think that helps. | 21:59 |
T42 | <edp_17> Now the error is: "sensor_command, Failed to send command: 0 to TA, status code: -9" | 22:00 |
T42 | <edp_17> Whatever it means. | 22:01 |
mal | what device is that again? | 22:03 |
T42 | <b100dian> @edp_17, do you still have a corresponding dmesg for that root logcat? | 22:03 |
T42 | <b100dian> mal: my question around ssu-vendor-data was for nagara (5iv/1iv) | 22:04 |
T42 | <edp_17> mal: moto g7 power (ocean) - los 7.1 base, sfos 4.6 | 22:04 |
T42 | <edp_17> @b100dian : dmesg: https://paste.ubuntu.com/p/gqVFqKfsK3/ | 22:08 |
T42 | <b100dian> input 599 did you restart your device since october :) ? | 22:11 |
T42 | <edp_17> I just started it today about 40 mins ago | 22:11 |
T42 | <b100dian> @edp_17 I think you have to grab equivalent logcat from Lineage. Can you show the fstab you have in /vendor ? You might want to disable userdata encryption before booting that to not destroy your /data | 22:37 |
mal | @b100dian I don't quite understand the issue you mentioned | 22:38 |
T42 | <b100dian> mal: there's something wrong with nagara configs here since the install (which we've yet made to show GUI) doesn't have a working zypper, leading to a ssu-vendor-data error | 22:40 |
T42 | <b100dian> like, zypper in gdb shows https://paste.mozilla.org/SLkJJ4q4/raw | 22:41 |
mal | what is the exact error? | 22:41 |
mal | show ssu lr | 22:41 |
T42 | <b100dian> mal: at the end of this, above whole error: https://paste.mozilla.org/eTwYMbZn/raw | 22:44 |
mal | something is really wrong, did you build the image normally? | 22:47 |
T42 | <b100dian> hmm maybe it is because this repo https://github.com/sailfishos-sony-nagara/community-adaptation is used in the build https://build.sailfishos.org/project/show/nemo:devel:hw:sony:nagara ? | 22:48 |
T42 | <b100dian> right now the image is created with this script from ks downloaded from OBS https://github.com/sailfishos-on-sake/Release/blob/main/scripts/create-image.sh#L71 | 22:50 |
T42 | <b100dian> so mic create fs more or less | 22:50 |
T42 | <edp_17> @b100dian : /vendor/etc/fstab.qcom : https://paste.ubuntu.com/p/Bm4JSh7TvB/ | 22:51 |
mal | I'm confused what the point of that custom community adaptation repo is? why do you even have that? | 22:51 |
T42 | <edp_17> There is no encryption of user data. | 22:51 |
T42 | <b100dian> @edp_17 you need to remove fileencryption=ice | 22:52 |
T42 | <b100dian> mal: I think the fact that there are two devices, pdx223 and pdx223 and one family, nagara -> so I hardcoded nagara in the repo for now, instead of %{device} | 22:53 |
T42 | <b100dian> because download when creating mic was trying pdx224 repo | 22:53 |
T42 | <b100dian> actually instead of @DEVICE@ | 22:54 |
T42 | <b100dian> (it's the only different commit) | 22:54 |
mal | are the things in /usr/share/ssu/board-mappings.d/ looking correct? | 22:56 |
T42 | <edp_17> @b100dian , fileencryption=ice removed. Same error. strace: https://paste.ubuntu.com/p/J5G3W4RDVn/ | 22:59 |
T42 | <edp_17> dmesg: https://paste.ubuntu.com/p/bPkMPc26wK/ | 22:59 |
T42 | <edp_17> and logcat: https://paste.ubuntu.com/p/Hw9B3K5FDP/ | 23:01 |
T42 | <elros34> you were supposed to boot to lineage and check logs to compare with sfos logs | 23:01 |
T42 | <elros34> removing fileencryption is to prevent encrypting data files when you will boot android | 23:02 |
T42 | <elros34> sailfish doesn't use android's fstab, even /etc/fstab is rather empty | 23:03 |
T42 | <edp_17> Oh, I see. And once I am in android, what logs I should get? Logcat? | 23:03 |
T42 | <b100dian> mal: can't really say, first time with two devices in the same family. here's comparison with a xiaomi I have https://paste.mozilla.org/9cgpK9yw/raw | 23:03 |
T42 | <b100dian> @edp_17 logcat of fps_hal succeeding.. maybe there's some intermediary steps. | 23:04 |
T42 | <elros34> @b100dian maybe compare installed files with working device image, there is file with all installed packages next to created image | 23:05 |
T42 | <b100dian> mal: img-type=loop might be a problem as this was fs | 23:05 |
T42 | <elros34> installed rpms* | 23:06 |
mal | @b100dian you have multiple mappings there? | 23:06 |
mal | also why sony-nagara and using the usual codename? | 23:06 |
mal | @b100dian if you look at that 05-sony-nagara.ini you can see it mentions zambezi in it, which is obviously wrong | 23:07 |
mal | that whole thing seems to be a mess | 23:08 |
mal | need to think how that is supposed to look like | 23:08 |
T42 | <b100dian> ah, good point about zambezi. But am not sure what do you mean with multiple mappings. For example, hal is https://github.com/sailfishos-sony-nagara/droid-hal-sony-nagara/tree/main/rpm | 23:08 |
mal | ah, it seems that is close what official devices have | 23:10 |
T42 | <b100dian> mal: I wonder where does that zambezi come from, an initial github org search or hadk find in files does not show much | 23:13 |
T42 | <b100dian> @elros34 looking into the packages now | 23:13 |
mal | just copypaste bug probably https://github.com/sailfishos-sony-nagara/droid-config-sony-nagara/blob/main/sparse/usr/share/ssu/board-mappings.d/05-sony-nagara.ini | 23:17 |
mal | @b100dian what happens if you manually fix that file on device? | 23:18 |
T42 | <edp_17> @b100dian : Hmm. I've extracted the boot.img from los17.1.zip and flashed on device to slot B but it doesn't boot. | 23:24 |
T42 | <edp_17> It takes me into Los recovery and saying that my data may be corrupt and I should do a factory reset. | 23:25 |
T42 | <edp_17> I'll try to boot into android to get that log. | 23:25 |
T42 | <b100dian> mal: thanks for catching the diff, I was not aware the file was on the repo. Locally nothing changes immediately, maybe I need to reboot | 23:32 |
T42 | <b100dian> @edp_17 ah, so it is complicated.. maybe a dd backup of the current /data would be easier, from Los recovery, adb pull it then, and after finishing the experiment, push it back and copy it with dd again.. | 23:33 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!