Comments (11)
The same I have tried with postgres(Image - francescolavra/postgres:16.0) with the updated kernel image ~/.ops/659f598/kernel.img
Got the below memory error and kernel got crashed.
2024-03-19 13:17:57.245 UTC [4361762560] WARNING: plancache reference leak: plan 0x10c2e8658 not closed
2024-03-19 13:17:57.255 UTC [4351211264] ERROR: lock reference 0x1042e89b8 is not owned by resource owner (null)
2024-03-19 13:17:57.257 UTC [4351211264] WARNING: AbortTransaction while in COMMIT state
2024-03-19 13:17:57.258 UTC [4351211264] PANIC: cannot abort transaction 4883, it was already committed
*** signal 6 received by tid 15, errno 0, code -6
*** Thread context:
lastvector: 00000000000000ea
frame: ffffc0000261b800
type: thread
active_cpu: 00000000ffffffff
stack top: 0000000000000000
from nanos.
The issue causing the above error messages has been fixed in #2002. To test this fix, you can create a new image with Ops by specifying --nanos-version 659f598
in your ops image create command, and then use ~/.ops/659f598/kernel.img as kernel image in your Firecracker configuration.
from nanos.
The above log does not show a kernel crash, it's the postgres program that triggered an unhandled SEGV signal and therefore has been terminated by the kernel. Anyway, I tried load-testing postgres with HammerDB but I couldn't reproduce this issue.
I'm using Firecracker v1.6.0, and tried with both kernel build 659f598 and the latest nightly build.
@Roopsai507 could you share the tcl file you are using to build the postgres schema in HammerDB? Mine is as follows:
puts "SETTING CONFIGURATION"
dbset db pg
diset connection pg_host 11.0.2.15
print dict
buildschema
from nanos.
First run the below build schema tcl file
> cat buildSchema.tcl
puts "SETTING CONFIGURATION"
dbset db pg
diset connection pg_host 11.0.2.15
diset connection pg_port 9090
diset tpcc pg_count_ware 5
diset tpcc pg_superuser postgres
diset tpcc pg_num_vu 5
diset tpcc pg_user tpcc
diset tpcc pg_pass tpcc
diset tpcc pg_dbase tpcc
print dict
buildschema
After this run the below tcl file the issue will be reproduced
> cat pgrun.tcl
#!/bin/tclsh
proc runtimer { seconds } {
set x 0
set timerstop 0
while {!$timerstop} {
incr x
after 1000
if { ![ expr {$x % 60} ] } {
set y [ expr $x / 60 ]
puts "Timer: $y minutes elapsed"
}
update
if { [ vucomplete ] || $x eq $seconds } { set timerstop 1 }
}
return
}
puts "SETTING CONFIGURATION"
dbset db pg
diset connection pg_host 11.0.2.15
diset connection pg_port 9090
diset tpcc pg_superuser postgres
diset tpcc pg_user tpcc
diset tpcc pg_pass tpcc
diset tpcc pg_dbase tpcc
diset tpcc pg_driver timed
diset tpcc pg_duration 2
diset tpcc pg_duration 5
diset tpcc pg_vacuum true
print dict
vuset logtotemp 1
loadscript
puts "SEQUENCE STARTED"
foreach z {1} {
puts "$z VU test"
vuset vu $z
vucreate
vurun
runtimer 480
vudestroy
after 5000
}
puts "TEST SEQUENCE COMPLETE"
from nanos.
Related Issues (20)
- issue(sqlite3): WAL - journal_mode and multi-thread support - err(522) SQLITE_IOERR_SHORT_READ HOT 7
- issue(gcp): metrics - klibs(gcp,tls) - memory leak (maybe) HOT 2
- chore(storage): warn when volume name/label length > nanos(VOLUME_LABEL_MAX_LEN) HOT 1
- feat(storage): prevent nanos from starting the program if the expected volumes are not available HOT 2
- issue(smp): tokio-rs/sled deadlock (probable) on cpu count > 1 HOT 9
- issue(fs): assertion !frame_is_full(ctx->frame) failed at /nanos/src/kernel/mutex.c:109 (IP 0xffffffff800460b4) HOT 2
- issue: assertion enqueue(pn->dirty_commits, sh) failed at .../pagecache.c:1088 ... in pagecache_commit_dirty_node(); halt HOT 11
- issue(unix_clock): clock_getcpuclockid and clock_getres unexpected behavior HOT 3
- issue: assertion w->retval++ < (w->poll_fds->length / sizeof(struct pollfd)) failed at ../unix/poll.c:939 (IP 0xf..) in poll_notify(); halt HOT 7
- arm64 golang hello-wold fails to run on MacBook Air M1 HOT 2
- issue: assertion staging->end + min < size failed at /nanos/src/fs/tlog.c:427 in log_write_internal() HOT 1
- allow passing in network settings via kernel boot args for firecracker
- Much Slower Transfer Rate for HTTP Requests Compared to Native HOT 11
- Is the `memfd_create` syscall supported? HOT 4
- Missing `FUTEX_WAKE_BITSET` implementation HOT 2
- cannot enable executable stack as shared object requires: Permission denied HOT 3
- accept_tcp_from_lwip error: queue overrun; shouldn't happen with lwIP listen backlog
- block an IP at the kernel level? HOT 10
- Build Problems: Stage 2 exceeds 64KB HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nanos.