-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Since 6.19.0 I am not able to handle images and attached files #17
Comments
I just tried this with the latest release on Debian 11 arm64 through WSL (Windows Subsystem for Linux) and am not running into the issue you described. Could you please ensure that your OS is fully up to date, ensure that Signal has the correct read/write permissions and try again? |
I can not confirm this. I tried the following: I took a fully fresh debian 12 image for my Raspberry Pi and only put the latest release and it shows exactly the same behaviour as under my everyday running fully updated debian 11 environment. |
I confirm this bug. Debian 12 ARM. @dennisameling please try running on native ARM linux. |
Hmm, interesting. I currently don't have the bandwidth to look further into this, sorry. Maybe if you post in this issue, someone in there might be able to help debug this issue a bit further 🙏🏼 |
the last working version 6.18.1 for me reached end of life and I am forced to update. Is there any solution? |
I haven't seen anyone come up with a solution yet, but the following questions might help someone who has the bandwidth to dive further into this:
|
The issue is solved for me. First I got it to work with ubuntu 22.04.3 LTS for Raspberry Pi, then also with the lastest image taken today from https://raspi.debian.net/daily-images/. So I think it's time to switch completely to debian 12 bookworm and there is no need to search why it did not work until now. Thank you Dennis for insisting in trying to reproduce it on different OS images and moreover for providing here the arm64-version for the signal-desktop.... ;-) |
I have the same problem with a Raspberry Pi 4 on the lastest Raspberry Pi OS (Debian Bullseye version 11) with Signal Desktop Unofficial 6.33.0. The images don't resolve. I installed the Signal Desktop Unofficial deb package with the following command: sudo apt install -f ./signal-desktop-unofficial_6.33.0_arm64.deb here is output from neofetch: _,met$$$$$gg. rovitotv@raspad
,g$$$$$$$$$$$$$$$P. ---------------
,g$$P" """Y$$.". OS: Debian GNU/Linux 11 (bullseye) aarch64
,$$P' `$$$. Host: Raspberry Pi 4 Model B Rev 1.5
',$$P ,ggs. `$$b: Kernel: 6.1.21-v8+
`d$$' ,$P"' . $$$ Uptime: 7 hours, 25 mins
$$P d$' , $$P Packages: 1724 (dpkg)
$$: $$. - ,d$$' Shell: bash 5.1.4
$$; Y$b._ _,d$P' Resolution: 1280x800, 1920x1080
Y$$. `.`"Y$$$$P"' DE: LXDE
`$$b "-.__ WM: Mutter
`Y$$ WM Theme: Adwaita
`Y$$. Theme: PiXflat [GTK3]
`$$b. Icons: PiXflat [GTK3]
`Y$$b. CPU: BCM2835 (4) @ 1.800GHz
`"Y$b._ Memory: 1999MiB / 7812MiB
Despite this bug it is still a miracle this is working! Thank you so much. |
With Debian Bullseye version 11 it was expectable but it's even worse: Same issue again with brand new Raspi OS released in Oct 2023 (based on Debian version 12 bookworm) together with signal-desktop-unofficial_6.34.0 OS: Debian GNU/Linux 12 (bookworm) aarch64 |
I am facing the same issue in the linux container of the arm based Chromebook. I am also seeing 'EFAULT: bad address in system call argument, write' in the log. When I run yarn test, test-electron was failing by the same EFAULT:
Is this electron related issue on the arm? Additionally I confirmed by strace command to check which write systemcall is failing: write systemcall for the files under .config/Signal/attachments.noindex and badges.noindex are failing by empty 2nd parameter with 0 byte count write e.g. write("xxx", "", 0); causes EFAULT. ========= System info ========= |
here is related conversation using arm64 architecture. scroll up and down. |
fse.ensureFile() call seems to be causing EFAULT of the write systemcall in arm64 environment.
My workaround:
Then now, I can send/receive attachments without EFAULT in my aarch64 chromebook linux. I think root cause could be node.js or libuv? (somewhere dispatching to the write systemcall). |
this bug still occurs in 6.45. filename: |
Some observations here:
I guess #1 may provide some clues? |
I am seeing the same bug on Until yesterday I built signal-desktop myself (and was seeing the same bug), so I was looking forward to a better version when I downloaded https://github.com/dennisameling/Signal-Desktop |
On Raspberry Pi5, NO issue with 2024-03-15-raspios-bookworm-arm64 + deb version 7.11.0 |
Hi all, I just published v7.24.0, which was built with Ubuntu 22.04 instead of 20.04 which I was using until today. Also, the Signal team has recently updated the NodeJS and Electron versions. I'm curious if all these upgrades across the board make any difference for y'all. If the issue still occurs, we might want to look into @yizeky's great investigative work. I noticed that Signal Desktop uses an almost 7 year old version of |
luckily continue with NO issue on my Raspberry Pi5 with updated 2024-03-15-raspios-bookworm-arm64 and the brand new deb version 7.24.0 |
Thanks for the new version. Still out of luck on my Raspberry Pi4 with latest Raspberry PiOS downloaded today (13 Sep 2024). Not tried on Pi4+Ubuntu this time though. |
@yizeky thanks so much for taking the time to dive in and share your findings here! I was able to reproduce the issue on a Raspberry Pi 4 with the latest Pi OS (based on Debian 12, kernel 6.6.47+rpt-rpi-v8). However, when I applied your changes, I ran into other errors instead:
I assume that's because the file that would normally be empty, now contains a space, causing the decryption/encryption process to fail. Instead, I updated the patch to simply ignore these errors on Linux arm64. That's because, strangely enough, the empty files do get created just fine on the filesystem in my testing. With this fix applied, I was able to successfully work with attachments on the Raspberry Pi 4 with Pi OS (Debian 12). Here's the updated I'd love to report this upstream, but am struggling to create a reproducer. Within Signal itself, the issue seems to start at This minimal sample works fine on Node itself: import pkg from 'fs-extra'
const {ensureFile} = pkg
import {open} from 'fs/promises'
let writeFd;
const path = "/home/dennis/.config/Signal Unofficial/downloads.noindex/aafa9baa4153fd5d91b9e7a5bc4b22f10a73d97f9291ef60b1cad6b860352c8f"
try {
await ensureFile(path)
writeFd = await open(path, 'w')
} catch (cause) {
throw new Error('Failed to create write path', {cause})
} If someone could help me come up with a minimal reproducer, that'd be amazing, so I can report it upstream. |
I just tested your 7.25.0 on my Orange Pi 5 and I can confirm that it is working now. :-) |
@dennisameling -san, I confirmed the new v7.25.0, and it is working perfectly in my linux container (Deb 12) on the aarch64 chromebook, thank you very much for your update! |
Regarding minimal reproducer, I feel it might be caused by the write() systemcall on the Electron + node.js/libuv combination. I saw many of the EFAULT errors of the write() systemcall when I run 'yarn test-electron' in the Signal-Desktop source tree. So if it is possible to create a similar style (electron base?) of unit-test case which contains just ensureFile() call could be a candidate. |
This happened for the longest time for me, but it has been working reliably with the latest version for the past two weeks. |
fs-extra patch is working but now, big emoji icons are broken: First I launch Signal Desktop Unofficial, we see attached image but emoji are broken. video_2024-12-03_22-35-51.mp4Small emojis in messages work. |
Yes, I can report along with @bellegarde-c that big emojis, aka "stickers" don't function on Signal Unofficial ARM64. |
I just replied to your dedicated issue here, and I have a feeling that the issue with the big emojis/stickers will be resolved as soon as I remove that Windows-specific patch for the updates/resources URL. To be continued! |
Hi all, it looks like the Signal team has upgraded the version of I'd like to see if things will work fine with you on the newer version without the patch. The 7.35.0 version is now available here which includes the updated |
I can report that the update does break attachments downloading. Could you delete this release or mark it as a prerelease so that our Pi-apps github bot does not upgrade everybody to a Signal version that features a regression? |
Thanks for the quick feedback. I've just marked the release as pre-release to not break folks. Will uploaded an uploaded |
I've created the new patch and have kicked off the CI pipeline to build the updated Can you confirm whether the Attachments functionality works as expected again? Thanks! |
I'm working on a "mobile" version of Signal Desktop for Droidian based on your work. I tried to add your fs-extra patch to my build, I can see the makeFile function in app.asar but attached images/files are not loaded. Any idea what I can be missing ? |
Ok, did not notice but does not work with signal-desktop-unofficial too:
|
Found, there is an error in your patch:
|
Hi,
|
Hi folks, thanks for reporting. There's indeed a typo in my patch for |
7.35.1 is working in the arm chromebook very well. Thank you! |
Since 6.19.0 it is impossible for me to paste images or to see attached files on Signal Desktop under Debian 11 (bullseye).
When pasting a screenshot from the clipboard, the application rests in the loading-state. Clicking on the symbol for attaching files opens the file-browser and I am able to choose a file, but it never appears and the application is also resting in the loading-state to infinity (any file-type, it is not an issue with the preview of pictures). When receiving any attachment (any file-type) or a foto, I am not able to open it or to download it to the disk and pictures are not getting a preview.
For the moment I hold the working version 6.18.1
debug log is here
I have already asked in the report box of the official build and I was told that something is going wrong at a very low level:
The other inofficial arm64 build provided as a flatpak app shows exactly the same behaviour.
Any ideas?
Thanks in advance ;-)
The text was updated successfully, but these errors were encountered: