Skip to content
This repository has been archived by the owner on Apr 21, 2023. It is now read-only.

DCHECK failed: !src.IsKeySaved() #686

Closed
securityguru opened this issue Apr 29, 2014 · 4 comments
Closed

DCHECK failed: !src.IsKeySaved() #686

securityguru opened this issue Apr 29, 2014 · 4 comments

Comments

@securityguru
Copy link

uname -a:
Linux HOST 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 GNU/Linux
nginx version: nginx/1.4.7
built by gcc 4.7.2 (Debian 4.7.2-5)
TLS SNI support enabled
configure arguments: --prefix=/usr --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-pcre-jit --with-debug --with-http_addition_module --with-http_dav_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --with-mail --with-mail_ssl_module --add-module=/root/ngx_pagespeed-release-1.7.30.4-beta
[alert] 29626#0: [ngx_pagespeed 1.7.30.4-3847] [0428/115223:FATAL:string_multi_map.h(243)] Check failed: !src.IsKeySaved().
Backtrace:
        nginx: worker process() [0x4ad627]
        nginx: worker process() [0x4aa7c7]
        nginx: worker process() [0x52fd51]
        nginx: worker process() [0x52fead]
        nginx: worker process() [0x5304bd]
        nginx: worker process() [0x53059f]
        nginx: worker process() [0x530704]
        nginx: worker process() [0x53082d]
        nginx: worker process() [0x5315c6]
        nginx: worker process() [0x52d9d2]
        nginx: worker process() [0x592dd8]
        nginx: worker process() [0x49c541]
        nginx: worker process() [0x49ef06]
        nginx: worker process() [0x49f001]
        nginx: worker process() [0x43af93]
        nginx: worker process() [0x43b0a2]
        nginx: worker process() [0x4465f1]
        nginx: worker process() [0x446c2e]
        nginx: worker process() [0x4471a3]
        nginx: worker process() [0x44776c]
        nginx: worker process() [0x4292d8]
        nginx: worker process() [0x428e4a]
        nginx: worker process() [0x430140]
        nginx: worker process() [0x42e88b]
        nginx: worker process() [0x42f588]
        nginx: worker process() [0x4309f5]
        nginx: worker process() [0x411da6]
        /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd) [0x7fa4bb95eead]
        nginx: worker process() [0x410a89]
@oschaaf
Copy link
Member

oschaaf commented Apr 29, 2014

@securityguru
Was this a one-time failure? Or can you reproduce it? If so, would you be able to configure nginx --with-debug and post a backtrace using an nginx build with that?

@securityguru
Copy link
Author

It was 14 times per day. I don't know how can I reproduce it, but I build nginx --with-debug and if it fails again I'll post backtrace

@oschaaf
Copy link
Member

oschaaf commented Apr 29, 2014

That would be great! Thanks!

@jeffkaufman
Copy link
Contributor

This is actually fixed on PSOL trunk with r3671, and will be in the 1.8 release.

The problem is that:

bool IsKeySaved() const {
     return key_storage_.data() == key_.data();
}

Is not guaranteed to work if the key is empty.

This was a DCHECK only problem, which means building without --with-debug should avoid it. (Strangely enough.)

@jeffkaufman jeffkaufman changed the title FATAL:string_multi_map.h(243)] Check failed: !src.IsKeySaved() DCHECK failed: !src.IsKeySaved() Apr 29, 2014
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants