cancel
Showing results for 
Search instead for 
Did you mean: 

CIFS Crash?

prototribe
Champ in-the-making
Champ in-the-making
Hello, i've been having issues with my Alfresco installation and was looking for some help.

I am using the 1.4 community release of Alfresco with the bundled java on centos 4.4 and today encountered a full crash of the jvm. Here is a snippet of the crash log:


#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  SIGSEGV (0xb) at pc=0xb20b8ecd, pid=3688, tid=2061646768
#
# Java VM: Java HotSpot(TM) Server VM (1.5.0_08-b03 mixed mode)
# Problematic frame:
# J  java.util.HashMap$ValueIterator.next()Ljava/lang/Object;
#

—————  T H R E A D  —————

Current thread (0x0851c950):  JavaThread "Sess_T19_192.168.0.103" daemon [_thread_in_Java, id=8461]

siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x00005510

Registers:
EAX=0xad784f38, EBX=0x00000007, ECX=0x7f940c20, EDX=0x00005500
ESP=0x7ae22458, EBP=0xae0c5130, ESI=0xaecda5a0, EDI=0x00000004
EIP=0xb20b8ecd, CR2=0x00005510, EFLAGS=0x00010246

Top of Stack: (sp=0x7ae22458)
0x7ae22458:   8338fc00 b199c7f0 8338f7c8 aecda5a0
0x7ae22468:   ae0c5130 00000004 ad5cb5f0 b1ec7270
0x7ae22478:   7f940bd4 7f9405dc 00000003 7f940520
0x7ae22488:   7f940be0 8339f500 0851c950 7f940520
0x7ae22498:   7f9406d8 7f9404a8 8339f500 8338a758
0x7ae224a8:   7f940c20 00000003 7f940538 7f940bd4
0x7ae224b8:   00000026 7f940370 b7aeb55e b21a7ca4
0x7ae224c8:   afdc8078 00000000 7f93e9f8 7f940300

Instructions: (pc=0xb20b8ecd)
0xb20b8ebd:   53 24 8b 59 14 3b d3 0f 85 d7 00 00 00 8b 51 08
0xb20b8ecd:   8b 5a 10 89 74 24 0c 89 6c 24 10 89 7c 24 14 8b

Stack: [0x7ada3000,0x7ae24000),  sp=0x7ae22458,  free space=509k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
J  java.util.HashMap$ValueIterator.next()Ljava/lang/Object;


We haven't been able to find anything about it on these forums or on the internet. It doesn't look related to the other posts about jvm crashes. Does anyone know what this might be related to?

Thanks.

If i'm posting in the wrong area, i apologize.
5 REPLIES 5

prototribe
Champ in-the-making
Champ in-the-making
I've determined a bit more about the problem.

1. A power outage messed with the raid array (no bbu on the raid controller) corrupting several aspects of the filesystem, including the mysql based alfresco tables and possibly some of the files in the /opt/alfresco14 tree.
2. A restore from backup of just mysql does not correct the situation 100%, what we are left with is this error in apparently random locations of our repository.
org.alfresco.service.cmr.repository.InvalidNodeRefException: Node does not exist: workspace://SpacesStore/b256d59f-b6e6-11db-b7c4-b9ae3a6fb0f5
This occurs when accessing via CIFS. Accessing via web appears to work fine and provides the results expected. Accessing via ftp doesn't throw and exception, but provides an empty folder in the problem locations.
3. Deleting of the problem folder via the web works fine, however purging the problem folder via the web throws the InvalidNodeRefException.

My questions now are:
1. Are there any utilities to recover from this problem? Effectively something that eliminates bad db data (invalid nodes) based on what the files that are available.
2. Are there any other options or utilities that may help in recovering from this issue other than a restore from backup of both the /opt/alfresco14 tree and the mysql database? (something I am not looking forward to)

Thanks for any help that can be provided.

kevinr
Star Contributor
Star Contributor
You could try rebuilding the indexes - if there is a node in the Lucene indexes that is no longer present on the system then this could cause a problem. Rebuilding the indexes is easy. In your alfresco/extension/custom-db-connection.properties add these lines and restart the server:

# The index recovery mode (NONE, VALIDATE, AUTO, FULL)
index.recovery.mode=FULL

http://wiki.alfresco.com/wiki/Repository_Configuration

Then leave the server to do it's thing (CPU usage will be seen! Smiley Happy and once it's done hopefully the problem will be solved.

Hope this helps,

Kevin

prototribe
Champ in-the-making
Champ in-the-making
Thanks for the suggestion. I will definitely try that if I encounter the problems again. I ended up restoring from backup…another sleepless night.

prototribe
Champ in-the-making
Champ in-the-making
Well, replaced the CPU tonight after another hard crash with fs and database corruption (love journaling db and filesystem), and ran the recovery suggested by kevinr. It did the trick. Saved me from the tape backups.

Is the "index.recovery.mode=FULL" sort of the magic bullet solution?

This next question is going beyond the inital problem, but my issues got me thinking (and nervous). Is there a way to bootstrap an alfresco instance from only the data contained in "alf_data". This would mean no usable database info at all.

If the answer is yes (even partial). What would and wouldn't get recovered?

Thanks,

Mark

edgar
Champ in-the-making
Champ in-the-making
Hi Kevin,

I suffer from "Node does not exist" errors quite frequently. It sometimes happens when I try to edit an existing .xml component.

I run Alfresco WCM 2.0.0 Community on Windows XP with the default HSQL database.

In your alfresco/extension/custom-db-connection.properties add these lines and restart the server:

# The index recovery mode (NONE, VALIDATE, AUTO, FULL)
index.recovery.mode=FULL

When I try this Alfresco does not start up but gives me the error:


18:17:34,798 ERROR [web.context.ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'configurationChecker' defined in
class path resource [alfresco/bootstrap-context.xml]: Error setting property values; nested exception is org.springfram
ework.beans.PropertyAccessExceptionsException: PropertyAccessExceptionsException (1 errors); nested propertyAccessExcept
ions are: [org.springframework.beans.MethodInvocationException: Property 'indexRecoveryMode' threw exception; nested exc
eption is java.lang.IllegalArgumentException: No enum const class org.alfresco.repo.node.index.FullIndexRecoveryComponen
t$RecoveryMode.FULL ]

Any ideas?

cheers,

Edgar