orioledb / orioledb

OrioleDB – building a modern cloud-native storage engine (... and solving some PostgreSQL wicked problems)  🇺🇦

Home Page:https://orioledb.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

strlen(NULL) segfault

pashkinelfe opened this issue · comments

at 9c34d00
While reproducing #345 after 2000s inserts got segfault.
Maybe it's not related to the #345, just appeared occasionally. It's rare, not every time.

#0  __strlen_asimd () at ../sysdeps/aarch64/multiarch/strlen_asimd.S:96
#1  0x0000ffffb452919c in o_emit_log_hook (edata=0xaaaace60bc28 <errordata>) at src/orioledb.c:856
#2  0x0000aaaace2d70ec in EmitErrorReport () at elog.c:1698
#3  0x0000aaaace148a58 in PostgresMain (dbname=0xaaaafbdee548 "postgres", username=<optimized out>) at postgres.c:4337
#4  0x0000aaaace09d894 in BackendRun (port=0xaaaafbde7e40, port=0xaaaafbde7e40) at postmaster.c:4481
#5  BackendStartup (port=0xaaaafbde7e40) at postmaster.c:4209
#6  ServerLoop () at postmaster.c:1789
#7  0x0000aaaace09eae0 in PostmasterMain (argc=argc@entry=3, argv=argv@entry=0xaaaafbd63ae0) at postmaster.c:1473
#8  0x0000aaaacdd67e64 in main (argc=3, argv=0xaaaafbd63ae0) at main.c:198
(gdb) frame 1
#1  0x0000ffffb452919c in o_emit_log_hook (edata=0xaaaace60bc28 <errordata>) at src/orioledb.c:856
856		if (strlen(edata->message_id) >= strlen(target_str) &&
(gdb) p target_str
$1 = 0xffffb456c750 "database system was"
(gdb) p edata->message_id
$2 = 0x0

Possible fix 191a9e2