Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

Unset /tmp as noexec

If none of the specific sub-forums seem right for your thread, ask here.
Post Reply
Message
Author
User avatar
jalisco
Posts: 94
Joined: 2013-09-01 17:30

Unset /tmp as noexec

#1 Post by jalisco »

Hello,

Trying to install Signal, on my debian 8 system.

However, the application will not launch. Going through my logs, I found that it has to do with the /tmp folder set to noexec. At least, that's also what Signal mentioned in their troubleshooting section. Unfortunately, they just mention:

"Some users will need to unset /tmp as noexec."

But not how to do it, and I have search around, but have been unable to find a solution. Most suggestions center around editing fstab, but for me /tmp is mounted on /, e.g. it doesn't have it's own "mount point."

Any hints or suggestions?

Thank you.

p.H
Global Moderator
Global Moderator
Posts: 3049
Joined: 2017-09-17 07:12
Has thanked: 5 times
Been thanked: 132 times

Re: Unset /tmp as noexec

#2 Post by p.H »

The root filesystem is not mounted with noexec, so if /tmp is not a separate filesystem it cannot be noexec.
Note that /tmp may be a tmpfs defined in /etc/default/tmpfs instead of /etc/fstab. So check with mount.
If /tmp is really not a mount point, please post the logs saying /tmp is mounted with noexec.

User avatar
jalisco
Posts: 94
Joined: 2013-09-01 17:30

Re: Unset /tmp as noexec

#3 Post by jalisco »

Thanks for quick reply. It seems that /tmp is mounted on root.

Code: Select all

root@user536206:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb5        23G   17G  5.7G  74% /
udev             10M     0   10M   0% /dev
tmpfs           1.6G   18M  1.6G   2% /run
tmpfs           4.0G  139M  3.8G   4% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           4.0G     0  4.0G   0% /sys/fs/cgroup
/dev/sda1       1.8T  958G  784G  56% /media/storage
/dev/sdb7        72G   56G   12G  83% /home
tmpfs           801M   52K  801M   1% /run/user/1000

Code: Select all

root@user536206:/# df /tmp
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sdb5       24057452 16859992   5952440  74% /

You bring up a good point / is not set to noexec, so /tmp should be also? While investigate further..

p.H
Global Moderator
Global Moderator
Posts: 3049
Joined: 2017-09-17 07:12
Has thanked: 5 times
Been thanked: 132 times

Re: Unset /tmp as noexec

#4 Post by p.H »

Thinking twice, a subdirectory can have different mount options using bind and remount options, for example :

Code: Select all

mount --bind /tmp /tmp
mount -o remount,noexec /tmp
This should be visible in the output of mount.

Code: Select all

/dev/sda11 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
/dev/sda11 on /tmp type ext4 (rw,noexec,relatime,errors=remount-ro,data=ordered)
EDIT : but it would be visible in the output of df too :

Code: Select all

df /tmp
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda11       4674688 3467920    946264  79% /tmp

User avatar
debiman
Posts: 3063
Joined: 2013-03-12 07:18

Re: Unset /tmp as noexec

#5 Post by debiman »

jalisco wrote:Going through my logs, I found that it has to do with the /tmp folder set to noexec.
sounds reasonable, but it shouldn't result in Signal not starting at all.
in any case, just show us the full output you get for one launch attempt.

if your interpretation is correct, you might need to assign a separate tmpfs for signal only, because making /tmp noexec can have negative side effects on other applications.
read Signal documentation; this (which directory to use for temporary storage) should be configurable.
once you got that, we can guide you through the process.

p.H
Global Moderator
Global Moderator
Posts: 3049
Joined: 2017-09-17 07:12
Has thanked: 5 times
Been thanked: 132 times

Re: Unset /tmp as noexec

#6 Post by p.H »

debiman wrote:you might need to assign a separate tmpfs for signal only, because making /tmp noexec can have negative side effects on other applications
You seem to imply that /tmp must be noexec for Signal. However I understand from
jalisco wrote:"Some users will need to unset /tmp as noexec."
that /tmp must not be noexec for Signal.

User avatar
debiman
Posts: 3063
Joined: 2013-03-12 07:18

Re: Unset /tmp as noexec

#7 Post by debiman »

^ oh!
the logical error is on me.

in any case, seeing the full execution attempt output & log would be better than relying on op's "interpretation".

User avatar
jalisco
Posts: 94
Joined: 2013-09-01 17:30

Re: Unset /tmp as noexec

#8 Post by jalisco »

If I go to /var/log/messages, I get the following information. Other than the javascript error in the main process, and the missing GLIBCXX file, not really sure what else could be the problem.

Code: Select all

Aug  7 10:02:00 user536206 signal-desktop.desktop[3840]: #033[1m#033[47m#033[31mA JavaScript error occurred in the main process
Aug  7 10:02:00 user536206 signal-desktop.desktop[3840]: #033[30mUncaught Exception:
Aug  7 10:02:00 user536206 signal-desktop.desktop[3840]: Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /tmp/.org.chromium.Chromium.1OCIKc)
Aug  7 10:02:00 user536206 signal-desktop.desktop[3840]:     at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:172:20)
Aug  7 10:02:00 user536206 signal-desktop.desktop[3840]:     at Object.Module._extensions..node (module.js:671:18)
Aug  7 10:02:00 user536206 signal-desktop.desktop[3840]:     at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:186:18)
Aug  7 10:02:00 user536206 signal-desktop.desktop[3840]:     at Module.load (module.js:561:32)
Aug  7 10:02:00 user536206 signal-desktop.desktop[3840]:     at tryModuleLoad (module.js:504:12)
Aug  7 10:02:00 user536206 signal-desktop.desktop[3840]:     at Function.Module._load (module.js:496:3)
Aug  7 10:02:00 user536206 signal-desktop.desktop[3840]:     at Module.require (module.js:586:17)
Aug  7 10:02:00 user536206 signal-desktop.desktop[3840]:     at require (internal/module.js:11:18)
Aug  7 10:02:00 user536206 signal-desktop.desktop[3840]:     at Object.<anonymous> (/opt/Signal/resources/app.asar/node_modules/@journeyapps/sqlcipher/lib/sqlite3.js:4:15)
Aug  7 10:02:00 user536206 signal-desktop.desktop[3840]:     at Object.<anonymous> (/opt/Signal/resources/app.asar/node_modules/@journeyapps/sqlcipher/lib/sqlite3.js:190:3)#033[0m

p.H
Global Moderator
Global Moderator
Posts: 3049
Joined: 2017-09-17 07:12
Has thanked: 5 times
Been thanked: 132 times

Re: Unset /tmp as noexec

#9 Post by p.H »

I do not see anything related to /tmp being mounted noexec.

On the other hand I can see that Signal looks for version GLIBCXX_3.4.21 in libstdc++, but the package from Debian 8 provides up to 3.4.20 only. The package from Debian 9 provides up to 3.4.22. There does not seem to be a backported package available in jessie-backports. Time to upgrade ?
Last edited by p.H on 2018-08-07 12:10, edited 1 time in total.

User avatar
jalisco
Posts: 94
Joined: 2013-09-01 17:30

Re: Unset /tmp as noexec

#10 Post by jalisco »

Thanks for the help.

Yeah, I should already be upgraded =) I bought "core" (cpu, ram, mobo) but ofc there were issues, hopefully be resolved tomorrow when new parts arrive to save the day.

But, I thought that also might be the case. I had been using 8 for quite some time, and was planning to upgrade. Will give it a go.

p.H
Global Moderator
Global Moderator
Posts: 3049
Joined: 2017-09-17 07:12
Has thanked: 5 times
Been thanked: 132 times

Re: Unset /tmp as noexec

#11 Post by p.H »

You can also try to install libstdc++6 from stretch and its dependencies.

Post Reply