Error in `/usr/bin/python3': free(): invalid pointer: 0x00403eb0 - raspberry-pi

I have created a service which starts python script on system boot. The script must run forever. Script receives some data on UDP and reverts after processing it. It performs some i2c, spi and GPIO related tasks in it. Its working without any error.
One html page always remains open in my raspberry pi forever.
The python script automatically stop after approx 8 to 10 hours. When I explored, I found that it is following error.
Error in `/usr/bin/python3': free(): invalid pointer: 0x00403eb0
Dec 24 19:53:03 raspberrypi systemd[1]: platform_slave.service: Main process exited, code=killed, status=6/ABRT
Dec 24 19:53:03 raspberrypi systemd[1]: platform_slave.service: Unit entered failed state.
Dec 24 19:53:03 raspberrypi systemd[1]: platform_slave.service: Failed with result 'signal'.
I already explored following link but nothing found worthy.
*** Error in `python3': free(): invalid pointer: 0xb70c3578 *** Aborted (core dumped)
Does anyone having idea about above errors?

There is indeed a bug in Raspian (or spidev up to 3.5, or the SPI Linux driver itself).
The interface will cause the program to crash after 2^32 bytes sent. "try... except..." does not help.
Please see this discussion for more details.
Why does my long-running python script crash with "invalid pointer" after running for about 3 days?

Related

How to initial sync mongo replica

My mongo slave is dead because it stopped unexpectedly due to not enough space and It wont start due to
mongodb.service: Main process exited, code=exited, status=14/n/a
I tried to fix the error with following suggestions:
https://askubuntu.com/questions/823288/mongodb-loads-but-breaks-returning-status-14
but it lead to next error code:
mongodb.service: Main process exited, code=exited, status=100/n/a
which I tried to fix with following
https://dba.stackexchange.com/questions/220411/sudo-service-mongod-start-returns-error-100
this it it log output
2021-05-01T18:25:30.987+0000 I - [initandlisten] Fatal assertion 28579 UnsupportedFormat: Unable to find metadata for table:index-3-848131710157586571 Index: {name: _id_, ns: local.me} - version too new for this mongod. See http://dochub.mongodb.org/core/3.4-index-downgrade for detailed instructions on how to handle this error. at src/mongo/db/storage/wiredtiger/wiredtiger_index.cpp 241
The command sudo service mongodb start wont work because the status command shows that the service is dead.
I figured out that it would be easier to resync the data from scratch. I found the documentation
https://docs.mongodb.com/manual/tutorial/resync-replica-set-member/#resync-a-member-of-a-replica-set
but I am not fully aware what commands run to execute this operation.
My dbPath = "/mnt/mongo/mongodb", MongoDB shell version v3.4.14, and my database has about 2.5T. Could you give my some guidance how to execute initial sync mongo replica?
From my understanding i should
sudo rm -r /mnt/mongo/mongodb/*
sudo service mongodb start
After some time everything should get back to normal(?)
Correct me if I am wrong...

Job for hostapd.service failed because the control process exited with error code

I'm was halfway setting WiFi router for my Raspberry Pi but this appeared:
Job for hostapd.service failed because the control process exited with error code.
See
"systemctl status hostapd.service" and "journalctl -xe" for details.
I've tried to excude systemctl status hostapd.service:
● hostapd.service - Advanced IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP Authenticator
Loaded: loaded (/lib/systemd/system/hostapd.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Thu 2019-07-11 15:50:37 JST; 1s ago
Process: 1673 ExecStart=/usr/sbin/hostapd -P /run/hostapd.pid -B $DAEMON_OPTS ${DAEMON_CONF} (code=ex
7月 11 15:50:37 raspberrypi systemd[1]: Failed to start Advanced IEEE 802.11 AP and IEEE 802.1X/WPA/WPA
7月 11 15:50:37 raspberrypi systemd[1]: hostapd.service: Unit entered failed state.
7月 11 15:50:37 raspberrypi systemd[1]: hostapd.service: Failed with result 'exit-code'.
I'm new to Raspberry Pi. Would appreciate any help. Thank you in advance!
I just had this error happen to me - lengthening the PSK to >= 8 characters resolved the issue.
Today is the second time I've successfully set up a Raspberry Pi 0 W access point. This time i had this error:
ExecStart=/usr/sbin/hostapd -P /run/hostapd.pid -B $DAEMON_OPTS ${DAEMON_CONF} (code=exited, status=1/FAILURE)
After retracing my steps I found that i had made an error in the /etc/default/hostapd file.
I simply forget to enter the ending quotation " symbol at the end of the DAEMON_CONF string.
Also, the driver for the rpi0w in the hostapd.conf file should be nl80211, not brcmfmac.
You've likely made a simple error like I did. Check all your edits.
I've used this site's instructions for my setup
https://www.raspberrypi.org/documentation/configuration/wireless/access-point-routed.md
A trick to get a more specific error is to run the line of code pointed to by ExecStart:
/usr/sbin/hostapd -P /run/hostapd.pid -B $DAEMON_OPTS ${DAEMON_CONF}
Fill in $DAEMON_OPTS and ${DAEMON_CONF} with whatever values you have configured in /etc/default/hostapd.conf. Now you will see a better error, like mispelling of a config or a bad driver.

IR transmitter not working on Raspberry Pi

I am trying to turn on my TV using a Raspberry Pi.
I have followed the below instructions and added my remote config file, however, am having no luck! Any suggestions.
When running sudo /etc/init.d/lircd status, I get
lircd.service - Flexible IR remote input/output application support
Loaded: loaded (/lib/systemd/system/lircd.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2018-11-11 13:27:07 UTC; 5min ago
Docs: man:lircd(8)
http://lirc.org/html/configure.html
Main PID: 334 (lircd)
CGroup: /system.slice/lircd.service
└─334 /usr/sbin/lircd --nodaemon
Nov 11 13:32:23 raspberrypi lircd[334]: lircd-0.9.4c[334]: Info: removed client
Nov 11 13:32:23 raspberrypi lircd-0.9.4c[334]: Info: removed client
Nov 11 13:32:42 raspberrypi lircd[334]: lircd-0.9.4c[334]: Notice: accepted new client on /var/run/lirc/lircd
Nov 11 13:32:42 raspberrypi lircd-0.9.4c[334]: Notice: accepted new client on /var/run/lirc/lircd
Nov 11 13:32:42 raspberrypi lircd[334]: lircd-0.9.4c[334]: Info: removed client
Nov 11 13:32:42 raspberrypi lircd-0.9.4c[334]: Info: removed client
Nov 11 13:32:54 raspberrypi lircd[334]: lircd-0.9.4c[334]: Notice: accepted new client on /var/run/lirc/lircd
Nov 11 13:32:54 raspberrypi lircd-0.9.4c[334]: Notice: accepted new client on /var/run/lirc/lircd
Nov 11 13:32:54 raspberrypi lircd[334]: lircd-0.9.4c[334]: Info: removed client
Nov 11 13:32:54 raspberrypi lircd-0.9.4c[334]: Info: removed client
Here are the steps I took to set it up.
# Add the following lines to /etc/modules file
lirc_dev
lirc_rpi gpio_in_pin=18 gpio_out_pin=17
# Add the following lines to /etc/lirc/hardware.conf file
LIRCD_ARGS="--uinput --listen"
LOAD_MODULES=true
DRIVER="default"
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"
# Update the following line in /boot/config.txt
dtoverlay=lirc-rpi,gpio_in_pin=18,gpio_out_pin=17
# Update the following lines in /etc/lirc/lirc_options.conf
driver = default
device = /dev/lirc0
$ sudo /etc/init.d/lircd stop
$ sudo /etc/init.d/lircd start
# Check status to make lirc is running
$ sudo /etc/init.d/lircd status
# Reboot before testing
$ reboot
Just run into the same problem. There are two main parts to it:
Part 1: new LIRC config
With the new version on lirc 0.9.0+, the configuration needed is much less:
The driver is already included in the kernel, no need to edit anything in modules
The new config syntax is much different, there's a shell script provided to change an old config to the new one. Run: sudo /usr/share/lirc/lirc-old2new.sh
To summarise, you only need to change the /etc/lirc/lirc_options.conf. In particular, you need to edit the lines to driver = default AND device = /dev/lirc0.
This should solve part 1.
Part 2: new IR drivers
As you can see in the /boot/overlays/README, the LIRC driver is being outdated. There are new ones provided for IR input and output. The driver for IR output is the new gpio-ir-tx. You need to use that instead of lirc-rpi in your /boot/config.txt.
In summary, change dtoverlay=lirc-rpi,gpio_out_pin=17,gpio_in_pin=13 to
dtoverlay=gpio-ir-tx,gpio_pin=17
NOTE the missing _out in the config. This driver only supports output, so no need for an input one. To handle inputs, use the gpio-ir one.

WAL contains references to invalid pages

centos 6.7
postgresql 9.5.3
I've DB servers that are on master-standby replication.
Suddenly, standby server's postgresql process was stopped with this logs.
2016-07-14 18:14:19.544 JST [][5783e03b.3cdb][0][15579]WARNING: page 1671400 of relation base/16400/559613 is uninitialized
2016-07-14 18:14:19.544 JST [][5783e03b.3cdb][0][15579]CONTEXT: xlog redo Heap2/VISIBLE: cutoff xid 1902107520
2016-07-14 18:14:19.544 JST [][5783e03b.3cdb][0][15579]PANIC: WAL contains references to invalid pages
2016-07-14 18:14:19.544 JST [][5783e03b.3cdb][0][15579]CONTEXT: xlog redo Heap2/VISIBLE: cutoff xid 1902107520
2016-07-14 18:14:21.026 JST [][5783e038.3cd9][0][15577]LOG: startup process (PID 15579) was terminated by signal 6: Aborted
2016-07-14 18:14:21.026 JST [][5783e038.3cd9][0][15577]LOG: terminating any other active server processes
And, master server's postgresql logs were nothing special.
But, master server's /var/log/messages was listed as below.
Jul 14 05:38:44 host kernel: sbridge: HANDLING MCE MEMORY ERROR
Jul 14 05:38:44 host kernel: CPU 8: Machine Check Exception: 0 Bank 9: 8c000040000800c0
Jul 14 05:38:44 host kernel: TSC 0 ADDR 1f7dad7000 MISC 90004000400008c PROCESSOR 0:306e4 TIME 1468442324 SOCKET 1 APIC 20
Jul 14 05:38:44 host kernel: EDAC MC1: CE row 1, channel 0, label "CPU_SrcID#1_Channel#0_DIMM#1": 1 Unknown error(s): memory scrubbing on FATAL area : cpu=8 Err=0008:00c0 (ch=0), addr = 0x1f7dad7000 => socket=1, Channel=0(mask=1), rank=4
Jul 14 05:38:44 host kernel:
Jul 14 18:30:40 host kernel: sbridge: HANDLING MCE MEMORY ERROR
Jul 14 18:30:40 host kernel: CPU 8: Machine Check Exception: 0 Bank 9: 8c000040000800c0
Jul 14 18:30:40 host kernel: TSC 0 ADDR 1f7dad7000 MISC 90004000400008c PROCESSOR 0:306e4 TIME 1468488640 SOCKET 1 APIC 20
Jul 14 18:30:41 host kernel: EDAC MC1: CE row 1, channel 0, label "CPU_SrcID#1_Channel#0_DIMM#1": 1 Unknown error(s): memory scrubbing on FATAL area : cpu=8 Err=0008:00c0 (ch=0), addr = 0x1f7dad7000 => socket=1, Channel=0(mask=1), rank=4
Jul 14 18:30:41 host kernel:
The memory error's started at 1 week ago. So, I doubt the memory error causes postgresql's error.
My question is here.
1) Can memory error of kernel cause postgresql's "WAL contains references to invalid pages" error?
2) Why there is not any logs at master server's postgresql?
thx.
Faulty memory can cause all kinds of data corruption, so that seems like a good enough explanation to me.
Perhaps there are no log entries at the master PostgreSQL server because all that was corrupted was the WAL stream.
You can run
oid2name
to find out which database has OID 16400 and then
oid2name -d <database with OID 16400> -f 559613
to find out which table belongs to file 559613.
Is that table larger than 12 GB? If not, that would mean that page 1671400 is indeed an invalid value.
You didn't tell which PostgreSQL version you are using, but maybe there are replication bugs fixed in later versions that could cause replication problems even without a hardware bug present; read the release notes.
I would perform a new pg_basebackup and reinitialize the slave system.
But what I'd really be worried about is possible data corruption on the master server. Block checksums are cool (turned on if pg_controldata <data directory> | grep checksum gives you 1), but possibly won't detect the effects of memory corruption.
Try something like
pg_dumpall -f /dev/null
on the master and see if there are errors.
Keep your old backups in case you need to repair something!

iPhone SDK strange console message launchd_core_logic.c

I am running release version of the app on the iPhone, it works fine. There is no error messages in the XCode debugger:
Running…
Switching to thread 11779
Switching to thread 11779
sharedlibrary apply-load-rules all
(gdb) continue
Switching to thread 12291
Switching to thread 11779
Switching to thread 13059
Debugger stopped.
Program exited with status value:0.
However I see these messages in the console of iPhone when connect to it via Organizer:
WWed Oct 7 15:37:01 unknown com.apple.launchd[1] : (UIKitApplication:com.blah.blah[0x830c]) Bug: launchd_core_logic.c:2649 (23909):10
Wed Oct 7 15:37:01 unknown com.apple.launchd[1] : (UIKitApplication:com.blah.blah[0x830c]) Working around 5020256. Assuming the job crashed.
Wed Oct 7 15:37:01 unknown com.apple.launchd[1] : (UIKitApplication:com.blah.blah[0x830c]) Job appears to have crashed: Segmentation fault
Wed Oct 7 15:37:01 unknown com.apple.debugserver-43[6124] : 1 [17ec/1603]: error: ::read ( 7, 0x28091c, 1024 ) => -1 err = Bad file descriptor (0x00000009)
Wed Oct 7 15:37:01 unknown SpringBoard[25] : Application 'blah' exited abnormally with signal 11: Segmentation fault
I have tried Apple's UICatalog sample and empty view based app generated by the XCode. They both report exactly the same message as my code in the console. So this is NOT my app related.
There is no crash logs created, so I don't think it is a crash.
What is it? Is it a problem, even though application works perfectly fine?
Thanks
I had the same problem and it gave me problems when testing in app purchases. In the end I found out that I was running the program with an iPhone Distribution code signing instead of an iPhone Development code signing. When I changed that for the Debug configuration (and removed the Entitlements.plist) it worked again. Hope it helps.
It's not a problem. I have similar messages on my console all the time. And as you said it's not your apps fault, so as long as you app runs ok there is no problem.
The message is not from your app, it's from the com.apple.launchd. I think that only the xcode console output is really relevant for you.