The following error has been occurring in all 7.8 Pike versions for the past 9 months (at least). I have a production machine running Roxen which crashes on an error like this roughly once a day. I'm willing to make custom changes to the production environment in Roxen and/or Pike to track this one down. Things that slow down the production environment for more than a factor of three are not acceptable. Any suggestions on how to tackle this problem?
/data/src/gpike/src/gc.c:2519: GC fatal: Marked a thing without refs. **Block: 0xab493890 Type: object Refs: 0 **Got gc marker at 0xbcacbb0: flags=0x00000 refs=0 weak=0 xrefs=0 saved=-1 frame=(nil) **Program id: 66369 **The object is not on the object link list. **The object is destructed but program found from id. ******************* **Looking for references to 0xab493890: **Done looking for references to 0xab493890, found 0 refs. Pike was in GC stage 200 when this fatal occured. Backtrace at time of fatal: -:1: Buffer(16130 /* 23168 */)->`+=("' OR\n pdlnode.p30!='") /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:302: RXML.PEnt(RXML.t_text(text/plain, xml-entity),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->drain_output() /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/utils.pmod:197: RXML.utils->p_xml_entity_cb(RXML.PEnt(RXML.t_text(text/plain, xml-entity),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),"&form.nrpropp30:mysql;") /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PEnt(RXML.t_text(text/plain, xml-entity),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("SELECT COUNT(DISTINCT(pdloffer.id_pdloffer)) as aantal\n FROM pdloffer\n JOIN namedata ON (namedata.id = pdloffer.owner)\n JOIN pdlnode ON (pdlnode.id_pdlnode = pdloffer.id_pdlnode)\n JOIN pdltree ON "+[27495]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PEnt(RXML.t_text(text/plain, xml-entity),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("SELECT COUNT(DISTINCT(pdloffer.id_pdloffer)) as aantal\n FROM pdloffer\n JOIN namedata ON (namedata.id = pdloffer.owner)\n JOIN pdlnode ON (pdlnode.id_pdlnode = pdloffer.id_pdlnode)\n JOIN pdltree ON "+[27495]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:5491: RXML.PEnt(RXML.t_text(text/plain, xml-entity),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->write_end("SELECT COUNT(DISTINCT(pdloffer.id_pdloffer)) as aantal\n FROM pdloffer\n JOIN namedata ON (namedata.id = pdloffer.owner)\n JOIN pdlnode ON (pdlnode.id_pdlnode = pdloffer.id_pdlnode)\n JOIN pdltree ON "+[27495]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:6224: RXML.t_text(text/plain, xml-entity)->eval("SELECT COUNT(DISTINCT(pdloffer.id_pdloffer)) as aantal\n FROM pdloffer\n JOIN namedata ON (namedata.id = pdloffer.owner)\n JOIN "+[27566],Context(),RXML.CompositeTagSet(_user_tag+rxml_tag_set),UNDEFINED,UNDEFINED) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:350: TagSqlplugin(emit#sql)->eval_args(mapping[2],0,0,({"scope","filter","do-once","rowinfo","remainderinfo","skiprows","filter-exclude","sort","maxrows","source"})) modules/tags/rxmltags.pike:5985: Frame(emit)->do_enter(RequestID(/info/zoekresultaatmap.rxml?mode=rentpdriver&_id_pdlnode=449&geolat=52.4685437&geolng=4.6699539&id=810468&plaats=Beverwijk)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4520: Frame(emit)->_eval(@0=Context(),RXML.PXml(RXML.t_any(any, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),RXML.t_any(any, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:459: TagEmit(emit)->_p_xml_handle_tag(@1=RXML.PXml(RXML.t_any(any, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),mapping[2],"\n\n\n \n <set variable="var.numberresults" value="&_.aantal;" />\n \n") /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_any(any, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("\n<emit query="SELECT COUNT(DISTINCT(pdloffer.id_pdloffer)) as aantal\n FROM pdloffer\n JOIN namedata ON (namedata.id = pdloffer.owner)\n JOIN pdlnode ON (pdlnode.id_pdlnode = pdloffer.id_pdlnode)\n JO"+[27598]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PXml(RXML.t_any(any, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("\n<emit query="SELECT COUNT(DISTINCT(pdloffer.id_pdloffer)) as aantal\n FROM pdloffer\n JOIN namedata ON (namedata.id = pdloffer.owner)\n JOIN pdlnode ON (pdlnode.id_pdlnode = pdloffer.id_pdlnode)\n JO"+[27598]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:3819: Frame(eval)->_exec_array(@0,RXML.RenewablePCode(RXML.t_any(any, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),({"\n<emit query="SELECT COUNT(DISTINCT(pdloffer.id_pdloffer)) as aantal\n FROM pdloffer\n JOIN "+[27704]}),"do_return") /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4825: Frame(eval)->_eval(@0,@2=RXML.RenewablePCode(RXML.t_any(any, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),@3=RXML.t_any(any, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.RenewablePCode(RXML.t_any(any, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:9206: RXML.RenewablePCode(RXML.t_any(any, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:3865: UserTag.Frame(gettotalfornodemode)->_exec_array(@0,RXML.PCode(RXML.t_any(any, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),({@2}),"do_return") /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4825: UserTag.Frame(gettotalfornodemode)->_eval(@0,@4=RXML.PCode(RXML.t_any(any, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@3) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_any(any, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4775: Frame(set)->_eval(@0,RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8243: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->eval(@0,UNDEFINED) modules/tags/rxmlparse.pike:171: RoxenModule(entreeding.com/rxmlparse#0)->handle_file_extension(Stdio.File("/home/entreeding/info/zoekresultaatmap.rxml", "r", 666 /* fd=39 */),"rxml",,,0) base_server/configuration.pike:2357: Configuration(entreeding.com)->low_get_file(@5,UNDEFINED) base_server/configuration.pike:2491: Configuration(entreeding.com)->get_file(@5,UNDEFINED,UNDEFINED) base_server/configuration.pike:2466: Configuration(entreeding.com)->handle_request(@5,UNDEFINED) protocols/http.pike:2823: RequestID(/info/zoekresultaatmap.rxml?mode=rentpdriver&_id_pdlnode=449&geolat=52.4685437&geolng=4.6699539&id=810468&plaats=Beverwijk)->handle_request() base_server/roxen.pike:849: roxen->handler_thread(23)
Stephen R. van den Berg wrote:
I have a production machine running Roxen which crashes on an error like this roughly once a day. I'm willing to make custom changes to the
This day's results are (GC error looks similar, but addresses differ, so does the backtrace; I'm not quite sure where to look next):
/data/src/gpike/src/gc.c:2519: GC fatal: Marked a thing without refs. **Block: 0xa6b9380 Type: object Refs: 0 **Got gc marker at 0xb72e6e0: flags=0x00000 refs=0 weak=0 xrefs=0 saved=-1 frame=(nil) **Program id: 65596 **The object is not on the object link list. **The object is destructed but program found from id. ******************* **Looking for references to 0xa6b9380: **Done looking for references to 0xa6b9380, found 0 refs. Pike was in GC stage 200 when this fatal occured. Backtrace at time of fatal: /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8910: RXML.PCode(RXML.t_string(string, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(Context(),0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4775: Frame(replace)->_eval(@0=Context(),RXML.PCode(RXML.t_any(any, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),RXML.t_any(any, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_any(any, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4775: Frame(set)->_eval(@0,RXML.RenewablePCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),RXML.t_xml(text/xml, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.RenewablePCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:9206: RXML.RenewablePCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:3865: UserTag.Frame(converttexttourl)->_exec_array(@0,RXML.PCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),({@1=RXML.RenewablePCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))}),,,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4825: UserTag.Frame(converttexttourl)->_eval(@0,@2=RXML.PCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),@3=RXML.t_xml(text/xml, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4775: Frame(define)->_eval(@0,RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set)),RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4775: Frame(emit)->_eval(@0,RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set)),@4=RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4775: Frame(emit)->_eval(@0,RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@4) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8243: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->eval(@0,UNDEFINED) modules/tags/rxmlparse.pike:171: RoxenModule(entreeding.com/rxmlparse#0)->handle_file_extension(Stdio.File("/home/entreeding/extern/nieuws.rxml", "r", 666 /* fd=72 */),"rxml",RequestID(/extern/nieuws.rxml?id=382)) base_server/configuration.pike:2357: Configuration(entreeding.com)->low_get_file(@5=RequestID(/extern/nieuws.rxml?id=382),UNDEFINED) base_server/configuration.pike:2491: Configuration(entreeding.com)->get_file(@5,UNDEFINED,UNDEFINED) base_server/configuration.pike:2466: Configuration(entreeding.com)->handle_request(@5,UNDEFINED) protocols/http.pike:2823: RequestID(/extern/nieuws.rxml?id=382)->handle_request() base_server/roxen.pike:849: roxen->handler_thread(21)
Stephen R. van den Berg wrote:
Stephen R. van den Berg wrote:
I have a production machine running Roxen which crashes on an error like this roughly once a day. I'm willing to make custom changes to the
And four more backtraces since Tuesday (attached).
This is an excellent opportunity to add diagnostics, but someone will have to give me a rough sense of direction as to where to look.
I have a production machine running Roxen which crashes on an error like this roughly once a day. I'm willing to make custom changes to the
And four more backtraces since Thursday.
Anyone (mast?) have an idea where to dig for the program_id mentioned? Or do I need to add more logging to the gc.c file? It would probably be interesting to find out when this object was created. I think it should be possible to add another field to the object which logs the time of creation. Then the backtrace from that moment would be interesting; anyone have a better idea than storing a backtrace for every object as soon as it is created, yet discarding the backtrace (to conserve space) as soon as the object gets a reference?
/data/src/gpike/src/gc.c:2519: GC fatal: Marked a thing without refs. **Block: 0xb3ef74e8 Type: object Refs: 0 **Got gc marker at 0xae2c1b68: flags=0x00000 refs=0 weak=0 xrefs=0 saved=-1 frame=(nil) **Program id: 66233 **The object is not on the object link list. **The object is destructed but program found from id. ******************* **Looking for references to 0xb3ef74e8: **Done looking for references to 0xb3ef74e8, found 0 refs. Pike was in GC stage 200 when this fatal occured. Backtrace at time of fatal: /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:469: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->remove_runtime_tag(UserTag(selectcommunity),UNDEFINED) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:423: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->add_runtime_tag(@0=UserTag(selectcommunity)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:6139: RXML.t_any_text(text/*, xml)->get_parser(Context(),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set),RXML.RenewablePCode(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4684: Frame(if)->_eval(@1=Context(),@2=RXML.RenewablePCode(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),RXML.t_any_text(text/*, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.RenewablePCode(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(@1,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:9206: RXML.RenewablePCode(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(@1,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:3865: UserTag.Frame(celement)->_exec_array(@1,RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(emit+rxml_tag_set)),({@2}),"do_return") /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4825: UserTag.Frame(celement)->_eval(@1,@3=RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(emit+rxml_tag_set)),@4=RXML.t_any_text(text/*, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:459: UserTag(celement)->_p_xml_handle_tag(@3,mapping[5],"") /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(emit+rxml_tag_set))->finish("\r\n<celement\r\n title="&var.d_&_.p7;;"\r\n label="p7"\r\n elmcheck="&_.p7;>=10000"\r\n elmlabel="propval7" elmval="&form.propval7:none;"\r\n />\r\n") /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(emit+rxml_tag_set))->finish("\r\n<celement\r\n title="&var.d_&_.p7;;"\r\n label="p7"\r\n elmcheck="&_.p7;>=10000"\r\n elmlabel="propval7" elmval="&form.propval7:none;"\r\n />\r\n") /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4705: Frame(if)->_eval(@1,RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(emit+rxml_tag_set)),@4) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:459: TagIf(if)->_p_xml_handle_tag(@5=RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(emit+rxml_tag_set)),mapping[1],,,0) /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(emit+rxml_tag_set))->finish("\r\n\r\n<if variable="var.d_&_.p0;">\r\n<celement\r\n title="&var.d_&_.p0;;"\r\n label="p0"\r\n elmcheck="&_.p0;>=10000"\r\n elmlabel="propval0" elmval="&form.propval0:none;"\r\n />\r\n</if>\r\n\r\n<if variable="var.d_"+[3665]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(emit+rxml_tag_set))->finish("\r\n\r\n<if variable="var.d_&_.p0;">\r\n<celement\r\n title="&var.d_&_.p0;;"\r\n label="p0"\r\n elmcheck="&_.p0;>=10000"\r\n elmlabel="propval0" elmval="&form.propval0:none;"\r\n />\r\n</if>\r\n\r\n<if variable="var.d_"+[3665]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4705: Frame(eval)->_eval(@1,RXML.PXml(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set)),RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:459: TagEval(eval)->_p_xml_handle_tag(@6,([]),"\r\n\r\n<if variable="var.d_&_.p0;">\r\n<celement\r\n title="&var.d_&_.p0;;"\r\n label="p0"\r\n elmcheck="&_.p0;>=10000"\r\n "+[3750]) /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set))->finish("\r\n\r\n<emit query="SELECT * FROM pdlprop WHERE 0\r\n\r\n OR id_desc='&_.p0;'\r\n\r\n OR id_desc='&_.p1;'\r\n\r\n OR id_desc='&_.p2;'\r\n\r\n OR id_desc='&_.p3;'\r\n\r\n OR id_desc='&_.p4;'\r\n\r\n OR id_desc='&_.p5;'"+[4404]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PXml(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set))->finish("\r\n\r\n<emit query="SELECT * FROM pdlprop WHERE 0\r\n\r\n OR id_desc='&_.p0;'\r\n\r\n OR id_desc='&_.p1;'\r\n\r\n OR id_desc='&_.p2;'\r\n\r\n OR id_desc='&_.p3;'\r\n\r\n OR id_desc='&_.p4;'\r\n\r\n OR id_desc='&_.p5;'"+[4404]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4705: Frame(emit)->_eval(@1,RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@7=RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:459: TagEmit(emit)->_p_xml_handle_tag(@8,mapping[2],"\r\n\r\n<emit query="SELECT * FROM pdlprop WHERE 0\r\n\r\n OR id_desc='&_.p0;'\r\n\r\n OR id_desc='&_.p1;'\r\n\r\n OR "+[4495]) /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("\r\n\r\n<emit source="sql"\r\n query="SELECT * FROM pdlnode\r\n WHERE id_pdlnode='&form._id_pdlnode;';">\r\n\r\n<emit query="SELECT * FROM pdlprop WHERE 0\r\n\r\n OR id_desc='&_.p0;'\r\n\r\n OR id_desc='&_.p1"+[4517]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("\r\n\r\n<emit source="sql"\r\n query="SELECT * FROM pdlnode\r\n WHERE id_pdlnode='&form._id_pdlnode;';">\r\n\r\n<emit query="SELECT * FROM pdlprop WHERE 0\r\n\r\n OR id_desc='&_.p0;'\r\n\r\n OR id_desc='&_.p1"+[4517]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:3819: Frame(eval)->_exec_array(@1,RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),({"\r\n\r\n<emit source="sql"\r\n query="SELECT * FROM pdlnode\r\n WHERE id_pdlnode='&form._id_pdlnode;';">\r"+[4610]}),"do_return") /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4825: Frame(eval)->_eval(@1,@9=RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@7) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:459: TagEval(eval)->_p_xml_handle_tag(@9,([]),"\r\n<noparse>\r\n<emit source="sql"\r\n query="SELECT * FROM pdlnode\r\n WHERE id_pdlnode='&form._id_pdlnode;';">\r\n</noparse>\r\n<maketag name=emit type=container>\r\n <attrib name=source>sql</att"+[674]) /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("\n<if\n match="hidden == hidden"\n ><if not variable="form._rdonly"\n ><input type=hidden name=_id_pdlnode value="&form.id_pdlnode:html;"/></if></if><else\n ><tr><td></td><td colspan="&var.columns;"><"+[16928]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("\n<if\n match="hidden == hidden"\n ><if not variable="form._rdonly"\n ><input type=hidden name=_id_pdlnode value="&form.id_pdlnode:html;"/></if></if><else\n ><tr><td></td><td colspan="&var.columns;"><"+[16928]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4705: Frame(else)->_eval(@1,RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@7) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:459: TagElse(else)->_p_xml_handle_tag(@10,([]),"\n<if\n match="hidden == hidden"\n ><if not variable="form._rdonly"\n ><input type=hidden name=_id_pdlnode value="+[17014]) /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("\n<form method=post action="&page.url:none;">\n<table border=0>\n\n<define tag=buttons>\n<if not variable="form._rdonly">\n<table width="100%"><tr><td width="50%" align=left nowrap>\n<if variable="var._g"+[30512]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("\n<form method=post action="&page.url:none;">\n<table border=0>\n\n<define tag=buttons>\n<if not variable="form._rdonly">\n<table width="100%"><tr><td width="50%" align=left nowrap>\n<if variable="var._g"+[30512]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4705: Frame(else)->_eval(@1,RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@7) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:459: TagElse(else)->_p_xml_handle_tag(@11,([]),"\n<form method=post action="&page.url:none;">\n<table border=0>\n\n<define tag=buttons>\n<if not variable="form._rd"+[30598]) /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("<if\n variable="form._duplicate">\n <set variable="form._paste" value="_duplicate"/>\n</if\n><if variable="form._paste">\n<set\n variable="form.id_pdloffer" value="&cookie.clipboard;"\n/>\n</if>\n\n\n\n\n\n\n\n<i"+[47475]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("<if\n variable="form._duplicate">\n <set variable="form._paste" value="_duplicate"/>\n</if\n><if variable="form._paste">\n<set\n variable="form.id_pdloffer" value="&cookie.clipboard;"\n/>\n</if>\n\n\n\n\n\n\n\n<i"+[47475]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:3819: Frame(template)->_exec_array(@1,RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),({"<if\n variable="form._duplicate">\n <set variable="form._paste" value="_duplicate"/>\n</if\n><if variable="+[47569]}),"do_return") /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4825: Frame(template)->_eval(@1,@12=RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@7) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->_eval(@1,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4775: Frame(if)->_eval(@1,RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@7) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->_eval(@1,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8243: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->eval(@1,UNDEFINED) modules/tags/rxmlparse.pike:171: RoxenModule(entreeding.com/rxmlparse#0)->handle_file_extension(Stdio.File("/home/entreeding/info/businesscard-invitem.rxml", "r", 666 /* fd=88 */),"rxml",RequestID(/info/businesscard-invitem.rxml?parent=397601&sort=&invno=12)) base_server/configuration.pike:2357: Configuration(entreeding.com)->low_get_file(@13=RequestID(/info/businesscard-invitem.rxml?parent=397601&sort=&invno=12),UNDEFINED) base_server/configuration.pike:2491: Configuration(entreeding.com)->get_file(@13,UNDEFINED,UNDEFINED) base_server/configuration.pike:2466: Configuration(entreeding.com)->handle_request(@13,UNDEFINED) protocols/http.pike:2823: RequestID(/info/businesscard-invitem.rxml?parent=397601&sort=&invno=12)->handle_request() base_server/roxen.pike:849: roxen->handler_thread(20)
/data/src/gpike/src/gc.c:2519: GC fatal: Marked a thing without refs. **Block: 0xb1e9fef0 Type: object Refs: 0 **Got gc marker at 0xa9bd248: flags=0x00000 refs=0 weak=0 xrefs=0 saved=-1 frame=(nil) **Program id: 66124 **The object is not on the object link list. **The object is destructed but program found from id. ******************* **Looking for references to 0xb1e9fef0: **Done looking for references to 0xb1e9fef0, found 0 refs. Pike was in GC stage 200 when this fatal occured. Backtrace at time of fatal: /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:5233: RXML->rxml_index(mapping[9],"minpropval","var",Context(),RXML.t_any_text(text/*, none)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:1766: Context()->get_var(({"minpropval"}),"var",@0=RXML.t_any_text(text/*, none)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7455: RXML.VarRef(var.minpropval)->get(@1=Context()) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8885: RXML.PCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->_eval(@1,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4775: Frame(if)->_eval(@1,RXML.RenewablePCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),RXML.t_xml(text/xml, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.RenewablePCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->_eval(@1,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:9206: RXML.RenewablePCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->_eval(@1,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:3865: UserTag.Frame(checkproperty)->_exec_array(@1,RXML.PCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),({@2=RXML.RenewablePCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))}),"do_return") /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4825: UserTag.Frame(checkproperty)->_eval(@1,@3=RXML.PCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),@4=RXML.t_xml(text/xml, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->_eval(@1,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4775: Frame(define)->_eval(@1,RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->_eval(@1,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4775: Frame(if)->_eval(@1,RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@5=RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->_eval(@1,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8243: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->eval(@1,UNDEFINED) modules/tags/rxmlparse.pike:171: RoxenModule(entreeding.com/rxmlparse#0)->handle_file_extension(Stdio.File("/home/entreeding/info/zoekresultaat.rxml", "r", 666 /* fd=69 */),"rxml",RequestID(/info/zoekresultaat.rxml?_id_pdlnode=1686)) base_server/configuration.pike:2357: Configuration(entreeding.com)->low_get_file(@6=RequestID(/info/zoekresultaat.rxml?_id_pdlnode=1686),UNDEFINED) base_server/configuration.pike:2491: Configuration(entreeding.com)->get_file(@6,UNDEFINED,UNDEFINED) base_server/configuration.pike:2466: Configuration(entreeding.com)->handle_request(@6,UNDEFINED) protocols/http.pike:2823: RequestID(/info/zoekresultaat.rxml?_id_pdlnode=1686)->handle_request() base_server/roxen.pike:849: roxen->handler_thread(24)
/data/src/gpike/src/gc.c:2519: GC fatal: Marked a thing without refs. **Block: 0xa9d8980 Type: object Refs: 0 **Got gc marker at 0xb1d65b80: flags=0x00000 refs=0 weak=0 xrefs=0 saved=-1 frame=(nil) **Program id: 66463 **The object is not on the object link list. **The object is destructed but program found from id. ******************* **Looking for references to 0xa9d8980: **Done looking for references to 0xa9d8980, found 0 refs. Pike was in GC stage 200 when this fatal occured. Backtrace at time of fatal: -:1: _static_modules.Builtin()->single_string_replace()->`()("/images/user/254231/art.100351200.jpeg") base_server/configuration.pike:3003: Configuration(entreeding.com)->real_file("/images/user/254231/art.100351200.jpeg",RequestID(/info/businesscard-inventory.rxml?parent=254231)) modules/graphics/cimg.pike:328: RoxenModule(entreeding.com/cimg#0)->get_my_args(mapping[10],@0=RequestID(/info/businesscard-inventory.rxml?parent=254231)) modules/graphics/cimg.pike:430: Frame(cimg)->do_return(@0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4821: Frame(cimg)->_eval(Context(),RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set)),RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set))->_eval(@1=Context(),0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4775: Frame(if)->_eval(@1,RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set)),@2=RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set))->_eval(@1,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4775: Frame(emit)->_eval(@1,RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@2) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->_eval(@1,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4775: Frame(if)->_eval(@1,RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@2) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->_eval(@1,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8243: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->eval(@1,UNDEFINED) modules/tags/rxmlparse.pike:171: RoxenModule(entreeding.com/rxmlparse#0)->handle_file_extension(Stdio.File("/home/entreeding/info/businesscard-inventory.rxml", "r", 666 /* fd=76 */),"rxml",@0) base_server/configuration.pike:2357: Configuration(entreeding.com)->low_get_file(@0,UNDEFINED) base_server/configuration.pike:2491: Configuration(entreeding.com)->get_file(@0,UNDEFINED,UNDEFINED) base_server/configuration.pike:2466: Configuration(entreeding.com)->handle_request(@0,UNDEFINED) protocols/http.pike:2823: RequestID(/info/businesscard-inventory.rxml?parent=254231)->handle_request() base_server/roxen.pike:849: roxen->handler_thread(6)
/data/src/gpike/src/gc.c:2519: GC fatal: Marked a thing without refs. **Block: 0xaf32900 Type: object Refs: 0 **Got gc marker at 0xb921bb8: flags=0x00000 refs=0 weak=0 xrefs=0 saved=-1 frame=(nil) **Program id: 65540 **The object is not on the object link list. **The object is destructed but program found from id. ******************* **Looking for references to 0xaf32900: **Done looking for references to 0xaf32900, found 0 refs. Pike was in GC stage 200 when this fatal occured. Backtrace at time of fatal: /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8910: RXML.PCode(RXML.t_string(string, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(Context(),0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4775: Frame(replace)->_eval(@0=Context(),RXML.PCode(RXML.t_any(any, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),RXML.t_any(any, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_any(any, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4775: Frame(set)->_eval(@0,RXML.RenewablePCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),RXML.t_xml(text/xml, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.RenewablePCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:9206: RXML.RenewablePCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:3865: UserTag.Frame(converttexttourl)->_exec_array(@0,RXML.PCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),({@1=RXML.RenewablePCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))}),,,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4825: UserTag.Frame(converttexttourl)->_eval(@0,@2=RXML.PCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),@3=RXML.t_xml(text/xml, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_xml(text/xml, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4775: Frame(define)->_eval(@0,RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set)),RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4775: Frame(emit)->_eval(@0,RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set)),@4=RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4775: Frame(emit)->_eval(@0,RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@4) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8835: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8243: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->eval(@0,UNDEFINED) modules/tags/rxmlparse.pike:171: RoxenModule(entreeding.com/rxmlparse#0)->handle_file_extension(Stdio.File("/home/entreeding/extern/nieuws.rxml", "r", 666 /* fd=42 */),"rxml",RequestID(/extern/nieuws.rxml?id=1557)) base_server/configuration.pike:2357: Configuration(entreeding.com)->low_get_file(@5=RequestID(/extern/nieuws.rxml?id=1557),UNDEFINED) base_server/configuration.pike:2491: Configuration(entreeding.com)->get_file(@5,UNDEFINED,UNDEFINED) base_server/configuration.pike:2466: Configuration(entreeding.com)->handle_request(@5,UNDEFINED) protocols/http.pike:2823: RequestID(/extern/nieuws.rxml?id=1557)->handle_request() base_server/roxen.pike:849: roxen->handler_thread(13)
Looks a lot like https://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5072. Here's a bit of what I wrote in that ticket:
Since the previous check didn't catch anything, that means refs are changed while the object is in the gc queue. That's an indication that it has something to do with the clearing of weak references, probably from a mapping since that data structure has the most complex weak ref handling. I still don't understand the chain of events that leads up to the failure, though. Knowing which object is involved could give a hint, and it's the best I can think of right now. The gc internal debug logging would provide the really useful info, but it's not practical to turn on in a production environment since it can easily log half a gig or more for a single gc run.
This is from a fresh 7.8? More specifically, one from cvs after Nov 28th, when I added some debug for [bug 5072]? Can you run with a version compiled using --with-rtldebug? It's not that much slower.
Anyone (mast?) have an idea where to dig for the program_id mentioned?
The id is bigger than PROG_DYNAMIC_ID_START, so it's a program without a fixed id. It's also the fourth program that got registered by low_allocate_program, so it's probably a C program. You could set a breakpoint there and check current_program_id to find out which it is.
Or do I need to add more logging to the gc.c file?
What would be useful is debug when gc_mark_enqueue is run - log the pointer (data) and the number of refs (*(INT32 *) data). But it's probably not feasible if your server has a big memory footprint; not even GC_VERBOSE logs that.
It would probably be interesting to find out when this object was created.
Yes, that could give a clue, but the really valuable info is what kind of things were referencing the object, e.g. some weak mapping as suspected above.
I think it should be possible to add another field to the object which logs the time of creation. Then the backtrace from that moment would be interesting; anyone have a better idea than storing a backtrace for every object as soon as it is created, yet discarding the backtrace (to conserve space) as soon as the object gets a reference?
--with-dmalloc-c-stack-trace does that, but then you're running with dmalloc which is probably too slow. It should be possible to rip out the location tracking from dmalloc so that it only logs this. Then I it could be fast enough. But afaik there's no ready-made define for that.
Martin Stjernholm, Roxen IS @ Pike developers forum wrote:
Looks a lot like https://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5072. Here's a bit of what I wrote in that ticket:
It sure does.
This is from a fresh 7.8? More specifically, one from cvs after Nov 28th, when I added some debug for [bug 5072]? Can you run with a version compiled using --with-rtldebug? It's not that much slower.
The traces I gave you are *with* rtldebug already (you wouldn't be seeing the problem otherwise), and yes, it's from a recent version (like the end of January 2010).
In relation to the suspicions on binary modules, the server where this happens in is compiled without Java support, and it doesn't use any other databases than mysql.
Anyone (mast?) have an idea where to dig for the program_id mentioned?
The id is bigger than PROG_DYNAMIC_ID_START, so it's a program without a fixed id. It's also the fourth program that got registered by low_allocate_program, so it's probably a C program. You could set a breakpoint there and check current_program_id to find out which it is.
Running the production server in gdb is going to be tricky, so this is not something I'm likely to try first (unless you say it helps tremendously in locating the problem).
Or do I need to add more logging to the gc.c file?
What would be useful is debug when gc_mark_enqueue is run - log the pointer (data) and the number of refs (*(INT32 *) data). But it's probably not feasible if your server has a big memory footprint; not even GC_VERBOSE logs that.
I'll see what I can do. I have over 100GB of spare room on a logpartition, so if this doesn't slow down the server too much, it might be doable.
It would probably be interesting to find out when this object was created.
Yes, that could give a clue, but the really valuable info is what kind of things were referencing the object, e.g. some weak mapping as suspected above.
The first clue to that is finding out what this object contained (or was supposed to contain); looking at the current trace, it seems like this intel is already lost at this point?
I think it should be possible to add another field to the object which logs the time of creation. Then the backtrace from that moment would be interesting; anyone have a better idea than storing a backtrace for every object as soon as it is created, yet discarding the backtrace (to conserve space) as soon as the object gets a reference?
--with-dmalloc-c-stack-trace does that, but then you're running with dmalloc which is probably too slow. It should be possible to rip out the location tracking from dmalloc so that it only logs this. Then I it could be fast enough. But afaik there's no ready-made define for that.
I'll look into this.
Running the production server in gdb is going to be tricky, so this is not something I'm likely to try first (unless you say it helps tremendously in locating the problem).
It'd only be applicable for programs allocated early when the order still is deterministic. E.g. 65540 which I was looking at is the fourth program with a dynamic id, and that's so early it's probably the same in all 7.8's. I get the trampoline program for it in my pike.
That's kinda interesting, but I see now the program ids are wildly different (12 - String.Buffer, 65540 - trampoline, 65596 - bignum, 66124, 66233, 66463, 595065) so the theory that it'd be some specific structure is busted.
I'll see what I can do. I have over 100GB of spare room on a logpartition, so if this doesn't slow down the server too much, it might be doable.
I believe at least GC_VERBOSE would cause enough load and I/O to be a significant slowdown even when logging to local disk, but maybe some custom made terse debug would cut it.
/.../ looking at the current trace, it seems like this intel is already lost at this point?
Yes, because the objects are destructed.
Hmm, considering the debug check at svalue.c:2316 it must happen while the object is in the queue, and that should be easy to check. Here's a patch that strengthens those debug checks. Could you please try it? Be prepared to back it out quickly though, because I'm not entirely sure it's correct (that o->next != o condition is suspicious).
Index: src/object.c =================================================================== RCS file: /pike/data/cvsroot/Pike/7.8/src/object.c,v retrieving revision 1.305 diff -u -r1.305 object.c --- src/object.c 9 Feb 2010 12:30:25 -0000 1.305 +++ src/object.c 1 Mar 2010 20:51:20 -0000 @@ -807,7 +807,11 @@ SET_ONERROR(uwp, fatal_on_error, "Shouldn't get an exception in destruct().\n"); if(d_flag > 20) do_debug(); + + if (Pike_in_gc >= GC_PASS_PRETOUCH && Pike_in_gc < GC_PASS_FREE) + gc_fatal (o, 1, "Destructing objects is not allowed inside the gc.\n"); #endif + #ifdef GC_VERBOSE if (Pike_in_gc > GC_PASS_PREPARE) { fprintf(stderr, "| Destructing %p with %d refs", o, o->refs); @@ -1020,8 +1024,8 @@ #endif Pike_fatal("Object got %d references in schedule_really_free_object().\n", o->refs); } - if (Pike_in_gc > GC_PASS_PREPARE && Pike_in_gc < GC_PASS_FREE && o->next != o) - Pike_fatal("Freeing objects is not allowed inside the gc.\n"); + if (Pike_in_gc > GC_PASS_PREPARE && Pike_in_gc < GC_PASS_FREE /* && o->next != o*/) + gc_fatal(o, 0, "Freeing objects is not allowed inside the gc.\n"); #endif
debug_malloc_touch(o);
Martin Stjernholm, Roxen IS @ Pike developers forum wrote:
Hmm, considering the debug check at svalue.c:2316 it must happen while the object is in the queue, and that should be easy to check. Here's a patch that strengthens those debug checks. Could you please try it? Be prepared to back it out quickly though, because I'm not entirely sure it's correct (that o->next != o condition is suspicious).
Running with it since last night. So far, so good.
Stephen R. van den Berg wrote:
Martin Stjernholm, Roxen IS @ Pike developers forum wrote:
Hmm, considering the debug check at svalue.c:2316 it must happen while the object is in the queue, and that should be easy to check. Here's a patch that strengthens those debug checks. Could you please try it? Be prepared to back it out quickly though, because I'm not entirely sure it's correct (that o->next != o condition is suspicious).
Running with it since last night. So far, so good.
Sorry, same problem, and no extra diagnostics, so that isn't it.
/data/src/gpike/src/gc.c:2519: GC fatal: Marked a thing without refs. **Block: 0xa1cf1e0 Type: object Refs: 0 **Got gc marker at 0xb37d6fa8: flags=0x00000 refs=0 weak=0 xrefs=0 saved=-1 frame=(nil) **Program id: 518310 **The object is not on the object link list. **The object is destructed and program not found from id. ******************* **Looking for references to 0xa1cf1e0: **Done looking for references to 0xa1cf1e0, found 0 refs. Pike was in GC stage 200 when this fatal occurred. Backtrace at time of fatal: /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8910: RXML.PCode(RXML.t_string(string, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(Context(),0)
Hmm, considering the debug check at svalue.c:2316 it must happen while the object is in the queue, and that should be easy to check. Here's a patch that strengthens those debug checks. Could you please try it? Be prepared to back it out quickly though, because I'm not entirely sure it's correct (that o->next != o condition is suspicious).
I'm running with these and with GC_VERBOSE turned on now. So far the slowdown is insignificant, and the amount of logdata is not a real problem.
Martin Stjernholm, Roxen IS @ Pike developers forum wrote:
I'm running with these and with GC_VERBOSE turned on now. So far the slowdown is insignificant, and the amount of logdata is not a real problem.
Oh? Very well then. Ought to give something to go on, I hope.
Well, here are the results of the jury, and the results are inconclusive as far as I am concerned, but maybe you see more in it:
Garbage collecting... | check: 8767 references in 472 things, counted 3 weak refs | mark: 2936 markers referenced, 0 weak references freed, | 3 things to free, got 0 tricky weak refs | cycle: 23 internal things visited, | 0 weak references freed, 0 more things to free, | 0 mark live visits, 0 frame rotations, | 22 links searched, used max 31 link frames, | 9 rec frames and 0 free extra frames | free: 23 unreferenced, 23 really freed, 0 left with live references | kill: 0 objects killed, 0 things really freed | destruct: 0 things really freed done (23 of 472 were unreferenced), 1 ms Garbage collecting... | check: 13557 references in 2109 things, counted 14 weak refs | mark: 5437 markers referenced, 0 weak references freed, | 13 things to free, got 0 tricky weak refs | cycle: 13 internal things visited, | 0 weak references freed, 0 more things to free, | 0 mark live visits, 0 frame rotations, | 0 links searched, used max 2 link frames, | 1 rec frames and 0 free extra frames | free: 13 unreferenced, 13 really freed, 0 left with live references | kill: 0 objects killed, 0 things really freed | destruct: 0 things really freed done (13 of 2109 were unreferenced), 2 ms Garbage collecting... | check: 45721 references in 7083 things, counted 184 weak refs | mark: 15850 markers referenced, 0 weak references freed, | 83 things to free, got 0 tricky weak refs | cycle: 83 internal things visited, | 0 weak references freed, 0 more things to free, | 0 mark live visits, 0 frame rotations, | 0 links searched, used max 2 link frames, | 1 rec frames and 0 free extra frames | free: 83 unreferenced, 83 really freed, 0 left with live references | kill: 0 objects killed, 0 things really freed | destruct: 0 things really freed done (83 of 7083 were unreferenced), 8 ms Done [1496.2ms] Garbage collecting... | check: 100566 references in 18550 things, counted 863 weak refs | mark: 29590 markers referenced, 0 weak references freed, | 230 things to free, got 1 tricky weak refs | cycle: 1058 internal things visited, | 0 weak references freed, 1 more things to free, | 35 mark live visits, 0 frame rotations, | 4 links searched, used max 224 link frames, | 206 rec frames and 0 free extra frames | zap weak: freed 0 external weak refs, 1 internal still around, | 0 more things to free | free: 1058 unreferenced, 82 really freed, 976 left with live references | Killing 0xa0dfc48 with 1 refs, prog src/program.c:9997 | Killing 0xa0dee98 with 1 refs, prog src/program.c:9997 | Killing 0xa0e6950 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e6938 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa0e6968 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa0e62a8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa0e6290 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa0e62f0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa0e62c0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e5f48 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e5f30 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e5f90 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:936 | Killing 0xa0e5f60 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e6068 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1064 | Killing 0xa0e6020 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1095 | Killing 0xa0e6050 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e5fd8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e5fc0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1806 | Killing 0xa0e5ee8 with 1 refs, prog src/modules/Gmp/mpz_glue.c:2467 | Killing 0xa0e5ed0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1250 | Killing 0xa0e5f00 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:906 | Killing 0xa0e5eb8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e5ea0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e5e88 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e5e70 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1250 | Killing 0xa0e5e58 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e5e40 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e5e28 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:906 | Killing 0xa0e5e10 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:906 | Killing 0xa0e5df8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e5de0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e5dc8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e5db0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa0e5d98 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa0e5d80 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1258 | Killing 0xa0e5d68 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa0e5d50 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa0e5d38 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1258 | Killing 0xa0e5d20 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa0e5d08 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1258 | Killing 0xa0e5cf0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa0e57c8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e55e8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:936 | Killing 0xa0e55d0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:906 | Killing 0xa0e5450 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1806 | Killing 0xa0e5438 with 1 refs, prog src/modules/Gmp/mpz_glue.c:2467 | Killing 0xa0e5408 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e5330 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e52e8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:936 | Killing 0xa178138 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:906 | Killing 0xa178120 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:906 | Killing 0xa178150 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:906 | Killing 0xa178180 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:936 | Killing 0xa1781e0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:906 | Killing 0xa1781f8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:906 | Killing 0xa177f40 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:906 | Killing 0xa177f28 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:906 | Killing 0xa177f10 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:936 | Killing 0xa177ef8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:906 | Killing 0xa177ee0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa177ec8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa177eb0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa177e98 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa177e80 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa177b50 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1064 | Killing 0xa177b20 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1095 | Killing 0xa177a48 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa177a00 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1779b8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1806 | Killing 0xa177988 with 1 refs, prog src/modules/Gmp/mpz_glue.c:2467 | Killing 0xa177958 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa177910 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1778c8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa177880 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa177838 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1777f0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1777a8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa177760 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1403 | Killing 0xa177718 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1776d0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa177688 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:906 | Killing 0xa177640 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:906 | Killing 0xa1775f8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1806 | Killing 0xa1775c8 with 1 refs, prog src/modules/Gmp/mpz_glue.c:2467 | Killing 0xa176830 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa176668 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa176650 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa176680 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1766b0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1c7898 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:936 | Killing 0xa1c7880 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1806 | Killing 0xa1c78e0 with 1 refs, prog src/modules/Gmp/mpz_glue.c:2467 | Killing 0xa1c78f8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1806 | Killing 0xa1c7850 with 1 refs, prog src/modules/Gmp/mpz_glue.c:2467 | Killing 0xa1c7628 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:906 | Killing 0xa1c7610 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1806 | Killing 0xa1c7640 with 1 refs, prog src/modules/Gmp/mpz_glue.c:2467 | Killing 0xa1c7490 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1036 | Killing 0xa1c7460 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1036 | Killing 0xa1c7388 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1036 | Killing 0xa1c7340 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1036 | Killing 0xa1c6dd0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1806 | Killing 0xa1c6de8 with 1 refs, prog src/modules/Gmp/mpz_glue.c:2467 | Killing 0xa1c6c38 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1036 | Killing 0xa1c6c98 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1250 | Killing 0xa1c6c68 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1c6cc8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1064 | Killing 0xa1c6c08 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:936 | Killing 0xa1c6bf0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1806 | Killing 0xa1c6bc0 with 1 refs, prog src/modules/Gmp/mpz_glue.c:2467 | Killing 0xa1c6ba8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1c6bd8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1c6b90 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1c6b78 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1c6b60 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa1c6b48 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:936 | Killing 0xa1c6b30 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa1c6b18 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:936 | Killing 0xa1c6b00 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa1c6ae8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:936 | Killing 0xa1c6ad0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1258 | Killing 0xa1c6ab8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1258 | Killing 0xa1c6aa0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1c6a88 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa1c6a70 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa1c6a58 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa1c6a40 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa1c6a28 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1c6a10 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1c65f0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:936 | Killing 0xa1c65d8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa1c62d8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1806 | Killing 0xa1c62f0 with 1 refs, prog src/modules/Gmp/mpz_glue.c:2467 | Killing 0xa1c6320 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1c62c0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1c6398 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1c6368 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1c6350 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1c6338 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1c6290 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1c6278 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa1c5c00 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:597 | Killing 0xa256518 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:906 | Killing 0xa2564e8 with 1 refs, prog /data/src/groxen/server/modules/database/sqltag.pike:899 | Killing 0xa256410 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa2563c8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:906 | Killing 0xa256380 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa256338 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:906 | Killing 0xa255f00 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1064 | Killing 0xa255ee8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1064 | Killing 0xa255f18 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1036 | Killing 0xa255f48 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa255cc0 with 1 refs, prog /usr/roxen/local/modules/custom/userdb_sql1.pike:346 | Killing 0xa255ba0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1250 | Killing 0xa255b88 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa255b70 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa255b58 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa255b40 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa255b28 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:801 | Killing 0xa255840 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/Variable.pmod/module.pmod:1994 | Killing 0xa0e6ba8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xb440ff80 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xb440fef0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xb440f068 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xb440ef90 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xb440ef60 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xb440eeb8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xb440ede0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xb440edb0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xb440e528 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xb440e450 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xb440e420 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xb444ae88 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xb444a7f8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xb444a660 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xb444a588 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xb444a558 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xb444a540 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xb444a3f0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa333548 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa3334a0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa333470 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa333038 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa332e88 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa333d58 with 2 refs, prog src/program.c:9997 | Killing 0xa333518 with 1 refs, prog src/modules/Parser/parser.c:181 | Killing 0xa333218 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa3332c0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa332cf0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa332480 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa3322b8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa332210 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa3321e0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa332378 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa3327c8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa333710 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xb444ac78 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xb449f570 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xb449f360 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xb449f288 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xb449f258 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa4212d8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa421020 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa420f00 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa420dc8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | kill: 205 objects killed, 939 things really freed | destruct: 37 things really freed done (1058 of 18550 were unreferenced), 36 ms Garbage collecting... | check: 149631 references in 30944 things, counted 744 weak refs | mark: 41809 markers referenced, 0 weak references freed, | 90 things to free, got 0 tricky weak refs | cycle: 3256 internal things visited, | 0 weak references freed, 1 more things to free, | 246 mark live visits, 0 frame rotations, | 515 links searched, used max 375 link frames, | 116 rec frames and 7 free extra frames | free: 3256 unreferenced, 1277 really freed, 1979 left with live references | Killing 0xb44a0260 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa421500 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa333698 with 2 refs, prog /usr/local/pike/7.8.409/lib/modules/Protocols.pmod/DNS.pmod:1355 | Killing 0xa3336c8 with 2 refs, prog /usr/local/pike/7.8.409/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike:0 | Killing 0xa3334e8 with 1 refs, prog /usr/local/pike/7.8.409/lib/modules/Stdio.pmod/module.pmod:137 | Killing 0xa333440 with 1 refs, prog src/modules/files/file.c:4928 | Killing 0xa3336e0 with 1 refs, prog /usr/local/pike/7.8.409/lib/modules/Thread.pmod:278 | Killing 0xa4a08a0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa4a0d80 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa4a0c90 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa4a0c18 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa4a0828 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa4a07f8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa4a0e58 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa4a0eb8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa4a08d0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa4a0a08 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa4a0cc0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa4a0960 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa4a0870 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa4a0678 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa4a03c0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa4a0d68 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa49fe98 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa49fdf0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa49fdc0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa49fbb0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa49f9b8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa49f8f8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa49f820 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa49f7f0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa1775f8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa1776a0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa177700 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa0e7040 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa256428 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa2564d0 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xb449f600 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa177970 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa177ee0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa4a04b0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa49f8c8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa3b3590 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa3b3248 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa3b2cd8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa332210 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa177a48 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa548c08 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa422208 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa422100 with 10 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa421050 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa4a09f0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa3b3338 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa3b2d50 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa3b2b40 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa547618 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa4225f8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa422580 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa5472b8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xb440e5b8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xb440e108 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa3b3398 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa3b3848 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa3b3410 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa3b3728 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa49f088 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa454b50 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa454970 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa454688 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa454598 with 3 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa454388 with 3 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa5f5038 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa7b5fc0 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa7b5a80 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa7b6a70 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa6f26f0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa6f2a38 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xb44492b0 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa547060 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa62fe08 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa64b320 with 2 refs, prog /usr/local/pike/7.8.409/lib/modules/Protocols.pmod/DNS.pmod:1355 | Killing 0xa64b2c0 with 2 refs, prog src/program.c:9997 | Killing 0xa64b2f0 with 1 refs, prog src/modules/Parser/parser.c:181 | Killing 0xa64b350 with 2 refs, prog /usr/local/pike/7.8.409/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike:0 | Killing 0xa64b308 with 1 refs, prog /usr/local/pike/7.8.409/lib/modules/Stdio.pmod/module.pmod:137 | Killing 0xa64b2a8 with 1 refs, prog src/modules/files/file.c:4928 | Killing 0xa64b368 with 1 refs, prog /usr/local/pike/7.8.409/lib/modules/Thread.pmod:278 | Killing 0xa454538 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa53bcf8 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa53b578 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa53a978 with 3 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa53be60 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa53bab8 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa466710 with 5 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa421380 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xb440fc50 with 2 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:7865 | Killing 0xa465810 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:0 | Killing 0xa8bc0c8 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | Killing 0xa8bc098 with 1 refs, prog /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PEnt.pike:0 | kill: 99 objects killed, 1702 things really freed | destruct: 9 things really freed done (3256 of 30944 were unreferenced), 69 ms Garbage collecting... | check: 184183 references in 42058 things, counted 746 weak refs /data/src/gpike/src/gc.c:2519: GC fatal: Marked a thing without refs. **Block: 0xa62ea10 Type: object Refs: 0 **Got gc marker at 0xaad8718: flags=0x00000 refs=0 weak=0 xrefs=0 saved=-1 frame=(nil) **Program id: 10 **The object is not on the object link list. **The object is destructed but program found from id. ******************* **Looking for references to 0xa62ea10: **Done looking for references to 0xa62ea10, found 0 refs. Pike was in GC stage 200 when this fatal occurred. Backtrace at time of fatal:
Any more verbosity I can/should add?
I noticed I have another one. This ran all night, then crashed, but it gives just as little clues, IMO (but if you'd like to see it, I can mail it). Hmmm, seems like as soon as load on the server increased, it took a mere 15 minutes for it to crash again. Usually this was around 24 hours.
No, that was not the debug I expected. I think I confused this with the GC_CYCLE_DEBUG, but that one won't be helpful here. I'm sorry for the confusion.
Looking around in the code some more I actually think the C stack might provide some clues (didn't think so before because of the queue system in the mark pass). Could you please post a couple of gdb backtraces, preferably but not necessarily together with the stderr log?
Martin Stjernholm, Roxen IS @ Pike developers forum wrote:
Looking around in the code some more I actually think the C stack might provide some clues (didn't think so before because of the queue system in the mark pass). Could you please post a couple of gdb backtraces, preferably but not necessarily together with the stderr log?
The first core is in: (I am keeping the cores around, BTW, so I'm able to check specific locations for values, either in the heap or on the stack; just ask).
#6 0x08112791 in debug_gc_fatal_2 (a=0xb35dbd40, type=3, flags=1, fmt=0x82efc13 "Marked a thing without refs.\n") at /data/src/gpike/src/gc.c:1041 #7 0x081128e9 in real_gc_mark (a=0xb35dbd40, type=3) at /data/src/gpike/src/gc.c:2519 #8 0x081687ec in gc_mark_object_as_referenced (o=0xb35dbd40) at /data/src/gpike/src/object.c:2035 #9 0x081c93a3 in run_queue (q=0x837893c) at /data/src/gpike/src/queue.c:48 #10 0x0811468c in do_gc (ignored=0x8b115b8, explicit_call=0) at /data/src/gpike/src/gc.c:3545 #11 0x080e08f0 in low_call_callback (lst=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece. ) at /data/src/gpike/src/callback.c:168 #12 0x08096086 in low_mega_apply (type=APPLY_LOW, args=<value optimized out>, ---Type <return> to continue, or q <return> to quit--- arg1=0x8c6a278, arg2=0x0) at /data/src/gpike/src/apply_low.h:225 #13 0x0809c00b in jump_opcode_F_CALL_OTHER (arg1=1) at /data/src/gpike/src/interpret_functions.h:2070 #14 0xb453b18f in ?? () #15 0x080938e4 in eval_instruction ( pc=0xb6de49bf "\213\r\020|7\b\270A\266!I\367؉A\034\350\034\006*Q\213\r\020|7\b\270,\266!I\367؉A\034\203A\034\020\307\004$\001") at /data/src/gpike/src/interpret.c:1421 #16 0x0809441f in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #17 0x0809467b in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #18 0xb6d2b62d in ?? () #19 0x080938e4 in eval_instruction ( pc=0xb6d2b580 "\213\r\020|7\b\270\200J-I\367؉A\034\307\004$\001") at /data/src/gpike/src/interpret.c:1421 #20 0x08097f28 in mega_apply (type=APPLY_STACK, args=2, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #21 0x0809a4a9 in f_call_function (args=2) at /data/src/gpike/src/interpret.c:2266 #22 0x081c88aa in new_thread_func (data=0xbfa040cc) at /data/src/gpike/src/threads.c:1111 #23 0xb7f25585 in start_thread (arg=0xb49c7b70) at pthread_create.c:300 ---Type <return> to continue, or q <return> to quit--- #24 0xb7e742be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 (gdb)
Stderr output: /data/src/gpike/src/gc.c:2519: GC fatal: Marked a thing without refs. **Block: 0xb35dbd40 Type: object Refs: 0 **Got gc marker at 0xb1b0f890: flags=0x00000 refs=0 weak=0 xrefs=0 saved=-1 frame=(nil) **Program id: 166647 **The object is not on the object link list. **The object is destructed and program not found from id. ******************* **Looking for references to 0xb35dbd40: **Done looking for references to 0xb35dbd40, found 0 refs. Pike was in GC stage 200 when this fatal occurred. Backtrace at time of fatal: -:1: _cur_rxml_context->get() modules/tags/rxmltags.pike:4848: UserTag.Frame(showday)->do_enter(RequestID(/m/ember/smsoutbox3.rxml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4654: UserTag.Frame(showday)->_eval(Context(),RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:9027: RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(@0=Context(),0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4923: Frame(if)->_eval(@0,RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),@1=RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:9027: RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4923: Frame(else)->_eval(@0,RXML.RenewablePCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),@1) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:9027: RXML.RenewablePCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:9398: RXML.RenewablePCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:3957: UserTag.Frame(showdatetime)->_exec_array(@0,RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set)),({@2=RXML.RenewablePCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))}),"do_return") /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4990: UserTag.Frame(showdatetime)->_eval(@0,@3=RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set)),@1) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:9027: RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4923: Frame(emit)->_eval(@0,RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@1) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:9027: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4923: Frame(else)->_eval(@0,RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@1) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:9027: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8435: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->eval(@0,UNDEFINED) modules/tags/rxmlparse.pike:171: RoxenModule(entreeding.com/rxmlparse#0)->handle_file_extension(Stdio.File("/home/entreeding/m/ember/smsoutbox3.rxml", "r", 666 /* fd=30 */),"rxml",@4=RequestID(/m/ember/smsoutbox3.rxml)) base_server/configuration.pike:2361: Configuration(entreeding.com)->low_get_file(@4,UNDEFINED) base_server/configuration.pike:2495: Configuration(entreeding.com)->get_file(@4,UNDEFINED,UNDEFINED) base_server/configuration.pike:2470: Configuration(entreeding.com)->handle_request(@4,UNDEFINED) protocols/http.pike:2827: RequestID(/m/ember/smsoutbox3.rxml)->handle_request() base_server/roxen.pike:849: roxen()->handler_thread(23)
The next core (I'm keeping all the cores, so more info is available):
#6 0x08112791 in debug_gc_fatal_2 (a=0xb4182918, type=3, flags=1, fmt=0x82efc13 "Marked a thing without refs.\n") at /data/src/gpike/src/gc.c:1041 #7 0x081128e9 in real_gc_mark (a=0xb4182918, type=3) at /data/src/gpike/src/gc.c:2519 #8 0x081687ec in gc_mark_object_as_referenced (o=0xb4182918) at /data/src/gpike/src/object.c:2035 #9 0x081c93a3 in run_queue (q=0x837893c) at /data/src/gpike/src/queue.c:48 #10 0x0811468c in do_gc (ignored=0x9d1b5b8, explicit_call=0) at /data/src/gpike/src/gc.c:3545 #11 0x080e08f0 in low_call_callback (lst=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece. ) at /data/src/gpike/src/callback.c:168 #12 0x080960b7 in low_mega_apply (type=APPLY_LOW, args=3, arg1=0xb3f9a748, ---Type <return> to continue, or q <return> to quit--- arg2=0xd) at /data/src/gpike/src/apply_low.h:296 #13 0x0809dd39 in jump_opcode_F_CALL_LFUN (arg1=13) at /data/src/gpike/src/interpret_functions.h:2061 #14 0xb6fa1174 in ?? () #15 0x080938e4 in eval_instruction ( pc=0xb6dc59bf "\213\r\020|7\b\270A\246#I\367؉A\034\350\034\366+Q\213\r\020|7\b\270,\246#I\367؉A\034\203A\034\020\307\004$\001") at /data/src/gpike/src/interpret.c:1421 #16 0x0809441f in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #17 0x0809467b in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #18 0xb6d0c62d in ?? () #19 0x080938e4 in eval_instruction ( pc=0xb6d0c580 "\213\r\020|7\b\270\200:/I\367؉A\034\307\004$\001") at /data/src/gpike/src/interpret.c:1421 #20 0x08097f28 in mega_apply (type=APPLY_STACK, args=2, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #21 0x0809a4a9 in f_call_function (args=2) at /data/src/gpike/src/interpret.c:2266 #22 0x081c88aa in new_thread_func (data=0xbf9e58ac) at /data/src/gpike/src/threads.c:1111 #23 0xb7f06585 in start_thread (arg=0xb57aeb70) at pthread_create.c:300 ---Type <return> to continue, or q <return> to quit--- #24 0xb7e552be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Stderr output: /data/src/gpike/src/gc.c:2519: GC fatal: Marked a thing without refs. **Block: 0xb4182918 Type: object Refs: 0 **Got gc marker at 0xb1d368f0: flags=0x00000 refs=0 weak=0 xrefs=0 saved=-1 frame=(nil) **Program id: 991604 **The object is not on the object link list. **The object is destructed and program not found from id. ******************* **Looking for references to 0xb4182918: **Done looking for references to 0xb4182918, found 0 refs. Pike was in GC stage 200 when this fatal occurred. Backtrace at time of fatal: /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:1826: Context()->set_var(({"vorigerewritetitle"}),"VERMIST-Mercedes-4x4.html") /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:1916: Context()->user_set_var("var.vorigerewritetitle","VERMIST-Mercedes-4x4.html",UNDEFINED) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:5234: RXML->user_set_var("var.vorigerewritetitle","VERMIST-Mercedes-4x4.html",UNDEFINED) modules/tags/rxmltags.pike:796: Frame(set)->do_return(RequestID(/extern/nieuws.rxml?id=2763)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4986: Frame(set)->_eval(Context(),RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set)),RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:9027: RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set))->_eval(@0=Context(),0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4923: Frame(emit)->_eval(@0,RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set)),@1=RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:9027: RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4923: Frame(emit)->_eval(@0,RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@1) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:9027: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:8435: RXML.PCode(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->eval(@0,UNDEFINED) modules/tags/rxmlparse.pike:171: RoxenModule(entreeding.com/rxmlparse#0)->handle_file_extension(Stdio.File("/home/entreeding/extern/nieuws.rxml", "r", 666 /* fd=29 */),"rxml",@2=RequestID(/extern/nieuws.rxml?id=2763)) base_server/configuration.pike:2361: Configuration(entreeding.com)->low_get_file(@2,UNDEFINED) base_server/configuration.pike:2495: Configuration(entreeding.com)->get_file(@2,UNDEFINED,UNDEFINED) base_server/configuration.pike:2470: Configuration(entreeding.com)->handle_request(@2,UNDEFINED) protocols/http.pike:2827: RequestID(/extern/nieuws.rxml?id=2763)->handle_request() base_server/roxen.pike:849: roxen()->handler_thread(13)
Core3:
#6 0x08112791 in debug_gc_fatal_2 (a=0x9c8ff00, type=3, flags=1, fmt=0x82efc13 "Marked a thing without refs.\n") at /data/src/gpike/src/gc.c:1041 #7 0x081128e9 in real_gc_mark (a=0x9c8ff00, type=3) at /data/src/gpike/src/gc.c:2519 #8 0x081687ec in gc_mark_object_as_referenced (o=0x9c8ff00) at /data/src/gpike/src/object.c:2035 #9 0x081c93a3 in run_queue (q=0x837893c) at /data/src/gpike/src/queue.c:48 #10 0x0811468c in do_gc (ignored=0x9241488, explicit_call=0) at /data/src/gpike/src/gc.c:3545 #11 0x080e08f0 in low_call_callback (lst=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece. ) at /data/src/gpike/src/callback.c:168 #12 0x080960b7 in low_mega_apply (type=APPLY_LOW, args=2, arg1=0x9e6aff8, ---Type <return> to continue, or q <return> to quit--- arg2=0x54) at /data/src/gpike/src/apply_low.h:296 #13 0x0809c00b in jump_opcode_F_CALL_OTHER (arg1=32) at /data/src/gpike/src/interpret_functions.h:2070 #14 0xb70797ca in ?? () #15 0x080938e4 in eval_instruction (pc=0xb70eca11 "\307D$\004\005") at /data/src/gpike/src/interpret.c:1421 #16 0x0809441f in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #17 0x0809467b in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #18 0xb70eca0b in ?? () #19 0x080938e4 in eval_instruction ( pc=0xb70ec291 "\213\r\020|7\b\270o=\361H\367؉A\034\307\004$\023") at /data/src/gpike/src/interpret.c:1421 #20 0x08097f28 in mega_apply (type=APPLY_STACK, args=4, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #21 0x0809a4a9 in f_call_function (args=4) at /data/src/gpike/src/interpret.c:2266 #22 0xb75f1662 in container_callback (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:2755 #23 do_try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3252 #24 try_feed (finished=<value optimized out>) ---Type <return> to continue, or q <return> to quit--- at /data/src/gpike/src/modules/Parser/html.c:3771 #25 0xb75f2e36 in html_finish (args=1) at /data/src/gpike/src/modules/Parser/html.c:3966 #26 0x08095a39 in low_mega_apply (type=APPLY_LOW, args=<value optimized out>, arg1=0x9e69d68, arg2=0x7f) at /data/src/gpike/src/apply_low.h:226 #27 0x0809da8a in jump_opcode_F_CALL_LFUN_AND_POP (arg1=127) at /data/src/gpike/src/interpret_functions.h:2061 #28 0xb6e81584 in ?? () #29 0x080938e4 in eval_instruction (pc=0xb70eca11 "\307D$\004\005") at /data/src/gpike/src/interpret.c:1421 #30 0x0809441f in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #31 0x0809467b in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #32 0xb70eca0b in ?? () #33 0x080938e4 in eval_instruction ( pc=0xb70ec291 "\213\r\020|7\b\270o=\361H\367؉A\034\307\004$\023") at /data/src/gpike/src/interpret.c:1421 #34 0x08097f28 in mega_apply (type=APPLY_STACK, args=4, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #35 0x0809a4a9 in f_call_function (args=4) at /data/src/gpike/src/interpret.c:2266 #36 0xb75f1662 in container_callback (finished=<value optimized out>) ---Type <return> to continue, or q <return> to quit--- at /data/src/gpike/src/modules/Parser/html.c:2755 #37 do_try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3252 #38 try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3771 #39 0xb75f2e36 in html_finish (args=1) at /data/src/gpike/src/modules/Parser/html.c:3966 #40 0x08095a39 in low_mega_apply (type=APPLY_LOW, args=<value optimized out>, arg1=0x9e6aab8, arg2=0x7f) at /data/src/gpike/src/apply_low.h:226 #41 0x0809da8a in jump_opcode_F_CALL_LFUN_AND_POP (arg1=127) at /data/src/gpike/src/interpret_functions.h:2061 #42 0xb6e81584 in ?? () #43 0x080938e4 in eval_instruction ( pc=0xb6ece9bf "\213\r\020|7\b\270A\026\023I\367؉A\034\350\034f\033Q\213\r\020|7\b\270,\026\023I\367؉A\034\203A\034\020\307\004$\001") at /data/src/gpike/src/interpret.c:1421 #44 0x0809441f in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #45 0x0809467b in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #46 0xb6e1562d in ?? () #47 0x080938e4 in eval_instruction ( pc=0xb6e15580 "\213\r\020|7\b\270\200\252\036I\367؉A\034\307\004$\001") ---Type <return> to continue, or q <return> to quit--- at /data/src/gpike/src/interpret.c:1421 #48 0x08097f28 in mega_apply (type=APPLY_STACK, args=2, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #49 0x0809a4a9 in f_call_function (args=2) at /data/src/gpike/src/interpret.c:2266 #50 0x081c88aa in new_thread_func (data=0xbffee6ac) at /data/src/gpike/src/threads.c:1111 #51 0xb800f585 in start_thread (arg=0xb6824b70) at pthread_create.c:300 #52 0xb7f5e2be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Stderr output:
/data/src/gpike/src/gc.c:2519: GC fatal: Marked a thing without refs. **Block: 0x9c8ff00 Type: object Refs: 0 **Got gc marker at 0xb329cd08: flags=0x00000 refs=0 weak=0 xrefs=0 saved=-1 frame=(nil) **Program id: 3 **The object is not on the object link list. **The object is destructed but program found from id. ******************* **Looking for references to 0x9c8ff00: **Done looking for references to 0x9c8ff00, found 0 refs. Pike was in GC stage 200 when this fatal occurred. Backtrace at time of fatal: /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:5885: RXML.PXml(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(Context()) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4923: Frame(else)->_eval(@0=Context(),RXML.PXml(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:483: TagElse(else)->_p_xml_handle_tag(@1=RXML.PXml(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),([])," ") /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->finish("\r\n <if exists="/images/user/&sql.owner:none;/art.&sql.id_pdloffer:none;.jpeg"> \r\n <cimg format="jpeg" quality="85" maxwidth="180" maxheight="135"\r\n src="/"+[199]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PXml(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->finish("\r\n <if exists="/images/user/&sql.owner:none;/art.&sql.id_pdloffer:none;.jpeg"> \r\n <cimg format="jpeg" quality="85" maxwidth="180" maxheight="135"\r\n src="/"+[199]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:3911: Frame(eval)->_exec_array(@0,RXML.RenewablePCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),({"\r\n <if exists="/images/user/&sql.owner:none;/art.&sql.id_pdloffer:none"+[312]}),"do_return") /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4990: Frame(eval)->_eval(@0,@2=RXML.RenewablePCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set)),@3=RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:9027: RXML.RenewablePCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:9398: RXML.RenewablePCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:3957: UserTag.Frame(apopup)->_exec_array(@0,RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set)),({@2}),"do_return") /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4990: UserTag.Frame(apopup)->_eval(@0,@4=RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set)),@3) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:9027: RXML.PCode(RXML.t_html(text/html, xml),RXML.CompositeTagSet(emit+rxml_tag_set))->_eval(@0,0) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4923: Frame(emit)->_eval(@0,RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@3) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:483: TagEmit(emit)->_p_xml_handle_tag(@5,mapping[2],"<set variable="var.tmp" expr="&_.counter;%4" /> \r\n <if variable="var.tmp is 1"> \r\n <tr>"+[1332]) /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("\r\n\r\n<protectimages />\r\n<use package="bugless"/>\r\n<initpopup/> \r\n<incstats var="pics" id="&form.parent:mysql;" />\r\n<emit source="sql" query="SELECT lastname\r\n FROM namedata\r\n WHERE id='&form.parent"+[3144]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("\r\n\r\n<protectimages />\r\n<use package="bugless"/>\r\n<initpopup/> \r\n<incstats var="pics" id="&form.parent:mysql;" />\r\n<emit source="sql" query="SELECT lastname\r\n FROM namedata\r\n WHERE id='&form.parent"+[3144]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:5656: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->write_end("\r\n\r\n<protectimages />\r\n<use package="bugless"/>\r\n<initpopup/> \r\n<incstats var="pics" id="&form.parent:mysql;" />\r\n<emit source="sql" query="SELECT lastname\r\n FROM namedata\r\n WHERE id='&form.parent"+[3144]) modules/tags/rxmlparse.pike:180: RoxenModule(entreeding.com/rxmlparse#0)->handle_file_extension(Stdio.File("/home/entreeding/info/displayinventory.rxml", "r", 666 /* fd=93 */),"rxml",RequestID(/info/displayinventory.rxml?parent=393025)) base_server/configuration.pike:2361: Configuration(entreeding.com)->low_get_file(@6=RequestID(/info/displayinventory.rxml?parent=393025),UNDEFINED) base_server/configuration.pike:2495: Configuration(entreeding.com)->get_file(@6,UNDEFINED,UNDEFINED) base_server/configuration.pike:2470: Configuration(entreeding.com)->handle_request(@6,UNDEFINED) protocols/http.pike:2827: RequestID(/info/displayinventory.rxml?parent=393025)->handle_request() base_server/roxen.pike:849: roxen()->handler_thread(2)
And about 30 minutes later we get core4 (this one is odd and interesting, since it has a rather short Pike backtrace):
#6 0x08112791 in debug_gc_fatal_2 (a=0x92985d0, type=3, flags=1, fmt=0x82efc13 "Marked a thing without refs.\n") at /data/src/gpike/src/gc.c:1041 #7 0x081128e9 in real_gc_mark (a=0x92985d0, type=3) at /data/src/gpike/src/gc.c:2519 #8 0x081687ec in gc_mark_object_as_referenced (o=0x92985d0) at /data/src/gpike/src/object.c:2035 #9 0x081c93a3 in run_queue (q=0x837893c) at /data/src/gpike/src/queue.c:48 #10 0x0811468c in do_gc (ignored=0x89f7448, explicit_call=0) at /data/src/gpike/src/gc.c:3545 #11 0x080e08f0 in low_call_callback (lst=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece. ) at /data/src/gpike/src/callback.c:168 #12 0x0808408e in opcode_F_CALL_BUILTIN (arg1=36) ---Type <return> to continue, or q <return> to quit--- at /data/src/gpike/src/interpret_functions.h:2303 #13 0xb45e5c7b in ?? () #14 0x080938e4 in eval_instruction ( pc=0xb46097fc "\241\020|7\b\203@\034\017\307\004$\225") at /data/src/gpike/src/interpret.c:1421 #15 0x0809441f in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #16 0x0809467b in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #17 0xb46097f6 in ?? () #18 0x080938e4 in eval_instruction ( pc=0xb7a0a104 "\213\r\020|7\b\270\374^_H\367؉A\034\307D$\004;") at /data/src/gpike/src/interpret.c:1421 #19 0x08097f28 in mega_apply (type=APPLY_SVALUE, args=0, arg1=0x90d04cc, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #20 0x08097fe1 in apply_svalue (s=0x0, args=0) at /data/src/gpike/src/interpret.c:2632 #21 0x08261034 in got_fd_event (box=0x90d04b0, event=0) at /data/src/gpike/src/modules/files/file.c:275 #22 0x080db1b7 in backend_call_active_callbacks (fd_list=0xbfd2e21c, me=<value optimized out>) at /data/src/gpike/src/backend.cmod:1885 #23 0x080dfcbe in pdb_low_backend_once (pdb=<value optimized out>, timeout=<value optimized out>) at /data/src/gpike/src/backend.cmod:3360 ---Type <return> to continue, or q <return> to quit--- #24 0x080e047e in f_PollDeviceBackend_cq__backtick_28_29 (args=1) at /data/src/gpike/src/backend.cmod:3458 #25 0x08095a39 in low_mega_apply (type=APPLY_SVALUE, args=<value optimized out>, arg1=0x0, arg2=0x0) at /data/src/gpike/src/apply_low.h:226 #26 0x0809c393 in jump_opcode_F_CALL_FUNCTION_AND_POP () at /data/src/gpike/src/interpret_functions.h:2068 #27 0xb79570dc in ?? () #28 0x080938e4 in eval_instruction ( pc=0xb795585e "\241\020|7\b\203@\034\027\307\004$Z") at /data/src/gpike/src/interpret.c:1421 #29 0x0809441f in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #30 0x0809467b in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #31 0xb7955858 in ?? () #32 0x080938e4 in eval_instruction ( pc=0xb794d22e "\213\r\020|7\b\270\322-kH\367؉A\034\307D$\004") at /data/src/gpike/src/interpret.c:1421 #33 0x08097f28 in mega_apply (type=APPLY_LOW, args=1, arg1=0x896e108, arg2=0x38) at /data/src/gpike/src/interpret.c:2213 #34 0x080989d0 in apply (o=0x896e108, fun=0x82caaae "_main", args=1) at /data/src/gpike/src/interpret.c:2617 ---Type <return> to continue, or q <return> to quit--- #35 0x08071253 in main (argc=17, argv=0xbfd2e744) at /data/src/gpike/src/main.c:634
Stderr output:
/data/src/gpike/src/gc.c:2519: GC fatal: Marked a thing without refs. **Block: 0x92985d0 Type: object Refs: 0 **Got gc marker at 0xb2485198: flags=0x00000 refs=0 weak=0 xrefs=0 saved=-1 frame=(nil) **Program id: 65596 **The object is not on the object link list. **The object is destructed but program found from id. ******************* **Looking for references to 0x92985d0: **Done looking for references to 0x92985d0, found 0 refs. Pike was in GC stage 200 when this fatal occurred. Backtrace at time of fatal: protocols/http.pike:615: RequestID(/_internal/cimg!0/h5jcuo71yjrtsjn8xj0a3lna56zwh6j)->things_to_do_when_not_sending_from_cache() protocols/http.pike:3388: RequestID(/_internal/cimg!0/h5jcuo71yjrtsjn8xj0a3lna56zwh6j)->got_data(0,"GET /_internal/cimg!0/h5jcuo71yjrtsjn8xj0a3lna56zwh6j HTTP/1.1\r\nAccept: */*\r\nReferer: http://member.entreeding.com/(offer)/m/ember/showinventory3.rxml?photo=1%5Cr...: nl\r\nUA-CP"+[752],UNDEFINED) -:1: Pike.Backend(0)->`()(3600.0) /usr/local/pike/7.8.409/lib/master.pike:3849: master()->_main(({"/usr/roxen/server-4.5.0/bin/roxen","-DENABLE_THREADS","-DRAM_CACHE","-DHTTP_COMPRESSION","-DENABLE_THREADS","-DHTTP_COMPRESSION",,,10}))
A strangely long C backtrace:
#6 0x08112791 in debug_gc_fatal_2 (a=0x9861b50, type=3, flags=1, fmt=0x82efc13 "Marked a thing without refs.\n") at /data/src/gpike/src/gc.c:1041 #7 0x081128e9 in real_gc_mark (a=0x9861b50, type=3) at /data/src/gpike/src/gc.c:2519 #8 0x081687ec in gc_mark_object_as_referenced (o=0x9861b50) at /data/src/gpike/src/object.c:2035 #9 0x081c93a3 in run_queue (q=0x837893c) at /data/src/gpike/src/queue.c:48 #10 0x0811468c in do_gc (ignored=0x8f6f5e8, explicit_call=0) at /data/src/gpike/src/gc.c:3545 #11 0x080e08f0 in low_call_callback (lst=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece. ) at /data/src/gpike/src/callback.c:168 #12 0x080960b7 in low_mega_apply (type=APPLY_SVALUE, args=2, arg1=0x9b39c3c, ---Type <return> to continue, or q <return> to quit--- arg2=0x0) at /data/src/gpike/src/apply_low.h:296 #13 0x08097e1a in mega_apply (type=APPLY_SVALUE, args=2, arg1=0x9b39c3c, arg2=0x0) at /data/src/gpike/src/interpret.c:2211 #14 0x08097fe1 in apply_svalue (s=0x0, args=2) at /data/src/gpike/src/interpret.c:2632 #15 0xb75ee690 in do_callback (this=<value optimized out>, thisobj=<value optimized out>, callback_function=0x9b39c3c, start=0x92e2cc0, cstart=127, end=0x92e2cc0, cend=134) at /data/src/gpike/src/modules/Parser/html.c:2564 #16 0xb75f272f in do_try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3704 #17 try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3771 #18 0xb75f6e36 in html_finish (args=1) at /data/src/gpike/src/modules/Parser/html.c:3966 #19 0x08095a39 in low_mega_apply (type=APPLY_LOW, args=<value optimized out>, arg1=0xb3f6b938, arg2=0x7f) at /data/src/gpike/src/apply_low.h:226 #20 0x0809da8a in jump_opcode_F_CALL_LFUN_AND_POP (arg1=127) at /data/src/gpike/src/interpret_functions.h:2061 #21 0xb6e85644 in ?? () #22 0x080938e4 in eval_instruction (pc=0xb70f0a11 "\307D$\004\005") at /data/src/gpike/src/interpret.c:1421 #23 0x0809441f in catching_eval_instruction (pc=<value optimized out>) ---Type <return> to continue, or q <return> to quit--- at /data/src/gpike/src/interpret.c:2245 #24 0x0809467b in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #25 0xb70f0a0b in ?? () #26 0x080938e4 in eval_instruction ( pc=0xb70f0291 "\213\r\020|7\b\270o\375\360H\367؉A\034\307\004$\023") at /data/src/gpike/src/interpret.c:1421 #27 0x08097f28 in mega_apply (type=APPLY_STACK, args=4, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #28 0x0809a4a9 in f_call_function (args=4) at /data/src/gpike/src/interpret.c:2266 #29 0xb75f5662 in container_callback (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:2755 #30 do_try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3252 #31 try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3771 #32 0xb75f6e36 in html_finish (args=1) at /data/src/gpike/src/modules/Parser/html.c:3966 #33 0x08095a39 in low_mega_apply (type=APPLY_LOW, args=<value optimized out>, arg1=0xb3f6b170, arg2=0x7f) at /data/src/gpike/src/apply_low.h:226 #34 0x0809da8a in jump_opcode_F_CALL_LFUN_AND_POP (arg1=127) at /data/src/gpike/src/interpret_functions.h:2061 ---Type <return> to continue, or q <return> to quit--- #35 0xb6e85644 in ?? () #36 0x080938e4 in eval_instruction (pc=0xb70f0a11 "\307D$\004\005") at /data/src/gpike/src/interpret.c:1421 #37 0x0809441f in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #38 0x0809467b in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #39 0xb70f0a0b in ?? () #40 0x080938e4 in eval_instruction ( pc=0xb70f0291 "\213\r\020|7\b\270o\375\360H\367؉A\034\307\004$\023") at /data/src/gpike/src/interpret.c:1421 #41 0x08097f28 in mega_apply (type=APPLY_STACK, args=4, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #42 0x0809a4a9 in f_call_function (args=4) at /data/src/gpike/src/interpret.c:2266 #43 0xb75f5662 in container_callback (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:2755 #44 do_try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3252 #45 try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3771 #46 0xb75f6e36 in html_finish (args=1) at /data/src/gpike/src/modules/Parser/html.c:3966 ---Type <return> to continue, or q <return> to quit--- #47 0x08095a39 in low_mega_apply (type=APPLY_LOW, args=<value optimized out>, arg1=0xb3f6b890, arg2=0x7f) at /data/src/gpike/src/apply_low.h:226 #48 0x0809da8a in jump_opcode_F_CALL_LFUN_AND_POP (arg1=127) at /data/src/gpike/src/interpret_functions.h:2061 #49 0xb6e85644 in ?? () #50 0x080938e4 in eval_instruction (pc=0xb70f0a11 "\307D$\004\005") at /data/src/gpike/src/interpret.c:1421 #51 0x0809441f in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #52 0x0809467b in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #53 0xb70f0a0b in ?? () #54 0x080938e4 in eval_instruction ( pc=0xb70f0291 "\213\r\020|7\b\270o\375\360H\367؉A\034\307\004$\023") at /data/src/gpike/src/interpret.c:1421 #55 0x08097f28 in mega_apply (type=APPLY_STACK, args=4, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #56 0x0809a4a9 in f_call_function (args=4) at /data/src/gpike/src/interpret.c:2266 #57 0xb75f5662 in container_callback (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:2755 #58 do_try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3252 ---Type <return> to continue, or q <return> to quit--- #59 try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3771 #60 0xb75f6e36 in html_finish (args=1) at /data/src/gpike/src/modules/Parser/html.c:3966 #61 0x08095a39 in low_mega_apply (type=APPLY_LOW, args=<value optimized out>, arg1=0xb3f6bc20, arg2=0x7f) at /data/src/gpike/src/apply_low.h:226 #62 0x0809da8a in jump_opcode_F_CALL_LFUN_AND_POP (arg1=127) at /data/src/gpike/src/interpret_functions.h:2061 #63 0xb6e85644 in ?? () #64 0x080938e4 in eval_instruction (pc=0xb70f0a11 "\307D$\004\005") at /data/src/gpike/src/interpret.c:1421 #65 0x0809441f in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #66 0x0809467b in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #67 0xb70f0a0b in ?? () #68 0x080938e4 in eval_instruction ( pc=0xb70f0291 "\213\r\020|7\b\270o\375\360H\367؉A\034\307\004$\023") at /data/src/gpike/src/interpret.c:1421 #69 0x08097f28 in mega_apply (type=APPLY_STACK, args=4, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #70 0x0809a4a9 in f_call_function (args=4) at /data/src/gpike/src/interpret.c:2266 ---Type <return> to continue, or q <return> to quit--- #71 0xb75f5662 in container_callback (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:2755 #72 do_try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3252 #73 try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3771 #74 0xb75f6e36 in html_finish (args=1) at /data/src/gpike/src/modules/Parser/html.c:3966 #75 0x08095a39 in low_mega_apply (type=APPLY_LOW, args=<value optimized out>, arg1=0xb3f6cfa0, arg2=0x7f) at /data/src/gpike/src/apply_low.h:226 #76 0x0809da8a in jump_opcode_F_CALL_LFUN_AND_POP (arg1=127) at /data/src/gpike/src/interpret_functions.h:2061 #77 0xb6e85644 in ?? () #78 0x080938e4 in eval_instruction (pc=0xb70f0a11 "\307D$\004\005") at /data/src/gpike/src/interpret.c:1421 #79 0x0809441f in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #80 0x0809467b in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #81 0xb70f0a0b in ?? () #82 0x080938e4 in eval_instruction ( pc=0xb70f0291 "\213\r\020|7\b\270o\375\360H\367؉A\034\307\004$\023") at /data/src/gpike/src/interpret.c:1421 ---Type <return> to continue, or q <return> to quit--- #83 0x08097f28 in mega_apply (type=APPLY_STACK, args=4, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #84 0x0809a4a9 in f_call_function (args=4) at /data/src/gpike/src/interpret.c:2266 #85 0xb75f5662 in container_callback (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:2755 #86 do_try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3252 #87 try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3771 #88 0xb75f6e36 in html_finish (args=1) at /data/src/gpike/src/modules/Parser/html.c:3966 #89 0x08095a39 in low_mega_apply (type=APPLY_LOW, args=<value optimized out>, arg1=0xb3f6b128, arg2=0x7f) at /data/src/gpike/src/apply_low.h:226 #90 0x0809da8a in jump_opcode_F_CALL_LFUN_AND_POP (arg1=127) at /data/src/gpike/src/interpret_functions.h:2061 #91 0xb6e85644 in ?? () #92 0x080938e4 in eval_instruction (pc=0xb70f0a11 "\307D$\004\005") at /data/src/gpike/src/interpret.c:1421 #93 0x0809441f in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #94 0x0809467b in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 ---Type <return> to continue, or q <return> to quit--- #95 0xb70f0a0b in ?? () #96 0x080938e4 in eval_instruction ( pc=0xb70f0291 "\213\r\020|7\b\270o\375\360H\367؉A\034\307\004$\023") at /data/src/gpike/src/interpret.c:1421 #97 0x08097f28 in mega_apply (type=APPLY_STACK, args=4, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #98 0x0809a4a9 in f_call_function (args=4) at /data/src/gpike/src/interpret.c:2266 #99 0xb75f5662 in container_callback (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:2755 #100 do_try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3252 #101 try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3771 #102 0xb75f6e36 in html_finish (args=1) at /data/src/gpike/src/modules/Parser/html.c:3966 #103 0x08095a39 in low_mega_apply (type=APPLY_LOW, args=<value optimized out>, arg1=0x96d24c8, arg2=0x7f) at /data/src/gpike/src/apply_low.h:226 #104 0x0809da8a in jump_opcode_F_CALL_LFUN_AND_POP (arg1=127) at /data/src/gpike/src/interpret_functions.h:2061 #105 0xb6e85644 in ?? () #106 0x080938e4 in eval_instruction (pc=0xb70f0a11 "\307D$\004\005") at /data/src/gpike/src/interpret.c:1421 ---Type <return> to continue, or q <return> to quit--- #107 0x0809441f in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #108 0x0809467b in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #109 0xb70f0a0b in ?? () #110 0x080938e4 in eval_instruction ( pc=0xb70f0291 "\213\r\020|7\b\270o\375\360H\367؉A\034\307\004$\023") at /data/src/gpike/src/interpret.c:1421 #111 0x08097f28 in mega_apply (type=APPLY_STACK, args=4, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #112 0x0809a4a9 in f_call_function (args=4) at /data/src/gpike/src/interpret.c:2266 #113 0xb75f5662 in container_callback (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:2755 #114 do_try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3252 #115 try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3771 #116 0xb75f6e36 in html_finish (args=1) at /data/src/gpike/src/modules/Parser/html.c:3966 #117 0x08095a39 in low_mega_apply (type=APPLY_LOW, args=<value optimized out>, arg1=0x96d2e28, arg2=0x7f) at /data/src/gpike/src/apply_low.h:226 #118 0x0809da8a in jump_opcode_F_CALL_LFUN_AND_POP (arg1=127) ---Type <return> to continue, or q <return> to quit--- at /data/src/gpike/src/interpret_functions.h:2061 #119 0xb6e85644 in ?? () #120 0x080938e4 in eval_instruction ( pc=0xb6ed29bf "\213\r\020|7\b\270A\326\022I\367؉A\034\350\034&\033Q\213\r\020|7\b\270,\326\022I\367؉A\034\203A\034\020\307\004$\001") at /data/src/gpike/src/interpret.c:1421 #121 0x0809441f in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #122 0x0809467b in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #123 0xb6e1962d in ?? () #124 0x080938e4 in eval_instruction ( pc=0xb6e19580 "\213\r\020|7\b\270\200j\036I\367؉A\034\307\004$\001") at /data/src/gpike/src/interpret.c:1421 #125 0x08097f28 in mega_apply (type=APPLY_STACK, args=2, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #126 0x0809a4a9 in f_call_function (args=2) at /data/src/gpike/src/interpret.c:2266 #127 0x081c88aa in new_thread_func (data=0xbfdf24bc) at /data/src/gpike/src/threads.c:1111 #128 0xb8013585 in start_thread (arg=0xb4ab5b70) at pthread_create.c:300 #129 0xb7f622be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Stderr output:
/data/src/gpike/src/gc.c:2519: GC fatal: Marked a thing without refs. **Block: 0x9861b50 Type: object Refs: 0 **Got gc marker at 0xa02c6d0: flags=0x00000 refs=0 weak=0 xrefs=0 saved=-1 frame=(nil) **Program id: 236292 **The object is not on the object link list. **The object is destructed and program not found from id. ******************* **Looking for references to 0x9861b50: **Done looking for references to 0x9861b50, found 0 refs. Pike was in GC stage 200 when this fatal occurred. Backtrace at time of fatal: /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/utils.pmod:178: RXML.utils->p_xml_entity_cb(RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(maketag+rxml_tag_set)),"&var.i;") /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(maketag+rxml_tag_set))->finish("\n (\n ''='&form.minpropp&var.i;:mysql;' OR\n pdlnode.p&var.i;='&form.nrpropp&var.i;:mysql;' AND\n FIND_IN_SET('p&var.i;',pdloffer.properties)\n ) AND (\n ''='&form.minpropval&"+[783]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(maketag+rxml_tag_set))->finish("\n (\n ''='&form.minpropp&var.i;:mysql;' OR\n pdlnode.p&var.i;='&form.nrpropp&var.i;:mysql;' AND\n FIND_IN_SET('p&var.i;',pdloffer.properties)\n ) AND (\n ''='&form.minpropval&"+[783]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4853: Frame(for)->_eval(Context(),RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(maketag+rxml_tag_set)),RXML.t_any_text(text/*, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:483: TagFor(for)->_p_xml_handle_tag(@0,mapping[3],"\n (\n ''='&form.minpropp&var.i;:mysql;' OR\n pdlnode.p&var.i;='&form.nrpropp&var.i;:mysql;"+[878]) /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(maketag+rxml_tag_set))->finish("SELECT\n pdloffer.id_pdloffer,pdloffer.description,\n CASE WHEN LENGTH(pdloffer.c1city)>0\n THEN pdloffer.c1city ELSE namedata.city END AS city,\n pdloffer.owner,\n namedata.lastname,pdlnode.name,p"+[9219]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(maketag+rxml_tag_set))->finish("SELECT\n pdloffer.id_pdloffer,pdloffer.description,\n CASE WHEN LENGTH(pdloffer.c1city)>0\n THEN pdloffer.c1city ELSE namedata.city END AS city,\n pdloffer.owner,\n namedata.lastname,pdlnode.name,p"+[9219]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4853: Frame(attrib)->_eval(@1=Context(),RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(maketag+rxml_tag_set)),@2=RXML.t_any_text(text/*, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:483: TagAttrib(attrib)->_p_xml_handle_tag(@3,mapping[1],"SELECT\n pdloffer.id_pdloffer,pdloffer.description,\n CASE WHEN LENGTH(pdloffer.c1city)>0\n THEN pdlof"+[9314]) /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(maketag+rxml_tag_set))->finish("\n<attrib name=source>sql</attrib>\n<attrib name=query>SELECT\n pdloffer.id_pdloffer,pdloffer.description,\n CASE WHEN LENGTH(pdloffer.c1city)>0\n THEN pdloffer.c1city ELSE namedata.city END AS city,"+[10629]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(maketag+rxml_tag_set))->finish("\n<attrib name=source>sql</attrib>\n<attrib name=query>SELECT\n pdloffer.id_pdloffer,pdloffer.description,\n CASE WHEN LENGTH(pdloffer.c1city)>0\n THEN pdloffer.c1city ELSE namedata.city END AS city,"+[10629]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4853: Frame(maketag)->_eval(@1,RXML.PXml(RXML.t_any_text(text/*, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@2) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:483: TagMaketag(maketag)->_p_xml_handle_tag(@4,mapping[2],"\n<attrib name=source>sql</attrib>\n<attrib name=query>SELECT\n pdloffer.id_pdloffer,pdloffer.description,\n"+[10721]) /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_any_text(text/*, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("\n\n<if not sizeof="form.visibility > 0">\n <set variable="form.visibility" value="1" />\n</if>\n\n<maketag name=emit type=container>\n<attrib name=source>sql</attrib>\n<attrib name=query>SELECT\n pdloffer"+[10767]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PXml(RXML.t_any_text(text/*, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("\n\n<if not sizeof="form.visibility > 0">\n <set variable="form.visibility" value="1" />\n</if>\n\n<maketag name=emit type=container>\n<attrib name=source>sql</attrib>\n<attrib name=query>SELECT\n pdloffer"+[10767]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4853: Frame(eval)->_eval(@1,RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:483: TagEval(eval)->_p_xml_handle_tag(@5,([]),"\n\n<if not sizeof="form.visibility > 0">\n <set variable="form.visibility" value="1" />\n</if>\n\n<maketag name=emit"+[10852]) /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("\n<tr class=&var.c;>\n <if not sizeof="form._id_pdlnode > 0">\n <th align=left>Artikel</th>\n </if>\n<th align=left><a href="&page.url:;&sortorder=description"\n >Informatie</a></th>\n<th align=left>\n P"+[11288]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("\n<tr class=&var.c;>\n <if not sizeof="form._id_pdlnode > 0">\n <th align=left>Artikel</th>\n </if>\n<th align=left><a href="&page.url:;&sortorder=description"\n >Informatie</a></th>\n<th align=left>\n P"+[11288]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:3911: Frame(eval)->_exec_array(@1,RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),({"\n<tr class=&var.c;>\n <if not sizeof="form._id_pdlnode > 0">\n <th align=left>Artikel</th>\n </if>\n<th al"+[11381]}),"do_return") /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4990: Frame(eval)->_eval(@1,@6=RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@7=RXML.t_html(text/html, xml)) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:483: TagEval(eval)->_p_xml_handle_tag(@6,([]),"\n<insert file="searchresult3.inc"/> <!--hier staan de actief aangeboden rupsmachines -->\n") /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("\n<table><tr><td>\n<if sizeof="var.iconurl > 0" exists="/images/icons/&var.iconurl:url;">\n <image src="http://www.entreeding.com/images/icons/&var.iconurl:url;%5C" alt="icoontje" />\n</if></td><td><str"+[2694]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("\n<table><tr><td>\n<if sizeof="var.iconurl > 0" exists="/images/icons/&var.iconurl:url;">\n <image src="http://www.entreeding.com/images/icons/&var.iconurl:url;%5C" alt="icoontje" />\n</if></td><td><str"+[2694]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4853: Frame(if)->_eval(@1,RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@7) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:483: TagIf(if)->_p_xml_handle_tag(@8,mapping[2],"\n<table><tr><td>\n<if sizeof="var.iconurl > 0" exists="/images/icons/&var.iconurl:url;">\n <image src="htt"+[2785]) /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("\n\n<if Variable="form.available">\n <if prestate="notavail">\n <set variable="form.available" value="no" />\n </if>\n <if not variable="client.authenticated">\n <set variable="form.available" value="n"+[23317]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("\n\n<if Variable="form.available">\n <if prestate="notavail">\n <set variable="form.available" value="no" />\n </if>\n <if not variable="client.authenticated">\n <set variable="form.available" value="n"+[23317]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:4853: Frame(if)->_eval(@1,RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set)),@7) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:483: TagIf(if)->_p_xml_handle_tag(@9,mapping[2],"\n\n<if Variable="form.available">\n <if prestate="notavail">\n <set variable="form.available" value="no" />"+[23408]) /usr/local/pike/7.8.409/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("<use file="/inc/bugless.pkg" />\n<use file="/nof/noflib.pkg" />\n\n<set variable="form.maxmatches" value="40" />\n<set variable="var.available" value="&form.available" />\n\n<if variable="form.c1regionc"+[24463]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/PXml.pike:389: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->finish("<use file="/inc/bugless.pkg" />\n<use file="/nof/noflib.pkg" />\n\n<set variable="form.maxmatches" value="40" />\n<set variable="var.available" value="&form.available" />\n\n<if variable="form.c1regionc"+[24463]) /usr/roxen/server-4.5.0/etc/modules/RXML.pmod/module.pmod:5656: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(entreeding.com,rxml_tag_set))->write_end("<use file="/inc/bugless.pkg" />\n<use file="/nof/noflib.pkg" />\n\n<set variable="form.maxmatches" value="40" />\n<set variable="var.available" value="&form.available" />\n\n<if variable="form.c1regionc"+[24463]) modules/tags/rxmlparse.pike:180: RoxenModule(entreeding.com/rxmlparse#0)->handle_file_extension(Stdio.File("/home/entreeding/info/searchresult3.rxml", "r", 666 /* fd=18 */),"rxml",,,0) base_server/configuration.pike:2361: Configuration(entreeding.com)->low_get_file(,,,1) base_server/configuration.pike:2495: Configuration(entreeding.com)->get_file(@10,UNDEFINED,UNDEFINED) base_server/configuration.pike:2470: Configuration(entreeding.com)->handle_request(@10,UNDEFINED) protocols/http.pike:2827: RequestID(/(find,off)/info/searchresult3.rxml?x=&_id_nextpdl=1428&_id_pdlnode=1540&type=&community=0&available=yes&searchdepth=narrow&c1region=0&c2region=0&_search=&_c1startdate=2010-03-29%2007:30:00&_c1enddate=0000-03-29%2016:15:00&_c2startdate=0000-03-29%2007:30:00&_c2enddate=0000-03-29%2016:15:00/Mestpompen&sortorder=description)->handle_request() base_server/roxen.pike:849: roxen()->handler_thread(23)
The length of the C backtrace seems to be mainly because you have 8 levels of catch in the pike code.
"Stephen R. van den Berg" srb@cuci.nl wrote:
And about 30 minutes later we get core4 (this one is odd and interesting, since it has a rather short Pike backtrace):
It isn't different from the others in a significant way, because only the part from do_gc and up matters.
Thank you, they all look the same to me. You don't have to post more.
The dumps all show that the object is in the mark queue afterall. That's both interesting and confusing, because now there are debug checks that don't allow objects without refs to enter it, and checks that catch if an object run out of refs later in the gc. Yet they have no refs when they are taken out of the queue. So either they enter the mark queue in a really strange way, or they run out of refs in a really strange way, or the gc is temporarily disabled.
#6 0x08112791 in debug_gc_fatal_2 (a=0x92985d0, type=3, flags=1, fmt=0x82efc13 "Marked a thing without refs.\n") at /data/src/gpike/src/gc.c:1041 #7 0x081128e9 in real_gc_mark (a=0x92985d0, type=3) at /data/src/gpike/src/gc.c:2519 #8 0x081687ec in gc_mark_object_as_referenced (o=0x92985d0) at /data/src/gpike/src/object.c:2035 #9 0x081c93a3 in run_queue (q=0x837893c) at /data/src/gpike/src/queue.c:48 #10 0x0811468c in do_gc (ignored=0x89f7448, explicit_call=0) at /data/src/gpike/src/gc.c:3545
Could you also in, say, this last coredump check the contents of the object struct? Something like this:
(gdb) fr 8 (gdb) p *o
Thanks.
Martin Stjernholm wrote:
Could you also in, say, this last coredump check the contents of the object struct? Something like this:
(gdb) fr 8 #8 0x081687ec in gc_mark_object_as_referenced (o=0x92985d0) at /data/src/gpike/src/object.c:2035 2035 if(gc_mark(o, T_OBJECT)) { (gdb) p *o $1 = {refs = 0, prog = 0x0, next = 0x9296878, prev = 0x0, program_id = 65596, storage = 0x0} (gdb) p *o->next $2 = {refs = 0, prog = 0x0, next = 0x0, prev = 0x0, program_id = 65596, storage = 0x0} (gdb)
Going back to the first coredump, we get: (gdb) fr 8 #8 0x081687ec in gc_mark_object_as_referenced (o=0xb35dbd40) at /data/src/gpike/src/object.c:2035 2035 if(gc_mark(o, T_OBJECT)) { (gdb) p *o $1 = {refs = 0, prog = 0x0, next = 0xb35dc2e0, prev = 0x0, program_id = 166647, storage = 0x0} (gdb) p *o->next $2 = {refs = 0, prog = 0x0, next = 0xb35dc730, prev = 0x0, program_id = 166648, storage = 0x0} (gdb) p *o->next->next $3 = {refs = 0, prog = 0x0, next = 0xb35dc370, prev = 0x0, program_id = 65540, storage = 0x0} (gdb) p *o->next->next->next $4 = {refs = 0, prog = 0x0, next = 0xb35dbe90, prev = 0x0, program_id = 66573, storage = 0x0} (gdb) p *o->next->next->next->next $5 = {refs = 0, prog = 0x0, next = 0xb35dcc70, prev = 0x0, program_id = 66179, storage = 0x0} (gdb)
"Stephen R. van den Berg" srb@cuci.nl wrote:
Martin Stjernholm wrote:
Could you also in, say, this last coredump check the contents of the object struct? Something like this:
(gdb) fr 8 #8 0x081687ec in gc_mark_object_as_referenced (o=0x92985d0) at /data/src/gpike/src/object.c:2035 2035 if(gc_mark(o, T_OBJECT)) { (gdb) p *o $1 = {refs = 0, prog = 0x0, next = 0x9296878, prev = 0x0, program_id = 65596, storage = 0x0} (gdb) p *o->next $2 = {refs = 0, prog = 0x0, next = 0x0, prev = 0x0, program_id = 65596, storage = 0x0}
/.../
It's interesting that prev so consistently is NULL. I can't figure out how that would happen, but I have a few more ideas for some debug info that could be helpful:
Please use a pike fresh from cvs as I've made a few more tweaks there. I don't really expect them to nail this bug, but rather more conclusively rule out some alternatives.
Compile with the GC_MARK_DEBUG define (it's outcommented in gc.h). It shouldn't affect performance much. When you get a fatal, go to the gc_mark_run_queue frame and print out b->entries[e]. The members in_type, in and place may shed some light on how this thing ended up in the queue. If you have the opportunity to debug in a live process, please try
(gdb) call describe(b->entries[e].in)
before you kill it.
Some other things you could get from a core are backtraces for all threads and the values of first_object, got_unlinked_things, objects_to_destruct and destruct_object_evaluator_callback.
You can also compile with GC_DEBUG (now outcommented in gc.c). That adds a number of consistency checks to the gc and makes it moderately slower, but not the rest of pike.
And as always, if you get something then the gdb info together with the stderr output from the same process is valuable.
Thanks.
Martin Stjernholm wrote:
Please use a pike fresh from cvs as I've made a few more tweaks there. I
Ok, picked up latest version.
Compile with the GC_MARK_DEBUG define (it's outcommented in gc.h). It
Done.
the queue. If you have the opportunity to debug in a live process, please try
(gdb) call describe(b->entries[e].in)
before you kill it.
Hmmm, that will be difficult. I usually get coredumps, but I'll give it a try to see if I can wait for a coredump while still in gdb.
You can also compile with GC_DEBUG (now outcommented in gc.c). That adds
Turned on. Waiting for results.
I haven't looked at the coredumps yet, but the following are the results of the logfiles (at pretty regular and short intervals they produce a coredump, always at the same spot; I've got about 20 coredumps here now, all similar):
/data/src/gpike/src/gc.c:1767: GC fatal: gc_mark_enqueue() called outside GC_ENTER. **Block: 0xb4227740 Type: object Refs: 1 **Program id: 133106 **Object variables: ** (none) **Describing program 0x94843f8 of object: **Program id: 133106, flags: f, parent id: -1 **Location: -:0 **There is no parent (any longer?) ******************* Backtrace at time of fatal: -:1: RoxenModule(entreeding.com/htaccess#0)->__lambda_66587_0_line_174() -:1: __builtin->count_memory(0,({1271132750,({1264587631,mapping[5]}),0,0})) base_server/cache.pike:1787: cache->sizeof_cache_entry(@0=({1271132750,({1264587631,mapping[5]}),0,0})) base_server/cache.pike:2058: cache->cache_clean() base_server/roxen.pike:1244: roxen()->bg_process_queue() base_server/roxen.pike:849: roxen()->handler_thread(2)
/data/src/gpike/src/gc.c:1767: GC fatal: gc_mark_enqueue() called outside GC_ENTER. **Block: 0x95812b8 Type: object Refs: 1 **Program id: 69849 **Object variables: ** (none) **Describing program 0xb40dceb8 of object: **Program id: 69849, flags: f, parent id: -1 **Location: -:0 **There is no parent (any longer?) ******************* Backtrace at time of fatal: -:1: RoxenModule(entreeding.com/htaccess#0)->__lambda_66587_0_line_174() -:1: __builtin->count_memory(0,({1271133162,({1264587631,mapping[5]}),0,0})) base_server/cache.pike:1787: cache->sizeof_cache_entry(@0=({1271133162,({1264587631,mapping[5]}),0,0})) base_server/cache.pike:2058: cache->cache_clean() base_server/roxen.pike:1244: roxen()->bg_process_queue() base_server/roxen.pike:849: roxen()->handler_thread(1)
Always the same backtrace.
"Stephen R. van den Berg" srb@cuci.nl wrote:
/data/src/gpike/src/gc.c:1767: GC fatal: gc_mark_enqueue() called outside GC_ENTER. **Block: 0xb4227740 Type: object Refs: 1
Could be something. Can you post the gdb backtrace, please?
Martin Stjernholm wrote:
"Stephen R. van den Berg" srb@cuci.nl wrote:
/data/src/gpike/src/gc.c:1767: GC fatal: gc_mark_enqueue() called outside GC_ENTER. **Block: 0xb4227740 Type: object Refs: 1
#6 0x08113663 in debug_gc_fatal (a=0xb4227740, flags=0, fmt=0x82f3038 "gc_mark_enqueue() called outside GC_ENTER.\n") at /data/src/gpike/src/gc.c:1034 #7 0x0811474d in gc_mark_enqueue ( call=0x8169560 <gc_mark_object_as_referenced>, data=0xb4227740) at /data/src/gpike/src/gc.c:1767 #8 0x081f0332 in real_gc_mark_svalues (s=0xb44383e8, num=3) at /data/src/gpike/src/svalue.c:2354 #9 0x0818943c in gc_recurse_frame (o=0xb4227650) at /data/src/gpike/src/program.c:9920 #10 gc_recurse_trampoline (o=0xb4227650) at /data/src/gpike/src/program.c:9926 #11 0x081687e8 in visit_object (o=0xb4227650, action=<value optimized out>) at /data/src/gpike/src/object.c:2010 #12 0x0810ea21 in f_count_memory (args=2) at /data/src/gpike/src/gc.c:5532 #13 0x08095ea6 in low_mega_apply (type=APPLY_SVALUE, args=<value optimized out>, arg1=0x8dc4b08, arg2=0x0) at /data/src/gpike/src/apply_low.h:226 #14 0x0809d72f in jump_opcode_F_APPLY (arg1=2) at /data/src/gpike/src/interpret_functions.h:2065 #15 0xb6f422ca in ?? () #16 0x08093d04 in eval_instruction ( pc=0xb6e169df "\213\rp\235\067\b\270!\226\036I\367؉A\034\350\234\350&Q\213\rp\235\067\b\270\f\226\036I\367؉A\034\203A\034\020\307\004$\001") at /data/src/gpike/src/interpret.c:1421 #17 0x0809483f in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #18 0x08094aa8 in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #19 0xb6d5d62d in ?? () #20 0x08093d04 in eval_instruction ( ---Type <return> to continue, or q <return> to quit--- pc=0xb6d5d580 "\213\rp\235\067\b\270\200**I\367؉A\034\307\004$\001") at /data/src/gpike/src/interpret.c:1421 #21 0x080984d8 in mega_apply (type=APPLY_STACK, args=2, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #22 0x0809aa59 in f_call_function (args=2) at /data/src/gpike/src/interpret.c:2266 #23 0x081c97da in new_thread_func (data=0xbfc4bb0c) at /data/src/gpike/src/threads.c:1111 #24 0xb7f6c585 in start_thread (arg=0xb6ae1b70) at pthread_create.c:300 #25 0xb7ebb2be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Stephen R. van den Berg wrote:
/data/src/gpike/src/gc.c:1767: GC fatal: gc_mark_enqueue() called outside GC_ENTER. **Block: 0x95812b8 Type: object Refs: 1 **Program id: 69849 **Object variables:
And the other one:
#6 0x08113663 in debug_gc_fatal (a=0x95812b8, flags=0, fmt=0x82f3038 "gc_mark_enqueue() called outside GC_ENTER.\n") at /data/src/gpike/src/gc.c:1034 #7 0x0811474d in gc_mark_enqueue ( call=0x8169560 <gc_mark_object_as_referenced>, data=0x95812b8) at /data/src/gpike/src/gc.c:1767 #8 0x081f0332 in real_gc_mark_svalues (s=0xb3e0b070, num=3) at /data/src/gpike/src/svalue.c:2354 #9 0x0818943c in gc_recurse_frame (o=0x9581b88) at /data/src/gpike/src/program.c:9920 #10 gc_recurse_trampoline (o=0x9581b88) at /data/src/gpike/src/program.c:9926 #11 0x081687e8 in visit_object (o=0x9581b88, action=<value optimized out>) at /data/src/gpike/src/object.c:2010 #12 0x0810ea21 in f_count_memory (args=2) at /data/src/gpike/src/gc.c:5532 #13 0x08095ea6 in low_mega_apply (type=APPLY_SVALUE, args=<value optimized out>, arg1=0x8d21058, arg2=0x0) at /data/src/gpike/src/apply_low.h:226 #14 0x0809d72f in jump_opcode_F_APPLY (arg1=2) at /data/src/gpike/src/interpret_functions.h:2065 #15 0xb6e262ca in ?? () #16 0x08093d04 in eval_instruction ( pc=0xb6cfa9df "\213\rp\235\067\b\270!V0I\367؉A\034蜨8Q\213\rp\235\067\b\270\fV0I\367؉A\034\203A\034\020\307\004$\001") at /data/src/gpike/src/interpret.c:1421 #17 0x0809483f in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #18 0x08094aa8 in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #19 0xb6c4162d in ?? () #20 0x08093d04 in eval_instruction ( ---Type <return> to continue, or q <return> to quit--- pc=0xb6c41580 "\213\rp\235\067\b\270\200\352;I\367؉A\034\307\004$\001") at /data/src/gpike/src/interpret.c:1421 #21 0x080984d8 in mega_apply (type=APPLY_STACK, args=2, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #22 0x0809aa59 in f_call_function (args=2) at /data/src/gpike/src/interpret.c:2266 #23 0x081c97da in new_thread_func (data=0xbfb1e9dc) at /data/src/gpike/src/threads.c:1111 #24 0xb7e3d585 in start_thread (arg=0xb6980b70) at pthread_create.c:300 #25 0xb7d8c2be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Stephen R. van den Berg wrote:
Stephen R. van den Berg wrote:
/data/src/gpike/src/gc.c:1767: GC fatal: gc_mark_enqueue() called outside GC_ENTER. **Block: 0x95812b8 Type: object Refs: 1 **Program id: 69849 **Object variables:
And the other one:
#6 0x08113663 in debug_gc_fatal (a=0x95812b8, flags=0, fmt=0x82f3038 "gc_mark_enqueue() called outside GC_ENTER.\n") at /data/src/gpike/src/gc.c:1034
Erm, I don't want to push anyone or so, but... for the past three days, I have a production server which dies (then restarts) with an abort every 2 to 15 minutes (which is roughly the time it takes for it to encounter the problem with the added debug code).
Could you please put this a bit higher on the priority list, since I'd have to revert to an older version of the code otherwise?
"Stephen R. van den Berg" srb@cuci.nl wrote:
Could you please put this a bit higher on the priority list, since I'd have to revert to an older version of the code otherwise?
Oh, I thought you already reverted it after catching those errors, considering it is a production system.
The debug shows a real problem, but I haven't worked out a fix yet. Just in case I need to see something more, please keep a core dump and the binary around (for gdb use).
Martin Stjernholm wrote:
"Stephen R. van den Berg" srb@cuci.nl wrote:
Could you please put this a bit higher on the priority list, since I'd have to revert to an older version of the code otherwise?
Oh, I thought you already reverted it after catching those errors, considering it is a production system.
The coredump archiving scripts are so efficient that the users tend not to notice, which is why I can (up to a certain limit) keep it in production this way.
The debug shows a real problem, but I haven't worked out a fix yet. Just in case I need to see something more, please keep a core dump and the binary around (for gdb use).
Ok, I'll keep two, for reference. It just means that I need to compile from a different tree (which I wanted to avoid), since keeping the binaries, but not the accompanying sources tends to make gdb navigation unusable.
"Stephen R. van den Berg" srb@cuci.nl wrote:
It just means that I need to compile from a different tree (which I wanted to avoid), since keeping the binaries, but not the accompanying sources tends to make gdb navigation unusable.
I usually don't bother - backtraces are still fairly sane, and you can still inspect data without problems. It's only line numbers and source listings that can be a little bit off.
Anyway, I've got good news. I've fixed the bug that GC_MARK_DEBUG caught, and I'm fairly certain that fixes the real issue too. Can you please check that by first updating gc.c only, so that you get the new assertions I've added there? If you get a fatal in the assertion at gc.c:3560 then you're hit by the bug I've found. Update gc.h and it should be gone.
The problem was that the gc_recurse callbacks used from Pike.count_memory didn't choose the correct code path in some cases, going into the gc mark code instead and thereby producing garbage in the gc mark queue. That garbage could then make the gc misbehave, but only in some rare circumstances to the extent that it crashes. In most cases I suspect the effect was that it just missed a little bit of garbage, nothing else.
So even though the error really was pretty big, it had very rarely any observable effect. Very insidious.
(Another effect of the bug was that Pike.count_memory missed some things and returned a little bit too low count.)
Martin Stjernholm wrote:
"Stephen R. van den Berg" srb@cuci.nl wrote:
It just means that I need to compile from a different tree (which I wanted to avoid), since keeping the binaries, but not the accompanying sources tends to make gdb navigation unusable.
I usually don't bother - backtraces are still fairly sane, and you can still inspect data without problems. It's only line numbers and source listings that can be a little bit off.
Yes, but if that happens in (for me) unfamiliar sections of the code, it gets kind of messy if I cannot use "list" to find my way around at frame levels (it then sort of feels like in nethack, when you drank a potion of confusion).
So even though the error really was pretty big, it had very rarely any observable effect. Very insidious.
Just my luck then :-).
(Another effect of the bug was that Pike.count_memory missed some things and returned a little bit too low count.)
We'll see. I have another pretty big bug lined up, I'm hoping that through some magic this might fix the other one too. But judging from the description it doesn't seem likely. More on that later.
Martin Stjernholm wrote:
caught, and I'm fairly certain that fixes the real issue too. Can you please check that by first updating gc.c only, so that you get the new assertions I've added there? If you get a fatal in the assertion at gc.c:3560 then you're hit by the bug I've found. Update gc.h and it should be gone.
Looking good. Got this: roxen: /data/src/gpike/src/gc.c:3560: do_gc: Assertion `!gc_mark_queue.first' failed.
So I'm upgrading to bleeding edge with fix now. If this message-thread stops here, then it was the correct fix.
Stephen R. van den Berg wrote:
So I'm upgrading to bleeding edge with fix now. If this message-thread stops here, then it was the correct fix.
Alas... The story continues, but now in a different spot:
#3 0xb7cd2ace in *__GI___assert_fail ( assertion=0x82f1303 "!gc_mark_queue.first", file=0x82f05d4 "/data/src/gpike/src/gc.c", line=3560, function=0x82f3dea "do_gc") at assert.c:78 #4 0x08116246 in do_gc (ignored=0x91cd618, explicit_call=0) at /data/src/gpike/src/gc.c:3560 #5 0x080e1320 in low_call_callback (lst=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece. ) at /data/src/gpike/src/callback.c:168 #6 0x08080159 in call_check_threads_etc () at /data/src/gpike/src/interpret.c:1137 #7 0xb6e9904d in ?? () #8 0x08093c94 in eval_instruction ( pc=0xb6cec9bf "\213\rp\235\067\b\270A61I\367؉A\034\350L\210\071Q\213\rp\235\067\b\270,61I\367؉A\034\203A\034\020\307\004$\001") at /data/src/gpike/src/interpret.c:1421 #9 0x080947cf in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #10 0x08094a38 in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #11 0xb6c3362d in ?? () ---Type <return> to continue, or q <return> to quit--- #12 0x08093c94 in eval_instruction ( pc=0xb6c33580 "\213\rp\235\067\b\270\200\312<I\367؉A\034\307\004$\001") at /data/src/gpike/src/interpret.c:1421 #13 0x08098468 in mega_apply (type=APPLY_STACK, args=2, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #14 0x0809a9e9 in f_call_function (args=2) at /data/src/gpike/src/interpret.c:2266 #15 0x081c966a in new_thread_func (data=0xbf90dfcc) at /data/src/gpike/src/threads.c:1111 #16 0xb7e2f585 in start_thread (arg=0xb6972b70) at pthread_create.c:300 #17 0xb7d7e2be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Some others:
#3 0xb7cebace in *__GI___assert_fail ( assertion=0x82f1303 "!gc_mark_queue.first", file=0x82f05d4 "/data/src/gpike/src/gc.c", line=3560, function=0x82f3dea "do_gc") at assert.c:78 #4 0x08116246 in do_gc (ignored=0x9cf61f8, explicit_call=0) at /data/src/gpike/src/gc.c:3560 #5 0x080e1320 in low_call_callback (lst=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece. ) at /data/src/gpike/src/callback.c:168 #6 0x08096491 in low_mega_apply (type=APPLY_LOW, args=1, arg1=0xa51ba68, arg2=0x5f) at /data/src/gpike/src/apply_low.h:296 #7 0x0809dffa in jump_opcode_F_CALL_LFUN_AND_POP (arg1=95) at /data/src/gpike/src/interpret_functions.h:2061 #8 0xb6cb8f14 in ?? () #9 0x08093c94 in eval_instruction (pc=0xb6f23a11 "\307D$\004\005") at /data/src/gpike/src/interpret.c:1421 #10 0x080947cf in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #11 0x08094a38 in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #12 0xb6f23a0b in ?? () ---Type <return> to continue, or q <return> to quit--- #13 0x08093c94 in eval_instruction ( pc=0xb6f23291 "\213\rp\235\067\b\270o\315\rI\367؉A\034\307\004$\023") at /data/src/gpike/src/interpret.c:1421 #14 0x08098468 in mega_apply (type=APPLY_STACK, args=4, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #15 0x0809a9e9 in f_call_function (args=4) at /data/src/gpike/src/interpret.c:2266 #16 0xb742a662 in container_callback (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:2755 #17 do_try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3252 #18 try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3771 #19 0xb742be36 in html_finish (args=1) at /data/src/gpike/src/modules/Parser/html.c:3966 #20 0x08095e36 in low_mega_apply (type=APPLY_LOW, args=<value optimized out>, arg1=0xa51a898, arg2=0x7f) at /data/src/gpike/src/apply_low.h:226 #21 0x0809dffa in jump_opcode_F_CALL_LFUN_AND_POP (arg1=127) at /data/src/gpike/src/interpret_functions.h:2061 #22 0xb6cb8584 in ?? () #23 0x08093c94 in eval_instruction (pc=0xb6f23a11 "\307D$\004\005") at /data/src/gpike/src/interpret.c:1421 #24 0x080947cf in catching_eval_instruction (pc=<value optimized out>) ---Type <return> to continue, or q <return> to quit--- at /data/src/gpike/src/interpret.c:2245 #25 0x08094a38 in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #26 0xb6f23a0b in ?? () #27 0x08093c94 in eval_instruction ( pc=0xb6f23291 "\213\rp\235\067\b\270o\315\rI\367؉A\034\307\004$\023") at /data/src/gpike/src/interpret.c:1421 #28 0x08098468 in mega_apply (type=APPLY_STACK, args=4, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #29 0x0809a9e9 in f_call_function (args=4) at /data/src/gpike/src/interpret.c:2266 #30 0xb742a662 in container_callback (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:2755 #31 do_try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3252 #32 try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3771 #33 0xb742be36 in html_finish (args=1) at /data/src/gpike/src/modules/Parser/html.c:3966 #34 0x08095e36 in low_mega_apply (type=APPLY_LOW, args=<value optimized out>, arg1=0xa51a2c8, arg2=0x7f) at /data/src/gpike/src/apply_low.h:226 #35 0x0809dffa in jump_opcode_F_CALL_LFUN_AND_POP (arg1=127) at /data/src/gpike/src/interpret_functions.h:2061 ---Type <return> to continue, or q <return> to quit--- #36 0xb6cb8584 in ?? () #37 0x08093c94 in eval_instruction (pc=0xb6f23a11 "\307D$\004\005") at /data/src/gpike/src/interpret.c:1421 #38 0x080947cf in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #39 0x08094a38 in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #40 0xb6f23a0b in ?? () #41 0x08093c94 in eval_instruction ( pc=0xb6f23291 "\213\rp\235\067\b\270o\315\rI\367؉A\034\307\004$\023") at /data/src/gpike/src/interpret.c:1421 #42 0x08098468 in mega_apply (type=APPLY_STACK, args=4, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #43 0x0809a9e9 in f_call_function (args=4) at /data/src/gpike/src/interpret.c:2266 #44 0xb742a662 in container_callback (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:2755 #45 do_try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3252 #46 try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3771 #47 0xb742be36 in html_finish (args=1) at /data/src/gpike/src/modules/Parser/html.c:3966 ---Type <return> to continue, or q <return> to quit--- #48 0x08095e36 in low_mega_apply (type=APPLY_LOW, args=<value optimized out>, arg1=0xa51b030, arg2=0x7f) at /data/src/gpike/src/apply_low.h:226 #49 0x0809dffa in jump_opcode_F_CALL_LFUN_AND_POP (arg1=127) at /data/src/gpike/src/interpret_functions.h:2061 #50 0xb6cb8584 in ?? () #51 0x08093c94 in eval_instruction (pc=0xb6f23a11 "\307D$\004\005") at /data/src/gpike/src/interpret.c:1421 #52 0x080947cf in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #53 0x08094a38 in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #54 0xb6f23a0b in ?? () #55 0x08093c94 in eval_instruction ( pc=0xb6f23291 "\213\rp\235\067\b\270o\315\rI\367؉A\034\307\004$\023") at /data/src/gpike/src/interpret.c:1421 #56 0x08098468 in mega_apply (type=APPLY_STACK, args=4, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #57 0x0809a9e9 in f_call_function (args=4) at /data/src/gpike/src/interpret.c:2266 #58 0xb742a662 in container_callback (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:2755 #59 do_try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3252 ---Type <return> to continue, or q <return> to quit--- #60 try_feed (finished=<value optimized out>) at /data/src/gpike/src/modules/Parser/html.c:3771 #61 0xb742be36 in html_finish (args=1) at /data/src/gpike/src/modules/Parser/html.c:3966 #62 0x08095e36 in low_mega_apply (type=APPLY_LOW, args=<value optimized out>, arg1=0xa51ba50, arg2=0x7f) at /data/src/gpike/src/apply_low.h:226 #63 0x0809dffa in jump_opcode_F_CALL_LFUN_AND_POP (arg1=127) at /data/src/gpike/src/interpret_functions.h:2061 #64 0xb6cb8584 in ?? () #65 0x08093c94 in eval_instruction ( pc=0xb6d059bf "\213\rp\235\067\b\270A\246/I\367؉A\034\350L\370\067Q\213\rp\235\067\b\270,\246/I\367؉A\034\203A\034\020\307\004$\001") at /data/src/gpike/src/interpret.c:1421 #66 0x080947cf in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #67 0x08094a38 in jump_opcode_F_CATCH () at /data/src/gpike/src/interpret_functions.h:1287 #68 0xb6c4c62d in ?? () #69 0x08093c94 in eval_instruction ( pc=0xb6c4c580 "\213\rp\235\067\b\270\200:;I\367؉A\034\307\004$\001") at /data/src/gpike/src/interpret.c:1421 #70 0x08098468 in mega_apply (type=APPLY_STACK, args=2, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 ---Type <return> to continue, or q <return> to quit--- #71 0x0809a9e9 in f_call_function (args=2) at /data/src/gpike/src/interpret.c:2266 #72 0x081c966a in new_thread_func (data=0xbfb291ec) at /data/src/gpike/src/threads.c:1111 #73 0xb7e48585 in start_thread (arg=0xb5199b70) at pthread_create.c:300 #74 0xb7d972be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
And another one:
#3 0xb7de8ace in *__GI___assert_fail ( assertion=0x82f1303 "!gc_mark_queue.first", file=0x82f05d4 "/data/src/gpike/src/gc.c", line=3560, function=0x82f3dea "do_gc") at assert.c:78 #4 0x08116246 in do_gc (ignored=0xa383678, explicit_call=0) at /data/src/gpike/src/gc.c:3560 #5 0x080e1320 in low_call_callback (lst=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece. ) at /data/src/gpike/src/callback.c:168 #6 0x08096491 in low_mega_apply (type=APPLY_LOW, args=1, arg1=0xa84d388, arg2=0x101) at /data/src/gpike/src/apply_low.h:296 #7 0x0809e2a9 in jump_opcode_F_CALL_LFUN (arg1=257) at /data/src/gpike/src/interpret_functions.h:2061 #8 0xb6be2138 in ?? () #9 0x08093c94 in eval_instruction ( pc=0xb6e029bf "\213\rp\235\067\b\270A\326\037I\367؉A\034\350L((Q\213\rp\235\067\b\270,\326\037I\367؉A\034\203A\034\020\307\004$\001") at /data/src/gpike/src/interpret.c:1421 #10 0x080947cf in catching_eval_instruction (pc=<value optimized out>) at /data/src/gpike/src/interpret.c:2245 #11 0x08094a38 in jump_opcode_F_CATCH () ---Type <return> to continue, or q <return> to quit--- at /data/src/gpike/src/interpret_functions.h:1287 #12 0xb6d4962d in ?? () #13 0x08093c94 in eval_instruction ( pc=0xb6d49580 "\213\rp\235\067\b\270\200j+I\367؉A\034\307\004$\001") at /data/src/gpike/src/interpret.c:1421 #14 0x08098468 in mega_apply (type=APPLY_STACK, args=2, arg1=0x0, arg2=0x0) at /data/src/gpike/src/interpret.c:2213 #15 0x0809a9e9 in f_call_function (args=2) at /data/src/gpike/src/interpret.c:2266 #16 0x081c966a in new_thread_func (data=0xbff24dec) at /data/src/gpike/src/threads.c:1111 #17 0xb7f45585 in start_thread (arg=0xb6a88b70) at pthread_create.c:300 #18 0xb7e942be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
The last three shown dumps are *with* the latest fixes applied.
"Stephen R. van den Berg" srb@cuci.nl wrote:
Some others:
#3 0xb7cebace in *__GI___assert_fail ( assertion=0x82f1303 "!gc_mark_queue.first",
Ok, let's take a couple more steps from the mark queue garbage angle then. I've added a few more checks now which hopefully nails that bug at the source. It doesn't need GC_MARK_DEBUG, but if you can, please define that anyway since it might improve the debug info a little.
I think one hit is enough if you get it at one of the new checks. Then please feel free to back it out if it blows up all over..
Martin Stjernholm wrote:
"Stephen R. van den Berg" srb@cuci.nl wrote:
Some others:
#3 0xb7cebace in *__GI___assert_fail ( assertion=0x82f1303 "!gc_mark_queue.first",
Ok, let's take a couple more steps from the mark queue garbage angle then. I've added a few more checks now which hopefully nails that bug at the source. It doesn't need GC_MARK_DEBUG, but if you can, please define that anyway since it might improve the debug info a little.
It seems like I spoke too soon. I doublechecked previously, but apparently confused binaries. The server has been running with the latest, without problems for a day or so, and I've downgraded to the version with just the fix which I thought was still crashing, and it doesn't crash anymore (about this). So it seems like it is solved after all.
Sorry for the confusion.
"Stephen R. van den Berg" srb@cuci.nl wrote:
/.../
So it seems like it is solved after all.
Sorry for the confusion.
No problem, I'm just glad it's sorted out at last. I've now closed [bug 5072] as well.
pike-devel@lists.lysator.liu.se